Files
boss/docs/superpowers/plans/2026-03-31-chat-path-completion.md

67 lines
3.3 KiB
Markdown

# 聊天主链补完 Implementation Plan
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
**Goal:** 打通主 Agent 单聊、普通线程单聊和群聊推荐执行三条聊天链,并让 Android 端能稳定展示等待、确认、失败和结果回流。
**Architecture:** 后端继续沿用 `boss-state.json + master-agent task queue + local-agent` 路线,把普通线程单聊纳入 `conversation_reply` 任务执行链;群聊继续沿用 `dispatch_execution`。Android 端用轮询项目详情和待确认计划来收束聊天状态,而不是一次发送后只做单次刷新。
**Tech Stack:** Next.js App Router, TypeScript, file-backed state store, local-agent, Android AppCompat/Java, node:test, Gradle unit tests
---
### Task 1: 后端补普通线程单聊执行链
**Files:**
- Modify: `/Users/kris/code/boss/src/app/api/v1/projects/[projectId]/messages/route.ts`
- Modify: `/Users/kris/code/boss/src/lib/boss-data.ts`
- Modify: `/Users/kris/code/boss/local-agent/server.mjs`
- Test: `/Users/kris/code/boss/tests/single-thread-message-execution.test.ts`
- [ ] 写失败测试,覆盖“普通线程单聊发送后会排 `conversation_reply` 任务”
- [ ] 跑测试确认当前失败
- [ ] 在消息路由和状态模型里补任务创建
- [ ]`local-agent` 完成回写时把线程原始回复写回单线程项目
- [ ] 再跑测试确认通过
### Task 2: 后端补主 Agent/普通线程统一任务状态语义
**Files:**
- Modify: `/Users/kris/code/boss/src/app/api/v1/projects/[projectId]/messages/route.ts`
- Modify: `/Users/kris/code/boss/src/lib/boss-master-agent.ts`
- Test: `/Users/kris/code/boss/tests/project-message-task-status.test.ts`
- [ ] 写失败测试,覆盖发送返回 `taskId/taskType/status`
- [ ] 跑测试确认失败
- [ ] 在消息接口里把任务状态统一返回给客户端
- [ ] 主 Agent 单聊保持现有执行逻辑,但返回值补清晰任务状态
- [ ] 再跑测试确认通过
### Task 3: Android 补发送后等待/轮询/收束链
**Files:**
- Modify: `/Users/kris/code/boss/android/app/src/main/java/com/hyzq/boss/ProjectDetailActivity.java`
- Modify: `/Users/kris/code/boss/android/app/src/main/java/com/hyzq/boss/BossApiClient.java`
- Test: `/Users/kris/code/boss/android/app/src/test/java/com/hyzq/boss/ProjectDetailActivityChatFlowTest.java`
- [ ] 写失败测试,覆盖主 Agent / 普通线程 / 群聊三种发送后的状态流
- [ ] 跑测试确认失败
- [ ]`ProjectDetailActivity` 增加轮询与等待态收束
- [ ] 群聊确认后继续轮询直到看到线程结果或主 Agent 汇总
- [ ] 再跑测试确认通过
### Task 4: 文档、验证、部署
**Files:**
- Modify: `/Users/kris/code/boss/README.md`
- Modify: `/Users/kris/code/boss/docs/architecture/current_runtime_and_deploy_status_cn.md`
- Modify: `/Users/kris/code/boss/docs/architecture/api_and_service_inventory_cn.md`
- [ ] 运行 `npm run lint`
- [ ] 运行 `npm run build`
- [ ] 运行新增 node:test 与 Android 单测
- [ ] 验证 `curl -sS http://127.0.0.1:3000/api/health`
- [ ] 验证 `curl -sS http://127.0.0.1:4317/health`
- [ ] 部署到服务器并验证 `curl -sS https://boss.hyzq.net/api/health`
- [ ] 同步文档写明三条聊天链当前状态