# AgentsMeeting — 产品需求文档 (PRD) > 版本: v0.2 | 精简: 2026-07-16 | 客户: hmo (老莫) --- ## 一、项目背景 老莫运营一套多 Agent 协作系统,涵盖 XMPP 消息通道、AI Gateway、会话管理、记忆系统、Provider 调用链、Web Dashboard 等模块。 **立项目标**:将现有系统按软件工程规范进行文档化、模块化整理,查漏补缺,不推倒重来。最终产出标准化的源码包、部署脚本和运维文档,可稳定部署到服务器并支持客户端对接。 --- ## 二、系统概览 | 层 | 组件 | 说明 | |----|------|------| | **消息通道** | XMPP (ejabberd + bot)、微信 (wechat_agent)、QQ (规划中) | 多渠道统一接入 | | **Gateway** | Hermes API Server (:8642~8646),各 profile 独立 | 消息路由、会话、Provider 调用 | | **会话管理** | SQLite state.db,硬截断 200 条 | 各 profile 独立文件 | | **记忆系统** | SOUL.md + MEMORY.md + USER.md | 系统提示 + 长期记忆 + 用户画像 | | **Provider** | volcengine / ocg / omlx,多 key 轮询/fallback | 多供应商 LLM 调用 | | **辅助系统** | cron 调度 (14 jobs)、MoFin 股票、MCP 服务、Skills 系统 | 扩展功能 | | **基础设施** | Linux 246 (主阵地)、Windows 16 (桥接)、阿里云中转 | | | **管理门户** | Dashboard (:5803) | 监控 + 测试 + 规范 + 健康 | --- ## 三、总体性需求(双轨体系未覆盖部分) 以下需求不适合放入模块级 `specs/*.json`,属于跨模块/架构层级的约束: ### 3.1 架构约束 1. **一条消息只经过一个 Session** — 通道级隔离,不跨 profile 共享上下文 2. **数据流路径可追溯** — 消息来源 → Gateway → Session → LLM → 回复 → 目标通道,每一步可日志追踪 3. **SOUL.md 是行为最高准则** — MEMORY 不应包含与 SOUL 冲突的规则 4. **配置即代码** — 所有配置纳入版本管理,禁止手动改线上文件 5. **不推倒重来** — 以现有代码为基础,只做文档化和查漏补缺 ### 3.2 可用性要求 1. **所有进程必须支持健康检查 + 自动重启** — systemd / 看门狗守护 2. **Gateway 异常退出后 30s 内自动拉起** — 系统级恢复,不依赖人工 3. **XMPP bot 断线自动重连** — 应用层心跳 + systemd 兜底重启 4. **微信通道崩了不影响其他通道** — 通道级故障隔离 ### 3.3 安全约束 1. **敏感信息不得入 git** — API Key、Cookie、密码仅存环境变量或 `.gitignore` 文件 2. **Dashboard 管理接口需鉴权** — 涉部署操作(启停服务)须 Bearer token 3. **记忆系统不持久化敏感对话** — LLM 产出的敏感内容不应写入长期记忆 ### 3.4 性能基准 1. **消息端到端延迟 < 30s**(含 LLM 推理)— 超过 60s 视为异常 2. **Session 上下文上限 200 条 / 12k tokens** — 硬截断防膨胀 3. **Dashboard 页面加载 < 3s** — 所有 API 聚合到 `/api/health-overview` --- ## 四、需求分布说明 绝大多数具体需求(功能细节、API 定义、UI 交互、模块边界)**不在本文档描述**,而是通过双轨同源体系记录: ``` 每个功能模块 → specs/{module}.json ├── human_help(? 按钮 → 人类看说明/排错) └── ai_spec(§ 按钮 → AI 看接口/约束/测试) ``` 当前已用双轨覆盖的模块:`usage_monitor`、`easytier`、`rdp`。 新增模块必须走此流程。 --- *PRD v0.2 — 精简版,仅保留双轨体系覆盖不到的架构级需求*