5.2 KiB
Boss 统一电脑控制中枢 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: 让 Boss 聊天成为统一电脑控制入口。用户在主 Agent 或线程聊天里提出需求后,系统能在“普通讨论 / Codex 开发 / 浏览器自动化 / 桌面控制”之间自动选路,并通过本机 local-agent 执行。
Architecture: 继续复用 Boss 现有消息账本、MasterAgentTask 队列、执行底座和 local-agent。本次新增 browser_control / desktop_control 两类正式任务与 runtime,并让主 Agent 先做执行意图判断,再把请求路由到 Codex 线程、browser automation、computer use 或直接回复。
Tech Stack: Next.js App Router, TypeScript, Node.js local-agent, existing execution abstraction, tsx --test, Node test runner
Task 1: 扩展执行类型与任务模型
Files:
-
Modify:
src/lib/execution/types.ts -
Modify:
src/lib/execution/tool-registry.ts -
Modify:
src/lib/boss-data.ts -
Test:
tests/computer-control-task-model.test.ts -
Step 1: 先写失败测试,要求任务模型支持 browser_control / desktop_control
-
Step 2: 运行测试确认失败
Run:
npx tsx --test tests/computer-control-task-model.test.ts
- Step 3: 实现最小模型扩展
补齐:
-
ExecutionRequestKind -
ExecutionToolName -
MasterAgentTaskType -
MasterAgentTask的intentCategory / runtimeKind / riskLevel / confirmationPolicy等字段 -
Step 4: 再跑测试确认通过
Task 2: 给主 Agent 增加控制意图分类
Files:
-
Modify:
src/lib/boss-master-agent.ts -
Modify:
src/app/api/v1/projects/[projectId]/messages/route.ts -
Test:
tests/master-agent-control-intent-routing.test.ts -
Step 1: 先写失败测试,覆盖讨论 / 开发 / 浏览器 / 桌面四类消息
-
Step 2: 运行测试确认失败
Run:
npx tsx --test tests/master-agent-control-intent-routing.test.ts
- Step 3: 实现最小路由逻辑
要求:
-
讨论类继续直接回复
-
开发类仍优先走现有
conversation_reply -
浏览器类排
browser_control -
桌面类排
desktop_control -
Step 4: 再跑测试确认通过
Task 3: 给 local-agent 增加 browser/computer use runtime 分流骨架
Files:
-
Create:
local-agent/browser-control-task-runner.mjs -
Create:
local-agent/computer-use-task-runner.mjs -
Modify:
local-agent/server.mjs -
Test:
tests/local-agent-browser-control-runner.test.mjs -
Test:
tests/local-agent-computer-use-runner.test.mjs -
Step 1: 先写失败测试,要求 local-agent 能识别新任务类型并分流
-
Step 2: 运行测试确认失败
Run:
node --test tests/local-agent-browser-control-runner.test.mjs
node --test tests/local-agent-computer-use-runner.test.mjs
- Step 3: 实现最小分流骨架
第一版先做:
- browser_control: 返回标准化占位结果或接入现有 browser runtime
- desktop_control: 返回标准化占位结果或接入 computer-use runtime
要求:
-
不能影响现有
conversation_reply / dispatch_execution -
Step 4: 再跑测试确认通过
Task 4: 增加风险分级与确认策略骨架
Files:
-
Modify:
src/lib/execution/permission-policy.ts -
Modify:
src/app/api/v1/projects/[projectId]/messages/route.ts -
Test:
tests/computer-control-permission-policy.test.ts -
Step 1: 写失败测试,验证 low/medium/high 三档行为
-
Step 2: 运行测试确认失败
Run:
npx tsx --test tests/computer-control-permission-policy.test.ts
- Step 3: 实现最小确认策略
要求:
-
low默认可执行 -
medium标记需轻确认 -
high标记需强确认 -
Step 4: 再跑测试确认通过
Task 5: 前台返回执行模式元数据并做回归
Files:
-
Modify:
src/app/api/v1/projects/[projectId]/messages/route.ts -
Modify:
src/lib/boss-data.ts -
Test:
tests/project-message-execution-mode.test.ts -
Step 1: 写失败测试,要求消息返回 executionMode/riskLevel
-
Step 2: 运行测试确认失败
-
Step 3: 实现最小返回结构
-
Step 4: 再跑测试确认通过
Task 6: 基线验证与文档同步
Files:
-
Modify:
README.md -
Modify:
docs/architecture/current_runtime_and_deploy_status_cn.md -
Modify:
docs/architecture/api_and_service_inventory_cn.md -
Step 1: 同步运行时文档
-
Step 2: 跑仓库基线验证
Run:
npm run lint
npm run build
- Step 3: 跑新增与相关回归测试
Run:
npx tsx --test tests/computer-control-task-model.test.ts
npx tsx --test tests/master-agent-control-intent-routing.test.ts
npx tsx --test tests/computer-control-permission-policy.test.ts
npx tsx --test tests/project-message-execution-mode.test.ts
node --test tests/local-agent-browser-control-runner.test.mjs
node --test tests/local-agent-computer-use-runner.test.mjs
- Step 4: 如涉及 Android 前台行为,再补真机复核