Files
claude-code/docs/autonomous-management-capability-audit.md
unraid 95fece4b51 feat: 整合功能恢复与技能学习闭环(含 ECC v2.1 parity + Opus 4.7 接入 + prompt 工程优化)
主要变更:
- Skill Learning 闭环系统 (9/9 AC)
- Opus 4.7 模型层接入 + adaptive thinking
- Prompt 工程优化 (64 审计测试)
- Agent Teams 简化门控 (默认启用)
- Windows Terminal 后端修复 (EncodedCommand/WT_SESSION)
- TF-IDF 技能搜索精准化 (字段加权/CJK 优化)
- Autonomy 系统 (/autonomy 命令)
- ACP 协议完整实现
- mock.module 泄漏修复 (CI 全绿)
- 152+ lint/type 修复
2026-04-22 16:07:42 +08:00

43 KiB
Raw Blame History

当前自治管理能力清单与实现状态审计

审计日期2026-04-18

范围:本报告只覆盖“自治管理”相关能力,即自动权限判定、后台/守护运行、子代理/团队协调、任务列表、定时/心跳、远程控制、主动循环、自动化运行记录,以及这些能力的辅助通信/监控工具。普通文件读写、基础 REPL、模型兼容层等非自治能力不展开。

状态定义:

  • 完整实现:入口、运行时逻辑、持久化或状态管理、失败处理基本闭环。
  • 最小实现:核心路径可用,但边界、平台、恢复或体验仍较薄。
  • 薄封装:只是把外部服务/API/文本流程包装成工具,主要执行不在本地闭环里完成。
  • 占位:入口或接口存在,但核心实现返回空、无动作或仅用于未来扩展。
  • 受限:依赖 feature flag、USER_TYPE === 'ant'、GrowthBook、OAuth 订阅、策略或平台条件。
  • 远端依赖:核心执行依赖 claude.ai/CCR/远端 API不是本地自足能力。

总览结论

当前项目已经具备一套分层自治体系,而不是单个“自治管理”模块:

  1. 本地自治执行层/proactive、Cron、autonomy run/flow、Monitor、后台 Agent、后台 shell/task 输出。
  2. 权限自治层auto permission mode 通过 LLM classifier 判定工具调用,带危险 allow 规则剥离、熔断、模型/设置/计划限制。
  3. 多代理协调层AgentToolTeamCreateTeamDeleteSendMessage、任务列表、teammate mailbox、in-process/tmux/iTerm2 后端。
  4. 进程/会话管理层daemon supervisor、--bg/background sessions、PID registry、attach/logs/kill。
  5. 终端通讯层pipes/UDS named pipe、LAN TCP pipe、peer registry、attach/detach/send/history。
  6. 远端自治层Remote Control bridge、CCR remote session、remote agent isolation、RemoteTrigger API。
  7. KAIROS/Assistant 层assistant attach、brief/user message、cron/proactive 结合assistant team 初始化已完成本地 bootstrap。

成熟度最高的是 Cron、任务列表、后台 Agent、Agent Teams、pipes/UDS 通讯、auto-mode 权限判定、daemon/bg 基础管理。Agent Teams 已完成一轮抽离与闭环加固:主 spawn 路径已统一到 TeammateExecutor,并补回 use_splitpane: false legacy window 路径、iTerm2 setup prompt、Windows Terminal pane/window 后端、in-process kill/cleanup、TeamDelete graceful shutdown request、外部 --agent-teams 入口以及端到端生命周期测试。/autonomy status --deepclaude autonomy status --deep 已作为统一本地自治健康入口落地,可汇总 runs/flows、workflow runs、cron、team、pipes registry、daemon/bg session、Remote Control 本地配置、auto-mode 同步状态和 RemoteTrigger 本地审计。WorkflowTool 已升级为本地 workflow runner支持 start/status/list/advance/cancel 和 .claude/workflow-runs 状态持久化。initializeAssistantTeam() 已实现 assistant 模式的 session-scoped in-process team bootstrap。Remote Control/CCR/RemoteTrigger 应定级为 完整实现,远端/订阅运行条件:订阅用户在 OAuth、GrowthBook、policy 满足时可走官方远端路径self-hosted bridge/RCS 可替代部分控制面。ask-claude 外部审阅已确认当前自治管理可标记 COMPLETE无阻止完整实现的代码缺口。Windows Terminal、RC/CCR/RemoteTrigger、KAIROS assistant attach 剩余项属于实机/订阅环境验收。

能力清单

