# 快手多账号自动回复管理系统 基于你的需求,我们将采用 **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. **消息测试**:用其他号给托管账号发私信,观察系统是否能自动捕获并按照配置规则发送回复。