4.2 KiB
4.2 KiB
快手多账号自动回复管理系统
基于你的需求,我们将采用 Python作为后端引擎,Vue3 + Ant Design Vue (AntDV) 作为前端管理控制台。这是一个典型的全栈分离架构,能够兼顾底层自动化的稳定性与上层管理的易用性。
User Review Required
Important
架构确认 我计划使用 FastAPI 作为 Python 后端框架,因为它原生支持异步(
asyncio),能完美兼容 Playwright(我们的核心自动化工具)。前端采用 Vite + Vue3 + Ant Design Vue 进行极速构建。数据库前期推荐使用轻量级的 SQLite,方便快速开发和部署。请确认此技术栈是否符合你的预期。
Open Questions
Warning
需要你补充的信息
- 项目路径:我们是在当前微信机器人相同的目录下建立子目录,还是创建一个全新的项目文件夹(例如
d:\web\age\kuaishou_rpa)?- 目标平台:针对快手,你平时是在哪个网页端收发私信的?是 [快手网页版直播后台] 还是 [快手创作者服务平台]?我们需要针对具体的网页端编写 RPA 脚本。
整体架构设计 (Architecture)
graph TD
A[前端管理台 Vue3 + AntDV] <-->|REST API / WebSocket| B(Python 后端 FastAPI)
B <-->|ORM| C[(SQLite/MySQL 数据库)]
B -->|Async 控制| D[Playwright 自动化引擎]
subgraph Playwright 引擎
D --> E[浏览器 Context 1: 账号A]
D --> F[浏览器 Context 2: 账号B]
D --> G[浏览器 Context N: 账号N]
end
E <--> H[快手网页端]
F <--> H
G <--> H
核心模块划分
-
Frontend (管理后台)
- 账号管理模块:扫码/密码登录,查看各个快手账号的在线状态。
- 自动回复规则配置:设置关键词触发、全局兜底回复、接入大模型 AI 回复(可复用你现有的
ai_config)。 - 运行日志与数据面板:实时查看收发的消息记录和系统报错。
-
Backend (API 与控制中心)
- 对外提供前端所需的增删改查接口(RESTful API)。
- 提供 WebSocket 推送,将底层的实时日志推送到前端 UI。
- 管理数据库连接。
-
RPA Worker (自动化工人)
- 基于
playwright-python。 - 通过独立的 Browser Context 管理多个账号的持久化状态(保存 Cookie 等,避免每次扫码)。
- 循环检测或监听网页上的新消息 DOM 节点,触发回复逻辑。
- 基于
Proposed Changes
第一阶段:项目脚手架搭建
初始化项目目录结构,分离前后端代码。
[NEW] backend/
Python 后端目录。
main.py: FastAPI 入口文件。rpa_engine/: 存放 Playwright 的核心自动化脚本。models/: 数据库模型(账号表、规则表)。requirements.txt: Python 依赖清单(fastapi, uvicorn, playwright, sqlalchemy等)。
[NEW] frontend/
Vue3 + AntDV 前端目录。
- 通过
npm create vite@latest初始化。 - 安装并配置
ant-design-vue及其图标库。 - 搭建基础布局(侧边栏、顶部导航)。
第二阶段:核心自动化能力研发 (RPA Engine)
- 编写 Playwright 脚本,实现无头浏览器启动、单个账号扫码登录、登录状态持久化。
- 分析快手私信页面的 DOM 结构,编写抓取新消息和自动输入发送消息的交互脚本。
第三阶段:前后端联调与管理功能完善
- 打通前端与后端的 API 交互。
- 在前端界面上实现添加快手账号、启动/停止托管账号的功能。
- 在前端配置自动回复规则,存入数据库并同步至 RPA 引擎。
Verification Plan
Manual Verification
- 启动前端:检查 AntDV 界面是否渲染正常。
- 启动后端:检查 FastAPI 文档页 (
/docs) 是否可用。 - 流程测试:在前端点击“添加账号”,观察后端是否能成功调起浏览器,展现快手登录二维码,扫码后是否能正确保存状态并在前端标记为“在线”。
- 消息测试:用其他号给托管账号发私信,观察系统是否能自动捕获并按照配置规则发送回复。