feat: add master-agent prompts and memory management

This commit is contained in:
kris
2026-04-01 04:10:11 +08:00
parent 9000a9f185
commit d316f0490e
31 changed files with 4398 additions and 32 deletions

View File

@@ -151,6 +151,7 @@
- `项目目标` 支持用户编辑、主 Agent 复核、完成项自动划线
- `版本迭代记录` 只读,由主 Agent 汇总
- `我的` 根页当前保留 `账号与安全 / 设置 / 运维与修复 / AI 账号 / 技能 / 关于`
- `我的 > 主 Agent 提示词 / 记忆` 当前可编辑管理员全局主提示词、用户主提示词、当前对话附加提示词,以及用户通用记忆 / 项目记忆
- `我的 > AI 账号` 必须可查看和切换 `主 GPT / 备用 GPT / API 容灾`
- `我的 > 技能` 必须按绑定设备展示 Skill并支持一键复制调用语句
- `设备` 页当前只允许出现生产设备,旧演示脏数据不能回流到正式视图

View File

@@ -141,6 +141,8 @@
- `GET /me/ops/audit`
- `GET /me/settings`
- `GET /me/skills`
- `GET /me/master-agent`
- `GET /me/master-agent`
## 3. Web API 路由
@@ -812,9 +814,149 @@
- `taskType=conversation_reply` 时,会把目标 Codex 线程的原始回复写回普通单线程会话
- `taskType=dispatch_execution` 时,会把线程原始结果镜像回群聊,再追加一条主 Agent 汇总,并更新对应执行单状态
- `failed` 时写入 relay 失败消息,并更新 AI 账号健康状态
- 对群聊分发推荐失败的情况,消息入口当前会额外写入一条 `system_notice`,把“没有真实线程”或“成员引用失效”明确回显给用户
- 对群聊分发推荐失败的情况,消息入口当前会额外写入一条 `system_notice`,把“没有真实线程”或“成员引用失效”明确回显给用户
- 当前保护:要求 `x-boss-device-token` 或匹配登录会话
#### `GET /api/v1/master-agent/prompt-policy`
- 用途:读取管理员全局主提示词
- 当前保护:要求有效 `boss_session`
#### `POST /api/v1/master-agent/prompt-policy`
- 用途:管理员更新全局主提示词
- 输入:
- `globalPrompt`
- 当前保护:要求 `highest_admin`
#### `GET /api/v1/master-agent/prompt`
- 用途:读取当前用户的主提示词
- 当前保护:要求有效 `boss_session`
#### `POST /api/v1/master-agent/prompt`
- 用途:保存当前用户的主提示词;空内容会清空当前用户提示词
- 输入:
- `content`
- 当前保护:要求有效 `boss_session`
#### `DELETE /api/v1/master-agent/prompt`
- 用途:清空当前用户的主提示词
- 当前保护:要求有效 `boss_session`
#### `GET /api/v1/master-agent/memories`
- 用途:读取当前用户的主 Agent 记忆
- 查询参数:
- `includeArchived`
- `scope`
- `projectId`
- 当前保护:要求有效 `boss_session`
#### `POST /api/v1/master-agent/memories`
- 用途:新增当前用户的主 Agent 记忆
- 输入:
- `scope`
- `projectId`
- `title`
- `content`
- `memoryType`
- `tags`
- `sourceMessageId`
- 当前保护:要求有效 `boss_session`
#### `PATCH /api/v1/master-agent/memories/[memoryId]`
- 用途:更新当前用户的主 Agent 记忆
- 输入:
- `scope`
- `projectId`
- `title`
- `content`
- `memoryType`
- `tags`
- `sourceMessageId`
- `lastUsedAt`
- 当前保护:要求有效 `boss_session`
#### `DELETE /api/v1/master-agent/memories/[memoryId]`
- 用途:归档当前用户的主 Agent 记忆
- 当前保护:要求有效 `boss_session`
#### `GET /api/v1/master-agent/prompt-policy`
- 用途:读取管理员全局主提示词
- 当前保护:要求有效 `boss_session`
#### `POST /api/v1/master-agent/prompt-policy`
- 用途:管理员更新全局主提示词
- 输入:
- `globalPrompt`
- 当前保护:要求 `highest_admin`
#### `GET /api/v1/master-agent/prompt`
- 用途:读取当前用户的主提示词
- 当前保护:要求有效 `boss_session`
#### `POST /api/v1/master-agent/prompt`
- 用途:保存当前用户的主提示词;空内容会清空当前用户提示词
- 输入:
- `content`
- 当前保护:要求有效 `boss_session`
#### `DELETE /api/v1/master-agent/prompt`
- 用途:清空当前用户的主提示词
- 当前保护:要求有效 `boss_session`
#### `GET /api/v1/master-agent/memories`
- 用途:读取当前用户的主 Agent 记忆
- 查询参数:
- `includeArchived`
- `scope`
- `projectId`
- 当前保护:要求有效 `boss_session`
#### `POST /api/v1/master-agent/memories`
- 用途:新增当前用户的主 Agent 记忆
- 输入:
- `scope`
- `projectId`
- `title`
- `content`
- `memoryType`
- `tags`
- `sourceMessageId`
- 当前保护:要求有效 `boss_session`
#### `PATCH /api/v1/master-agent/memories/[memoryId]`
- 用途:更新当前用户的主 Agent 记忆
- 输入:
- `scope`
- `projectId`
- `title`
- `content`
- `memoryType`
- `tags`
- `sourceMessageId`
- `lastUsedAt`
- 当前保护:要求有效 `boss_session`
#### `DELETE /api/v1/master-agent/memories/[memoryId]`
- 用途:归档当前用户的主 Agent 记忆
- 当前保护:要求有效 `boss_session`
## 4. local-agent 接口
### 4.1 `GET /health`

View File

@@ -111,6 +111,7 @@ cd /Users/kris/code/boss
- 当前 `登录 OpenAI 平台账号` 已升级成浏览器辅助登录流:原生 Android 会先进入 `OpenAiOnboardingActivity`,自动打开 `OpenAI Platform` 登录页;用户登录后可直接跳到 `API Keys` 页面,回 APP 粘贴 key 完成接入
- 当前 `OpenAiOnboardingActivity` 在登录成功后会直接弹出 `测试主 Agent 对话`,可一键进入 `master-agent` 聊天页验证主控链路
- 当前 `AI 账号` 页顶部会直接展示“当前主控身份”,并提供 `校验主控 / 测试主 Agent 对话` 两个入口,切换主控后不必再手动退回会话页验证
- 当前 `我的 > 主 Agent 提示词 / 记忆` 页面已接通:管理员全局主提示词、用户主提示词、当前对话附加提示词,以及用户通用记忆 / 项目记忆都可以在 Web 端查看和编辑
- 当前如果主控身份还是 `Master Codex Node`,但该节点离线或执行立即失败,主 Agent 会优先尝试已配置的 `OpenAI API` 备用账号,不再把失败日志直接原样回给用户
- 当前原生 Android 的聊天发送已收短客户端等待窗口;`master-agent` 单聊依赖服务端快速入队和消息流里的“主 Agent 思考中 / 回复超时 / 重试等待”状态,不再要求客户端长时间同步阻塞
- 当前设备导入主链也已补上第一轮后端闭环:`heartbeat` 可上报真实项目候选,服务端会生成 `deviceImportDraft`;用户可提交勾选结果、生成导入决议,再把选中的线程真正落成聊天窗口