Files
douyin/implementation_plan.md
T
2026-07-17 09:24:47 +08:00

91 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 快手多账号自动回复管理系统
基于你的需求,我们将采用 **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. **消息测试**:用其他号给托管账号发私信,观察系统是否能自动捕获并按照配置规则发送回复。