能力 具体作用 入口 实现证据 当前状态 风险与后续
Auto Mode 权限自治 用分类器自动判定原本需要确认的工具调用 --permission-mode auto--enable-auto-modeauto-mode 子命令 src/main.tsx:1294, src/main.tsx:1831, src/main.tsx:5144, src/utils/permissions/permissions.ts:517, src/utils/permissions/yoloClassifier.ts:1015 完整实现,受限 依赖 TRANSCRIPT_CLASSIFIER、模型支持、GrowthBook/设置熔断PowerShell 默认不进 classifier除非 POWERSHELL_AUTO_MODE
Auto Mode 配置审计 输出默认/有效规则并让模型 critique 用户规则 claude auto-mode defaults/config/critique src/main.tsx:5140, src/cli/handlers/autoMode.ts:18, src/cli/handlers/autoMode.ts:75 完整实现,受限 只在 TRANSCRIPT_CLASSIFIER 开启且 cached state 未 disabled 时注册critique 依赖 API。
危险权限剥离与恢复 进入 auto 时移除会绕过 classifier 的 allow 规则,退出时恢复 权限模式转换内部 src/utils/permissions/permissionSetup.ts:510, src/utils/permissions/permissionSetup.ts:597, src/utils/permissions/permissionSetup.ts:1283 完整实现 规则识别覆盖 Bash/PowerShell/Agent/tmux 等危险模式,但仍需要持续补充模式库。
子代理同步执行 启动指定 agent独立系统提示词和工具池完成后返回结果 AgentTool / legacy Task src/tools.ts:216, packages/builtin-tools/src/tools/AgentTool/AgentTool.tsx:383, packages/builtin-tools/src/tools/AgentTool/AgentTool.tsx:1066 完整实现 子代理工具池与权限模式会重组;自定义 agent 的 tools/disallowedTools 需要配置正确。
后台 Agent Agent 可异步运行,完成后发 <task-notification>,支持输出文件、停止、恢复 AgentTool.run_in_background、agent background: true、自动 background packages/builtin-tools/src/tools/AgentTool/AgentTool.tsx:827, packages/builtin-tools/src/tools/AgentTool/AgentTool.tsx:959, src/tasks/LocalAgentTask/LocalAgentTask.tsx:214, packages/builtin-tools/src/tools/SendMessageTool/SendMessageTool.ts:871 完整实现 进程内生命周期依赖 AppState输出存放在项目 temp 目录;部分恢复依赖 transcript。
Agent worktree isolation 给 Agent 创建临时 git worktree完成后无改动自动清理有改动保留 AgentTool.isolation = "worktree" packages/builtin-tools/src/tools/AgentTool/AgentTool.tsx:861, packages/builtin-tools/src/tools/AgentTool/AgentTool.tsx:921 完整实现,受限 需要 git 或 hook 支持;有改动时保留 worktree用户/后续 agent 需处理清理。
Remote agent isolation Agent 任务丢到 CCR 远端环境执行 AgentTool.isolation = "remote" packages/builtin-tools/src/tools/AgentTool/AgentTool.tsx:667, packages/builtin-tools/src/tools/AgentTool/AgentTool.tsx:679, packages/builtin-tools/src/tools/AgentTool/AgentTool.tsx:691 远端依赖,受限 USER_TYPE === 'ant' 路径;依赖 remote eligibility、OAuth、CCR本地只注册 remote task 与输出路径。
Fork subagent 省略 subagent_type 时继承父上下文,强制后台 async使用 cache-identical prompt AgentToolFORK_SUBAGENT packages/builtin-tools/src/tools/AgentTool/forkSubagent.ts:19, packages/builtin-tools/src/tools/AgentTool/AgentTool.tsx:478, packages/builtin-tools/src/tools/AgentTool/AgentTool.tsx:812 完整实现,受限 feature gate 控制;递归 fork 被拒绝;所有 agent spawn 会被 force async。
Agent Teams / Swarm 创建团队、spawn teammate、共享任务列表和 mailbox TeamCreateAgentTool(name/team_name)TeamDelete src/tools.ts:249, packages/builtin-tools/src/tools/TeamCreateTool/TeamCreateTool.ts:92, packages/builtin-tools/src/tools/shared/spawnMultiAgent.ts:334, packages/builtin-tools/src/tools/TeamDeleteTool/TeamDeleteTool.ts:90 完整实现 主 spawn 路径已统一到 TeammateExecutorTeamDelete 支持 graceful shutdown request 与可选等待;外部 --agent-teams 已注册;仍受 external killswitch 和真实终端后端可用性影响。
In-process teammate 在同进程用 AsyncLocalStorage 隔离 teammate上报任务状态 swarm backend src/utils/swarm/spawnInProcess.ts:1, src/utils/swarm/spawnInProcess.ts:104, src/utils/swarm/spawnInProcess.ts:344, src/utils/swarm/inProcessRunner.ts:1, src/utils/swarm/__tests__/spawnInProcess.test.ts:28 完整实现 适合无 tmux/iTerm 场景TeamsDialog 已按 agentId kill/cleanup已有真实 spawnInProcess + mailbox smoke不能再 spawn background agents依赖 leader 进程存活。
tmux/iTerm2/Windows Terminal teammate 通过 pane/backend 启动独立 CLI teammate Agent team spawn、--teammate-mode windows-terminal packages/builtin-tools/src/tools/shared/spawnMultiAgent.ts:334, src/utils/swarm/backends/PaneBackendExecutor.ts:99, src/utils/swarm/backends/TmuxBackend.ts:152, src/utils/swarm/backends/WindowsTerminalBackend.ts:1, src/utils/swarm/backends/registry.ts:426, src/main.tsx:4617 完整实现到最小实现,平台受限 use_splitpane: false 已恢复到 tmux separate-window 和 Windows Terminal new-window 路径iTerm2 setup prompt 已接回Windows Terminal 通过 wt split-pane 启动 teammate支持 auto 检测和显式 windows-terminal 模式,并用 pid 文件 best-effort kill但 wt.exe 不提供稳定 pane id/hide/show API。
Teammate/Agent 通信 向 teammate、后台 agent、UDS/bridge/TCP peer 发送消息、广播、计划批准、shutdown SendMessageTool src/tools.ts:247, packages/builtin-tools/src/tools/SendMessageTool/SendMessageTool.ts:520, packages/builtin-tools/src/tools/SendMessageTool/SendMessageTool.ts:849, packages/builtin-tools/src/tools/SendMessageTool/SendMessageTool.ts:755 完整实现,受限 跨 bridge/TCP 消息需要显式确认且仅支持 plain textstructured messages 仅本 team。
Pipes / UDS / LAN 终端通讯 多个 CLI/终端实例互传消息、attach/detach、主从控制、历史查看、LAN TCP peer /peers/who/attach/detach/send/pipes/pipe-status/history/claim-mainSendMessageTool src/commands.ts:122, src/utils/pipeTransport.ts:1, src/utils/pipeRegistry.ts:1, src/hooks/usePipeIpc.ts:1, packages/builtin-tools/src/tools/SendMessageTool/SendMessageTool.ts:789, packages/builtin-tools/src/tools/SendMessageTool/SendMessageTool.ts:812, src/utils/pipeStatus.ts:1 完整实现,平台/权限受限 UDS/named pipe 和 LAN TCP 均有实现;跨机器 TCP/bridge 发送需要显式确认;/autonomy status --deep 已汇总 registry。
本地任务列表 Task V2 创建/读取/更新/列出任务,支持 owner、blocks/blockedBy、hook、锁 TaskCreate/Get/Update/List 工具;claude task ant-only CLI src/tools.ts:239, src/utils/tasks.ts:284, packages/builtin-tools/src/tools/TaskCreateTool/TaskCreateTool.ts:62, packages/builtin-tools/src/tools/TaskUpdateTool/TaskUpdateTool.ts:212, src/main.tsx:5338 完整实现,部分受限 工具层 interactive 默认可用non-interactive 需 CLAUDE_CODE_ENABLE_TASKSCLI taskUSER_TYPE === 'ant'
任务输出与停止 读取后台任务输出、停止 background task TaskOutputToolTaskStopTool src/tools.ts:217, src/tools.ts:231, packages/builtin-tools/src/tools/TaskOutputTool/TaskOutputTool.tsx:151, packages/builtin-tools/src/tools/TaskStopTool/TaskStopTool.ts:72 完整实现,受限 TaskOutputTool 对 ant 禁用且标记 deprecated推荐直接 Read 输出文件Stop 只对 AppState 中 running task 生效。
Cron 定时自治 定时 enqueue prompt支持 one-shot/recurring/session-only/durable CronCreate/Delete/List 工具 src/tools.ts:31, packages/builtin-tools/src/tools/ScheduleCronTool/CronCreateTool.ts:52, src/utils/cronScheduler.ts:142, src/hooks/useScheduledTasks.ts:43, src/cli/print.ts:2775 完整实现 Cron 只在进程运行时触发durable 写 .claude/scheduled_tasks.jsonmissed one-shot 需要用户确认后执行。
Cron 持久化与调度锁 文件任务持久化、调度锁、防双触发、jitter、过期 .claude/scheduled_tasks.json src/utils/cronTasks.ts:1, src/utils/cronTasks.ts:161, src/utils/cronScheduler.ts:347, src/utils/cronScheduler.ts:396 完整实现 5 字段 cron 子集本地时区recurring 默认 7 天后最终触发并删除permanent 只供 assistant 内建任务。
Proactive 自治循环 每 30 秒注入 <tick>,让模型空闲时继续做事或 Sleep /proactive--proactive、KAIROS src/commands/proactive.ts:17, src/proactive/useProactive.ts:33, src/proactive/index.ts:37, src/main.tsx:4556 完整实现,受限 依赖 PROACTIVEKAIROStick 会因 loading、plan mode、UI、队列暂停API error 会 contextBlocked。
Sleep 控制节奏 proactive 模式下模型主动 sleep支持中断 SleepTool src/tools.ts:26, packages/builtin-tools/src/tools/SleepTool/SleepTool.ts:54 完整实现,受限 只有 PROACTIVEKAIROS 构建会加载proactive 关闭时 sleep 立即中断。
Autonomy run 记录 对 proactive tick、scheduled task、managed flow step 建立 queued/running/completed/failed 记录 /autonomy、内部 queue src/utils/autonomyRuns.ts:109, src/utils/autonomyRuns.ts:608, src/commands/autonomy.ts:117 完整实现 .claude/autonomy/runs.json;最多保留 200 条;是审计/恢复辅助,不直接驱动工具权限。
Autonomy CLI / panel / deep status 汇总本地自治健康状态,并管理 runs/flows /autonomy 面板、/autonomy ...claude autonomy status/runs/flows/flowclaude autonomy status --deep src/utils/autonomyCommandSpec.ts:1, src/commands/autonomy.ts:1, src/commands/autonomyPanel.tsx:1, src/cli/handlers/autonomy.ts:1, src/main.tsx:5162, src/utils/autonomyStatus.ts:1, src/utils/workflowRuns.ts:1, src/utils/pipeStatus.ts:1, src/utils/remoteControlStatus.ts:1, src/cli/handlers/__tests__/autonomy.test.ts:1 完整实现 /autonomy 无参数走独立 local-jsx 面板并显示 14 个基础子项,覆盖 Auto mode、Runs、Flows、Cron、Workflow runs、Teams、Pipes、Runtime、Remote Control、RemoteTrigger 等 deep status sectionsslash 与 CLI 共用 autonomyCommandSpec 和 handler命令面板 argumentHint、usage、CLI 子命令描述集中管理CLI 支持 status/runs/flows/flow detail/cancel/resumeCLI resume 会创建/恢复 run 并打印可执行 prompt不依赖 REPL 内存队列。
Autonomy authority / heartbeat 自动 turn 注入 .claude/autonomy/AGENTS.mdHEARTBEAT.md authority并启动 managed flow 自动 turn 构造路径 src/utils/autonomyAuthority.ts:14, src/utils/autonomyAuthority.ts:375, src/utils/autonomyAuthority.ts:425, src/utils/autonomyRuns.ts:696 完整实现 仅 proactive tick 会消费 due heartbeatmanaged flow 是本地文件状态机,需自动 turn 持续触发推进。
Managed autonomy flows HEARTBEAT step flow 的 queued/running/completed/blocked/cancelled 状态机 /autonomy flow ... src/utils/autonomyFlows.ts:414, src/utils/autonomyFlows.ts:506, src/commands/autonomy.ts:37 最小实现到完整之间 状态和队列清晰;实际 step 执行仍通过普通 prompt/agent loop 完成,不是独立 workflow runner。
Monitor 长驻命令 后台运行 tail/watch/poll 等长命令,并输出到任务文件 MonitorTool src/tools.ts:43, packages/builtin-tools/src/tools/MonitorTool/MonitorTool.tsx:44, packages/builtin-tools/src/tools/MonitorTool/MonitorTool.tsx:130 完整实现,受限 MONITOR_TOOL feature复用 Bash 权限;命令可有副作用,模型需正确选择非交互命令。
WorkflowTool 执行并跟踪 .claude/workflows 中的 Markdown/YAML workflow WorkflowTool src/tools.ts:254, packages/builtin-tools/src/tools/WorkflowTool/WorkflowTool.ts:20, packages/builtin-tools/src/tools/WorkflowTool/WorkflowTool.ts:269, src/utils/workflowRuns.ts:113, packages/builtin-tools/src/tools/WorkflowTool/__tests__/WorkflowTool.test.ts:21 完整实现 支持 start/status/list/advance/cancel状态写入 .claude/workflow-runs 并进入 /autonomy status --deep;当前 runner 负责步骤状态推进,具体步骤动作仍由 agent 按返回提示执行。
Daemon supervisor daemon start/stop/status 管理长期 worker崩溃重启、backoff、parking claude daemon ... src/entrypoints/cli.tsx:181, src/daemon/main.ts:39, src/daemon/main.ts:216, src/daemon/state.ts:61 最小实现 当前 supervisor 固定只拉 remoteControl worker状态文件以 remote-control 命名,不是泛化 worker manager。
Daemon worker registry 内部 --daemon-worker=<kind> 分派 worker --daemon-worker=remoteControl src/entrypoints/cli.tsx:119, src/daemon/workerRegistry.ts:25, src/daemon/workerRegistry.ts:48 最小实现 只实现 remoteControl,未知 kind 直接 permanent error。
Background sessions 后台启动 CLI 会话,支持 status/logs/attach/killWindows 用 detachedUnix 优先 tmux --bg--backgrounddaemon bg/attach/logs/kill src/entrypoints/cli.tsx:197, src/cli/bg.ts:281, src/cli/bg/engines/index.ts:5, src/cli/bg/engines/detached.ts:16, src/cli/bg/engines/tmux.ts:7 完整实现 detached engine 无交互 TTY要求 -p/--print 或 pipetmux 返回 pid 0依赖子进程注册 PID 文件。
Session registry 所有顶层会话写 PID json支持 ps/status、并发会话统计 ~/.claude/sessions/<pid>.json src/utils/concurrentSessions.ts:55, src/main.tsx:3070, src/cli/bg.ts:16 完整实现 teammate/subagent 跳过注册WSL 对 Windows PID 存活检查保守。
Remote Control bridge 本机作为 claude.ai/code 远控环境poll work、spawn session、支持 same-dir/worktree/capacity `claude remote-control rc remote sync
Bridge headless daemon daemon worker 中无 TUI 运行 Remote Control预创建 session可多 session daemon start -> worker -> runBridgeHeadless src/daemon/main.ts:216, src/daemon/workerRegistry.ts:48, src/bridge/bridgeMain.ts:2800, src/bridge/bridgeMain.ts:2928 完整实现,远端/订阅运行条件 trust 未接受、HTTP 非 localhost、worktree 不可用等会 permanent errorauth/token 是关键运行风险。
Remote session / teleport 本地创建或恢复 CCR remote sessionCLI 可进入 remote TUI --remote--teleport src/main.tsx:4033, src/main.tsx:4044, src/main.tsx:4080, src/main.tsx:4157 完整实现,远端/订阅运行条件 依赖 allow_remote_sessions policy、OAuth、远端后端 gate非 remote TUI 时只打印链接并退出。
RemoteTrigger 管理远端 scheduled remote agent triggers并记录本地调用审计 RemoteTriggerTool src/tools.ts:39, packages/builtin-tools/src/tools/RemoteTriggerTool/RemoteTriggerTool.ts:48, packages/builtin-tools/src/tools/RemoteTriggerTool/RemoteTriggerTool.ts:151, src/utils/remoteTriggerAudit.ts:28, src/utils/autonomyStatus.ts:136 完整实现,远端/订阅运行条件;本地审计完整 订阅/OAuth/policy/GrowthBook 满足时可走官方远端触发;本地已记录 success/failure、status、error、audit_id 到 .claude/remote-trigger-audit.jsonl
KAIROS assistant attach 连接到运行中的 assistant/bridge sessionviewer-only REPL claude assistant [sessionId] src/main.tsx:829, src/main.tsx:5197, src/main.tsx:3880, src/assistant/sessionDiscovery.ts:17 最小实现,远端依赖,受限 discovery 走 Sessions API无 session 时触发安装向导;具体 installer 不在本次展开。
KAIROS assistant prompt addendum 加载 ~/.claude/agents/assistant.md 到系统提示词 --assistant / KAIROS gate src/assistant/index.ts:42, src/main.tsx:2719 最小实现 文件不存在则空字符串;没有校验或默认内容。
Assistant team initialization assistant 模式预创建 session-scoped in-process team initializeAssistantTeam() src/assistant/index.ts:27, src/main.tsx:1491, src/assistant/__tests__/index.test.ts:34 完整实现,受限 生成 assistant team file、leader teamContext、team task list仍受 KAIROS/assistant gate 控制。
Brief/User message 自治任务主动向用户发送可见消息/附件 BriefTool / legacy SendUserMessage--brief src/tools.ts:13, packages/builtin-tools/src/tools/BriefTool/BriefTool.ts:89, packages/builtin-tools/src/tools/BriefTool/BriefTool.ts:150 完整实现,受限 依赖 KAIROSKAIROS_BRIEF、opt-in 或 assistant mode附件需路径校验和 bridge 上传路径。
Push notification / PR subscription / review artifact KAIROS 周边通知与 webhook PushNotificationToolSubscribePRToolReviewArtifactTool src/tools.ts:51, src/tools.ts:56, src/tools.ts:263 受限/未完全审计 本次只确认入口和 gate未展开实现属于 KAIROS 辅助而非核心自治调度。

深度调用链分组

1. 权限自治auto mode

入口层:

  • CLI 允许 --permission-mode <mode>,并在 TRANSCRIPT_CLASSIFIER 开启时注册 --enable-auto-mode
  • Ant-only 老别名 --delegate-permissions--afk 会映射到 permissionMode: auto
  • auto-mode defaults/config/critique 是独立配置检查命令,不直接触发权限判定。

核心链路:

  1. initialPermissionModeFromCLI() 解析 CLI、settings 和 bypass/auto 熔断。
  2. 进入 auto 时 transitionPermissionMode() 设置 autoModeActive 并调用 stripDangerousPermissionsForAutoMode()
  3. 工具权限 hasPermissionsToUseTool() 对原本 ask 的调用进入 auto 分支。
  4. 先走 fast path安全工具 allowlist、acceptEdits 能放行的普通编辑。
  5. 否则 classifyYoloAction() 构造 system prompt + 历史工具轨迹 + 当前 action调用 sideQuery() 做 classifier。
  6. classifier parse 失败、无 tool use、API 错误默认 fail closed返回 block。

关键边界:

  • PowerShellTool 默认不走 auto classifier除非 POWERSHELL_AUTO_MODE
  • 安全检查若 classifierApprovable 为 false不允许 auto 绕过。
  • auto availability 由 settings、GrowthBook tengu_auto_mode_config、模型支持、fast-mode breaker 共同决定。
  • 子代理 handoff 也可在 auto 模式下再跑一次 classifier防止子代理输出危险结果。

2. 多代理自治Agent + Team + Task

AgentTool 有四条主要路径:

  1. 同步子代理:直接 runAgent(),结束后 finalizeAgentTool()
  2. 异步子代理:registerAsyncAgent() 后 fire-and-forget runAsyncAgentLifecycle(),完成时写 task notification。
  3. worktree 子代理:先 createAgentWorktree(),结束后无改动清理、有改动保留。
  4. remote 子代理Ant-only 路径,teleportToRemote() 创建 CCR session然后注册 remote task。

Team/swarm 叠加在 AgentTool 之上:

  • TeamCreate 写 team file注册 leader重置团队 task list。
  • AgentTool 发现 team_name + name 时走 spawnTeammate(),而不是普通子代理。
  • spawnTeammate() 现已完成抽离:主链路统一调用 getTeammateExecutor(true),后端差异由 InProcessBackend / PaneBackendExecutor / TmuxBackend 承接,spawnMultiAgent.ts 只保留 team file、AppState、输出组装等产品层职责。
  • teammate 可通过 tmux/iTerm2 pane、tmux separate-window legacy 路径或 in-process runner 执行。
  • TaskCreate/Update/List/Get 作为团队共享任务板;TaskUpdate 会自动设置 owner并通过 mailbox 通知新 owner。
  • SendMessage 提供 teammate DM、广播、shutdown request/response、plan approval response也能给后台 agent 续写 prompt 或从 transcript 恢复。
  • TeamDelete 遇到 active teammate 时会优先通过 executor 发送 graceful shutdown request然后阻止目录清理避免直接删除仍在运行的 team。

关键边界:

  • isAgentSwarmsEnabled()Ant 默认开;外部需要 env/flag + GrowthBook gate--agent-teams 已注册为外部合法 CLI flag。
  • in-process teammate 不能 spawn background agents也不能嵌套 spawn teammate。
  • TeamDelete 会请求 active 成员 graceful shutdown并可通过 wait_ms 等待成员退出/idle 后继续清理。
  • Windows 原生已有 WindowsTerminalBackend 最小实现:用 wt split-pane 启动 teammateuse_splitpane: false 时用 wt -w -1 new-tab 打开独立 Windows Terminal 窗口,--teammate-mode windows-terminal 可显式启用,并通过临时 pid 文件支持 best-effort kill。由于 wt.exe 没有稳定 pane id/hide/show API真实 pane 生命周期仍需 smoke 和 UI 降级文案。

3. 时间自治Cron + proactive + autonomy records

Cron 是最成熟的本地自治调度:

  • CronCreate 校验 5 字段 cron、next run、MAX_JOBS 50。
  • 默认 session-onlydurable: true.claude/scheduled_tasks.json
  • createCronScheduler() 在 REPL、print/SDK、daemon dir 模式复用。
  • 文件任务用 .claude/scheduled_tasks.lock 竞态锁避免多会话重复触发。
  • recurring 任务写 lastFiredAt 并 jitterone-shot 触发后删除。
  • missed one-shot 在下一次启动时只提示,要求 AskUserQuestion 确认后执行。

Proactive 是“空闲自治循环”:

  • /proactive 打开后,每 30 秒准备 <tick> prompt。
  • REPL hook 在 loading、plan mode、local UI、已有队列时延后。
  • print/headless 模式也有 tick 注入逻辑。
  • SleepTool 让模型主动等待,并在 proactive 关闭或用户中断时提前返回。

Autonomy records 是审计层:

  • createAutonomyQueuedPrompt() 会调用 prepareAutonomyTurnPrompt() 注入 authority。
  • 每个自动 prompt 都写 .claude/autonomy/runs.json
  • HEARTBEAT.md 可定义 interval 和 stepsproactive tick 会收集 due tasks 并启动 managed flow。
  • /autonomy 能查看 runs/flows取消或恢复等待中的 flow。

关键边界:

  • Cron 不是系统级 daemon除非有 REPL/print/daemon scheduler 在跑。
  • durable cron 只恢复文件任务session-only 死于进程退出。
  • managed flow 的 step 执行仍是 prompt 队列,不是独立工作流执行引擎。

4. 进程自治daemon 与 background sessions

daemon namespace 统一两类东西:

  • Supervisordaemon start/stop/status 管理 remoteControl worker。
  • Background sessionsdaemon bg/attach/logs/kill 管理后台 CLI 会话。

实现情况:

  • daemon start~/.claude/daemon/remote-control.jsonspawn --daemon-worker=remoteControl
  • worker 崩溃会指数退避重启,快速失败超过阈值会 parking。
  • daemon status 同时显示 supervisor 和 ~/.claude/sessions 里的 background sessions。
  • --bg/--background 是到 daemon bg 的快捷入口。
  • Windows 或无 tmux 时使用 detached enginedetached 要求 -p/--print 或 pipe因为没有交互 TTY。

关键边界:

  • worker registry 目前只支持 remoteControl
  • supervisor 没有通用任务队列或多 worker 配置文件,更多是 remote-control 长驻包装。
  • tmux engine 启动时返回 pid 0真实 PID 依赖子进程自身 registerSession()

5. 远端自治Remote Control / CCR / RemoteTrigger

Remote Control / CCR / RemoteTrigger 是完整实现的远端自治能力运行条件是订阅、OAuth、GrowthBook、组织 policy 和远端服务可达:

  • cli.tsx fast-path 在 BRIDGE_MODE 下拦截 remote-control|rc|remote|sync|bridge
  • 先检查 OAuth/bridge token、GrowthBook entitlement、版本、组织 policy。
  • bridgeMain() 注册 bridge environment 后进入 poll loopspawnModecapacity 接收远端 work。
  • multi-session 支持 same-dirworktreeworktree 需要 git 或 hooks。
  • daemon worker 可用 runBridgeHeadless() 无 TUI 长驻远控。

Remote session / teleport

  • --remote "task" 创建 CCR session可根据 gate 只打印链接或进入 remote TUI。
  • --teleport 恢复远端 session。
  • 需要 allow_remote_sessions policy。

RemoteTrigger

  • 是对 /v1/code/triggers 的 HTTP wrapper支持 list/get/create/update/run。
  • 依赖 tengu_surreal_dali、policy、OAuth、org UUID这类依赖对订阅用户是可用性条件不等于本地功能缺失。
  • 每次调用都会写 .claude/remote-trigger-audit.jsonl,成功和失败都会保留 action、trigger id、HTTP status 或错误、audit_id
  • /autonomy status --deep 会读取最近 RemoteTrigger 审计记录,避免模型把远端调用结果和本地自治健康状态混在一起。

关键边界:

  • 这些能力不是本地自足自治,但调用链不是占位;远端 API、订阅、组织策略、token scope 是运行前提。
  • self-hosted bridge/RCS 可以替代 Remote Control 的部分本地 dispatch、poll、heartbeat 需求;官方 CCR/RemoteTrigger 仍按订阅路径走。
  • 本项目内的判断应写成“完整实现,远端/订阅运行条件”,而不是“未实现”或“薄壳”。

6. 终端通讯pipes / UDS / LAN

项目内有一套独立于 Agent Teams 的终端通讯能力:

  • PipeServer / PipeClient 使用 UDS 或 Windows named pipe 进行 NDJSON 消息通信,协议包含 ping/pong、attach/detach、prompt、stream、tool_start、tool_result、done、permission_request/response/cancel、chat/cmd 等消息类型。
  • pipeRegistry 管理 main/sub CLI 实例、机器 ID、pipeName、TCP port、LAN visibility并通过 lock file 处理并发注册。
  • /pipes 展示 registry、选择/取消选择 pipe、显示 LAN peers/pipe-status 显示 master/sub 控制状态;/attach/detach/send/history/claim-main 提供主从控制和消息流。
  • SendMessageTool 支持 uds:tcp:bridge: 地址UDS 本机消息可直接发TCP/LAN 和 bridge 需要显式用户确认。
  • /autonomy status --deepclaude autonomy status --deep 已加入 ## Pipes 区块,读取 pipe registry显示 main/sub/tcp 状态。

关键边界:

  • pipes 是完整实现,不是占位;它和 teammate mailbox 是两条不同通讯面。
  • TCP/LAN 跨机器消息有安全边界,必须保留显式确认。
  • deep status 只读 registry不主动探活或建立连接实时 alive 状态仍由 /pipes/pipe-status 更适合展示。

7. Autonomy 命令面板与 CLI 参数路由

/autonomy 现在按 docs/slash-command-mcp-routing.md 中描述的分层方式处理:

  • 第一层仍由 slashCommandParsing.ts 拆出 commandName=autonomy 和原始 args
  • 命令定义在 src/commands/autonomy.ts,类型为 local-jsx,并通过 argumentHint 把参数形态显示给命令面板。
  • 无参数 /autonomy 路由到 src/commands/autonomyPanel.tsx,显示独立面板和子项,不直接把 status 文本塞进对话区域。
  • 参数规格集中在 src/utils/autonomyCommandSpec.ts包含命令名、描述、usage、CLI 子命令描述和 parseAutonomyArgs()
  • slash command 和 CLI handler 均复用同一份 parser/handler避免 /autonomyclaude autonomy 各自维护参数分支。
  • CLI 侧仍由 Commander 注册子命令但名称、描述、usage 从 AUTONOMY_CLI 读取。

子命令映射:

输入 路由目标 说明
/autonomy <AutonomyPanel> 独立面板,展示 14 个基础子项Overview、Full deep status、Auto mode、Runs summary、Recent runs、Flows summary、Recent flows、Cron、Workflow runs、Teams、Pipes、Runtime、Remote Control、RemoteTrigger并追加最近 flow 子项
/autonomy status / claude autonomy status getAutonomyStatusText() runs + flows 概览
/autonomy status --deep / claude autonomy status --deep formatAutonomyDeepStatus() 全量本地自治健康状态
/autonomy runs [limit] / claude autonomy runs [limit] getAutonomyRunsText() 最近 runs
/autonomy flows [limit] / claude autonomy flows [limit] getAutonomyFlowsText() 最近 flows
/autonomy flow <id> / claude autonomy flow <id> getAutonomyFlowText() flow detail
/autonomy flow cancel <id> / claude autonomy flow cancel <id> cancelAutonomyFlowText() 取消 flow
/autonomy flow resume <id> / claude autonomy flow resume <id> resumeAutonomyFlowText() slash 入 REPL 队列CLI 打印可执行 prompt

8. KAIROS/Assistant

已实现部分:

  • claude assistant [sessionId] 可 attach 到运行中的 bridge session。
  • 无 session 时走 assistant install wizard安装后提示稍后重试。
  • --assistant 会强制 assistant mode跳过 gate供 Agent SDK daemon 使用。
  • assistant mode 会加载 ~/.claude/agents/assistant.md 作为系统提示词附加内容。
  • assistant/KAIROS 与 Brief、Cron、Proactive、Remote Control 有耦合。
  • initializeAssistantTeam() 会创建 session-scoped assistant team file、leader teamContext、team task list并设置 leader task list id使 assistant mode 可直接用 Agent(name) 路径 spawn in-process teammates。

关键边界:

  • KAIROS 受 build flag 与 tengu_kairos_assistant runtime gate 控制。
  • assistant attach/discovery 依赖 Sessions API。
  • assistant mode 的默认 team 已实现本地 bootstrap真实 assistant/KAIROS attach 场景仍需要 smoke 验证。

受限矩阵

限制类型 影响能力 证据
Build feature flag TRANSCRIPT_CLASSIFIERBRIDGE_MODEDAEMONBG_SESSIONSKAIROSPROACTIVEMONITOR_TOOLFORK_SUBAGENTUDS_INBOX build.ts:13, scripts/dev.ts:26, src/tools.ts:26, src/entrypoints/cli.tsx:124
USER_TYPE === 'ant' task CLI、remote agent isolation、some tools、PowerShell auto-mode branches、REPLTool 等 src/main.tsx:4522, src/main.tsx:5337, packages/builtin-tools/src/tools/AgentTool/AgentTool.tsx:667, src/tools.ts:16
GrowthBook / policy auto mode、Remote Control、RemoteTrigger、Brief、agent teams external killswitch、cron durable gate src/utils/permissions/permissionSetup.ts:1091, src/bridge/bridgeEnabled.ts:32, packages/builtin-tools/src/tools/RemoteTriggerTool/RemoteTriggerTool.ts:57, packages/builtin-tools/src/tools/BriefTool/BriefTool.ts:89
OAuth / subscription Remote Control、RemoteTrigger、remote sessions、assistant discovery src/entrypoints/cli.tsx:156, src/bridge/bridgeEnabled.ts:74, packages/builtin-tools/src/tools/RemoteTriggerTool/RemoteTriggerTool.ts:78, src/assistant/sessionDiscovery.ts:17
Platform / network tmux/iTerm/Windows Terminal teammate、background attach、UDS/named pipe、LAN TCP pipes src/cli/bg/engines/index.ts:5, src/utils/swarm/backends/registry.ts:108, src/main.tsx:1582, src/utils/pipeTransport.ts:122, src/utils/pipeRegistry.ts:1
Session lifetime session-only cron、in-process teammate、AppState background tasks src/utils/cronTasks.ts:188, src/utils/swarm/spawnInProcess.ts:1, src/tasks/LocalAgentTask/LocalAgentTask.tsx:137

订阅/远端类状态说明:

  • 订阅可用且实现完整Remote Control、RemoteTrigger、remote session、KAIROS assistant discovery 等在 claude.ai subscription、full-scope OAuth、对应 GrowthBook gate、组织 policy 允许时可以走官方路径。
  • 可自建替代Remote Control 的部分 dispatch/poll/heartbeat 场景可用 self-hosted bridge/RCS 替代Workflow/Cron/Agent Teams/Task V2 已是本地状态机,不依赖官方远端。
  • 不可本地伪造RemoteTrigger 的官方远端 trigger 执行、CCR remote session、assistant/channel 后端语义不能只靠本地代码等价复刻;当前只能本地记录审计、暴露状态和提供 self-hosted 旁路能力。

测试覆盖证据

已发现的直接相关测试:

  • Cronsrc/utils/__tests__/cron.test.tscronScheduler.baseline.test.tscronTasks.baseline.test.ts
  • Autonomysrc/utils/__tests__/autonomyAuthority.test.tsautonomyFlows.test.tsautonomyRuns.test.tssrc/commands/__tests__/autonomy.test.ts
  • Autonomy panel / CLIsrc/commands/__tests__/autonomy.test.ts 覆盖无参数面板;src/cli/handlers/__tests__/autonomy.test.ts 覆盖 status--deepflowsflow detail、flow cancelflow resume
  • Autonomy command specsrc/utils/__tests__/autonomyCommandSpec.test.ts 覆盖命令面板 argumentHint 和 slash/CLI 共享 parser。
  • Proactivesrc/proactive/__tests__/state.baseline.test.tssrc/commands/__tests__/proactive.baseline.test.ts
  • Daemon/bgsrc/daemon/__tests__/daemonMain.test.tssrc/daemon/__tests__/state.test.tssrc/cli/bg/__tests__/detached.test.ts
  • Permissionssrc/utils/permissions/__tests__/PermissionMode.test.tspermissions.test.tsdangerousPatterns.test.ts
  • Agent utilitiespackages/builtin-tools/src/tools/AgentTool/__tests__/agentToolUtils.test.ts
  • Agent Teams 加固:src/utils/swarm/__tests__/agentTeamsLifecycle.test.tssrc/utils/swarm/backends/__tests__/PaneBackendExecutor.test.tssrc/utils/swarm/backends/__tests__/WindowsTerminalBackend.test.tssrc/utils/swarm/__tests__/spawnInProcess.test.ts(真实 in-process task + mailbox smoke 和 killsrc/utils/swarm/__tests__/spawnUtils.test.tssrc/utils/__tests__/teamDiscovery.test.tspackages/builtin-tools/src/tools/shared/__tests__/spawnMultiAgent.test.ts
  • RemoteTrigger 审计:src/utils/__tests__/remoteTriggerAudit.test.tspackages/builtin-tools/src/tools/RemoteTriggerTool/__tests__/RemoteTriggerTool.test.ts
  • Pipes deep statussrc/utils/__tests__/pipeStatus.test.tssrc/commands/__tests__/autonomy.test.ts
  • Remote Control local statussrc/utils/__tests__/remoteControlStatus.test.tssrc/commands/__tests__/autonomy.test.ts
  • 外部审阅:.omx/artifacts/claude-claude-autonomy-status-deep-agent-teams-pipes-uds-lan-remote-2026-04-18T03-15-17-181Z.mdask-claude 判定 COMPLETE,无阻塞性代码缺口。

测试缺口:

  • Remote Control/bridge/RemoteTrigger 的端到端依赖远端 API当前项目调用链完整本地单测覆盖 parsing/state/部分 auth 分支、本地配置状态和本地审计记录,真实订阅路径需要实机/账号环境验证。
  • KAIROS assistant install/discovery 的真实远端流程未在本报告中确认有完整 e2e本地 assistant team bootstrap 已有单元测试覆盖。
  • WorkflowTool runner 已有 packages/builtin-tools/src/tools/WorkflowTool/__tests__/WorkflowTool.test.ts 覆盖 start/advance/list/cancel并由 src/commands/__tests__/autonomy.test.ts 覆盖 deep status workflow-runs 区块;仍缺真实 agent 执行步骤的端到端 smoke。
  • Team/swarm 的主代码路径已补回归测试;真实 tmux/iTerm2/Windows Terminal 分屏仍受平台影响,需要手动 smoke 或后续平台 e2e。

主要缺口与建议

  1. 自治管理代码层面可标记完整 ask-claude 外部审阅与本地验证结论一致:当前没有阻止标记完整实现的代码缺口。剩余项应进入验收/优化队列,而不是继续归为未完成实现。

  2. Assistant team 初始化已完成本地 bootstrap initializeAssistantTeam() 已返回完整 teamContext 并写入 team file / task list。剩余工作是做真实 assistant/KAIROS attach 场景 smoke确认 daemon/bridge session 中的 Agent(name) 能直接复用该 team context。

  3. WorkflowTool 已升级为本地 runner并纳入 deep status 当前已支持从 .claude/workflows/<name>.md|yaml 解析步骤,创建 .claude/workflow-runs/<runId>.json,并提供 start/status/list/advance/cancel/autonomy status --deep 已增加 workflow-runs 专区。剩余增强点是更严格的 YAML schema、重试策略、step 失败原因记录和真实 agent 执行步骤 smoke。

  4. daemon supervisor 目前不是通用自治调度器 只固定管理 remoteControl worker。若要“自治管理中心”需要 worker config、worker registry 扩展、任务队列、健康检查、日志分层和 restart policy 配置化。

  5. Remote Control/CCR/RemoteTrigger 是完整实现,后续是观测和分流 当前应按“完整实现,远端/订阅运行条件”归类。剩余工作不是补核心执行而是把官方订阅路径、policy 拒绝、token/scope 错误、self-hosted bridge/RCS 替代路径在 status/错误提示里拆清楚。

  6. 权限自治依赖 classifier 可用性 设计上 fail closed 是对的,但在长自治链路中会频繁中断。建议把 classifier unavailable 的用户可恢复路径、重试策略和降级提示作为一等状态暴露给 /autonomy 或 status UI。

  7. 跨平台团队体验仍需真机验证 目前已强化 in-process teammate恢复 tmux split-pane / separate-window 路径与 iTerm2 setup prompt并新增 Windows Terminal 后端。Windows Terminal 后端的限制来自 wt.exe 本身:可 launch split pane/new window但没有稳定 pane id/hide/show 查询面;当前 kill 通过 teammate shell pid 文件 best-effort 完成,后续应做 Windows 真机 smoke 并把不可用的 hide/show/isActive 明确降级。

  8. 状态分散已初步收束 相关状态仍分布在 AppState、~/.claude/sessions~/.claude/daemon~/.claude/tasks.claude/scheduled_tasks.json.claude/autonomy/*.json、team files、temp task output、.claude/remote-trigger-audit.jsonl、pipe registry。/autonomy status --deepclaude autonomy status --deep 已提供本地只读汇总入口;后续可继续补 CCR/Remote Control 的更细远端会话健康状态。

最终分类

完整实现:

  • Auto mode 权限判定与安全剥离
  • 子代理同步/后台执行
  • Agent Teams / Swarm 主闭环TeamCreate、executor-backed spawn、Task V2、SendMessage、TeamDelete shutdown request/wait
  • Assistant team initialization
  • 本地任务列表与任务依赖
  • Cron 调度、持久化、锁、jitter
  • Proactive tick 与 Sleep
  • Autonomy run/flow 记录
  • Autonomy deep status (/autonomy status --deep)
  • Workflow runner 与 workflow-runs deep status (WorkflowTool start/status/list/advance/cancelslash + full CLI autonomy status/runs/flows/flow management)
  • RemoteTrigger 本地审计记录与 deep status 汇总
  • Pipes / UDS / LAN 终端通讯与 deep status 汇总
  • Remote Control bridge / CCR remote session / RemoteTrigger 官方远端路径(完整实现,远端/订阅运行条件)与本地配置/deep status 汇总
  • Background sessions
  • Session registry
  • SendMessage/team mailbox
  • Monitor 长驻命令

最小实现:

  • Daemon supervisor/worker registry
  • KAIROS assistant attach
  • Managed autonomy flows
  • WindowsTerminalBackend 原生 Windows 分屏/新窗口后端

薄封装/远端依赖:

  • Remote agent isolation
  • Brief 附件发送的远端可见性路径

未完全展开:

  • PushNotification、SubscribePR、ReviewArtifact 的内部实现。本报告只确认它们是 KAIROS/自治辅助入口且受 feature gate 控制,没有逐行审计其 API 协议。
  • Bridge poll loop 的所有 session spawn 分支。已确认注册、poll、capacity、headless worker、spawn mode 主链路,未逐个展开 bridge session 子状态机。