91 lines
4.2 KiB
Markdown
91 lines
4.2 KiB
Markdown
# 快手多账号自动回复管理系统
|
||
|
||
基于你的需求,我们将采用 **Python作为后端引擎**,**Vue3 + Ant Design Vue (AntDV) 作为前端管理控制台**。这是一个典型的全栈分离架构,能够兼顾底层自动化的稳定性与上层管理的易用性。
|
||
|
||
## User Review Required
|
||
|
||
> [!IMPORTANT]
|
||
> **架构确认**
|
||
> 我计划使用 **FastAPI** 作为 Python 后端框架,因为它原生支持异步(`asyncio`),能完美兼容 **Playwright**(我们的核心自动化工具)。前端采用 **Vite + Vue3 + Ant Design Vue** 进行极速构建。数据库前期推荐使用轻量级的 **SQLite**,方便快速开发和部署。请确认此技术栈是否符合你的预期。
|
||
|
||
## Open Questions
|
||
|
||
> [!WARNING]
|
||
> **需要你补充的信息**
|
||
> 1. **项目路径**:我们是在当前微信机器人相同的目录下建立子目录,还是创建一个全新的项目文件夹(例如 `d:\web\age\kuaishou_rpa`)?
|
||
> 2. **目标平台**:针对快手,你平时是在哪个网页端收发私信的?是 [快手网页版直播后台] 还是 [快手创作者服务平台]?我们需要针对具体的网页端编写 RPA 脚本。
|
||
|
||
## 整体架构设计 (Architecture)
|
||
|
||
```mermaid
|
||
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
|
||
```
|
||
|
||
### 核心模块划分
|
||
|
||
1. **Frontend (管理后台)**
|
||
* **账号管理模块**:扫码/密码登录,查看各个快手账号的在线状态。
|
||
* **自动回复规则配置**:设置关键词触发、全局兜底回复、接入大模型 AI 回复(可复用你现有的 `ai_config`)。
|
||
* **运行日志与数据面板**:实时查看收发的消息记录和系统报错。
|
||
|
||
2. **Backend (API 与控制中心)**
|
||
* 对外提供前端所需的增删改查接口(RESTful API)。
|
||
* 提供 WebSocket 推送,将底层的实时日志推送到前端 UI。
|
||
* 管理数据库连接。
|
||
|
||
3. **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
|
||
1. **启动前端**:检查 AntDV 界面是否渲染正常。
|
||
2. **启动后端**:检查 FastAPI 文档页 (`/docs`) 是否可用。
|
||
3. **流程测试**:在前端点击“添加账号”,观察后端是否能成功调起浏览器,展现快手登录二维码,扫码后是否能正确保存状态并在前端标记为“在线”。
|
||
4. **消息测试**:用其他号给托管账号发私信,观察系统是否能自动捕获并按照配置规则发送回复。
|