Files
boss/docs/superpowers/plans/2026-04-22-boss-computer-control-hub.md

5.2 KiB
Raw Permalink Blame History

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

  • MasterAgentTaskintentCategory / 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 前台行为,再补真机复核