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 修复
This commit is contained in:
unraid
2026-04-22 16:07:42 +08:00
parent 711927f01b
commit 95fece4b51
316 changed files with 39611 additions and 14298 deletions

View File

@@ -0,0 +1,750 @@
# Feature Flag 完整审计报告
> 日期: 2026-04-18
> 基线: 当前 `chore/lint-cleanup` 本地 squash 提交 `580f8258`
> 范围: `src/`、`packages/`、`scripts/` 内的静态 `feature('FLAG_NAME')`
> 排除: `node_modules/`、`dist/`、明显的嵌套生成型 `src/**/src/**` 镜像
> 本文将源码机械扫描结果按语义内联到对应条目: feature 行追加调用数/源码证据command/CLI/tool/env/GrowthBook/availability/hidden/non-feature gate 证据归入 `0.8 非 feature()` 与对应命令章节,不再维护单独附录文件。
## 0. 2026-04-18 再审计增量结论
本轮重新扫描 `src/``packages/``scripts/` 的 tracked source 文件,得到以下基线:
| 项 | 数量 | 说明 |
| --- | ---: | --- |
| 静态 `feature(...)` 键 | 95 | 其中 `scripts/verify-gates.ts` 的模板 `${check.compileFlag}` 和测试用 `feature('X')``feature('FLAG_NAME')` 不计入真实运行 feature。 |
| 真实运行 feature flag | 91 | 较前次校正: 排除 `FLAG_NAME` 模板和 `X` 占位符后为 91 个真实运行 feature。新增 `ACP`Agent Client Protocol。 |
| 静态 `feature(...)` 调用点 | 1040+ | 含工具、命令、UI、API、prompt、测试辅助路径。 |
| build 默认启用 feature | 34 | `build.ts` 去除注释后统计。较前次 +1: `ACP`。 |
| dev 默认启用 feature | 40 | `scripts/dev.ts` 去除注释后统计。较前次 +1: `ACP`。 |
| dev-only 默认 feature | 6 | `BUDDY``TRANSCRIPT_CLASSIFIER``REACTIVE_COMPACT``SKILL_LEARNING``WEB_BROWSER_TOOL``CACHED_MICROCOMPACT`。 |
| `USER_TYPE` 非 feature gate | 491 处 | 内部/外部能力边界,不能由 `feature()` 矩阵覆盖。 |
| 全部 `process.env.*` runtime gate | 589 个变量 | provider、auth、telemetry、runtime、debug、platform、CI、native backend、tool/search 行为的完整环境变量面。 |
| GrowthBook dynamic config/gate keys | 93 个 | 运行时 rollout、kill-switch、远端参数不等价于 build-time feature含动态模板 key。 |
| `availability` 命令 gate | 9 个命令入口 | `claude-ai` / `console` 账户类型可见性控制。 |
| hidden/disabled command stubs | 20+ | 多数不是 feature-gated但仍是用户可感知的缺失功能面。 |
### 0.1 本轮方法修正
这次审计不再只按 92 个 `feature('FLAG_NAME')` 输出结论,而是分成三层:
1. **编译期 feature layer**: `feature('FLAG_NAME')` 决定代码路径是否进入 build/dev bundle。
2. **运行期 entitlement layer**: `USER_TYPE`、OAuth/订阅、policy limits、GrowthBook、provider env、model/tool beta 支持决定功能是否真正可用。
3. **实现完整度 layer**: 即使入口和 gate 都存在,也要检查核心实现是否 no-op、只返回空结果、只做本地 shell、依赖远端不可复刻或只是 UI/prompt 小开关。
因此,本文后续结论中的“完整实现”只表示当前代码的本地语义闭合;若同时依赖 Claude.ai、CCR、GrowthBook、GitHub webhook、native attestation、远端 settings sync则仍会标注为“订阅/远端受限”。
### 0.2 当前最重要的缺口分层
| 等级 | 功能 | 当前判断 | 证据 |
| --- | --- | --- | --- |
| P0 | `SSH_REMOTE` | **占位**,入口完整但 session factory 直接抛 unsupported。 | `src/main.tsx:732`, `src/main.tsx:3783`, `src/main.tsx:4829`; `src/ssh/createSSHSession.ts:27-35` |
| P0 | `BASH_CLASSIFIER` | **占位**,消费链很多,但核心 classifier 恒 disabled。 | `packages/builtin-tools/src/tools/BashTool/bashPermissions.ts:1463-1576`; `src/utils/permissions/bashClassifier.ts:24-51` |
| P0 | `BYOC_ENVIRONMENT_RUNNER` | **占位/no-op**CLI fast path 接到空函数。 | `src/entrypoints/cli.tsx:251-254`; `src/environment-runner/main.ts:3-4` |
| P0 | `SELF_HOSTED_RUNNER` | **占位/no-op**CLI fast path 接到空函数。 | `src/entrypoints/cli.tsx:261-264`; `src/self-hosted-runner/main.ts:3-4` |
| P0 | `TERMINAL_PANEL` / `TerminalCaptureTool` | **最小/空返回**,工具存在但 capture 返回空内容。 | `src/tools.ts:122-124`; `packages/builtin-tools/src/tools/TerminalCaptureTool/TerminalCaptureTool.ts:77-78` |
| P1 | `WEB_BROWSER_TOOL` | **最小实现**HTTP fetch/text snapshot不是 full browserPanel 是 stub。 | `src/tools.ts:126-128`; `packages/builtin-tools/src/tools/WebBrowserTool/WebBrowserTool.ts:43-54`; `WebBrowserPanel.ts:3` |
| P1 | `REVIEW_ARTIFACT` | **本地 MVP**schema、permission UI、tool result 有,但不是远端 artifact review 产品面。 | `src/tools.ts:141-143`; `src/components/permissions/PermissionRequest.tsx:177`; `ReviewArtifactTool.ts:59-137` |
| P1 | `MCP_RICH_OUTPUT` | **展示层最小实现**,只影响 MCP UI rich render。 | `packages/builtin-tools/src/tools/MCPTool/UI.tsx:58`, `:167`, `:189` |
| P1 | hidden command stubs | **非 feature 缺口**,多个命令 `isEnabled:false` / `isHidden:true`。 | `src/commands/*/index.js`, 例如 `ant-trace`, `autofix-pr`, `bughunter`, `teleport`, `reset-limits` |
| P2 | `SKILL_LEARNING` / `SKILL_IMPROVEMENT` | **项目侧可用闭环**,但完整“长期 stocktake/merge/prune”属于 Codex 用户级 skill-learning-evolution本项目侧仍是产品内 skill learning MVP。 | `src/services/skillLearning/featureCheck.ts:3-8`; `src/services/skillSearch/prefetch.ts:197-205`; `src/utils/hooks/skillImprovement.ts:190-194` |
### 0.3 非 `feature()` 功能面必须单独审计
| 功能面 | 主要 gate | 影响 |
| --- | --- | --- |
| 多 provider API | `CLAUDE_CODE_USE_OPENAI``CLAUDE_CODE_USE_GEMINI``CLAUDE_CODE_USE_GROK``CLAUDE_CODE_USE_BEDROCK``CLAUDE_CODE_USE_VERTEX``CLAUDE_CODE_USE_FOUNDRY` | 完整 API 能力取决于 provider env 与模型适配;不是 feature flag。见 `src/utils/model/providers.ts`。 |
| 内部/外部能力差异 | `process.env.USER_TYPE === 'ant'` | `ConfigTool``TungstenTool`、REPLTool、internal commands、undercover、telemetry/debug 多处只对 ant build 开。 |
| Claude.ai / Console 可见性 | command `availability` | `/voice``/usage``/upgrade``/desktop``/web-setup``/install-slack-app` 等受账号类型限制。 |
| policy limits | `isPolicyAllowed(...)` | remote sessions、remote control、feedback 等可以被组织策略关闭API 失败时大多 fail open。 |
| GrowthBook | `getFeatureValue_CACHED_MAY_BE_STALE(...)` / `checkGate_CACHED_OR_BLOCKING(...)` | `tengu_*` 运行时 gate 决定 KAIROS、Bridge、ToolSearch、Voice、Terminal panel 等是否真正激活。 |
| Tool Search | `ENABLE_TOOL_SEARCH`、model supports `tool_reference`、provider/base URL | 大工具池是否延迟加载,不由 `feature()` 直接决定。 |
| hidden command stubs | `isEnabled: () => false` / `isHidden: true` | 不在 92 feature 里,但会让“命令功能面”显得缺失。 |
| native/platform | OS、Bun WebView、native packages、audio/computer-use backend | 功能可用性取决于平台,不是 feature flag。 |
### 0.4 订阅/远端可实现 vs 自建替代
| 功能族 | 有订阅/远端时 | 无订阅/远端时的自建替代 |
| --- | --- | --- |
| Remote Control / Bridge | `BRIDGE_MODE` + claude.ai subscription + full-scope OAuth + `tengu_ccr_bridge` 可走官方 CCR。`bridgeEnabled.ts` 明确检查订阅、profile scope、organization UUID。 | self-hosted bridge 已有路径,`isSelfHostedBridge()` 可绕过官方 GrowthBook/订阅 gate。 |
| KAIROS / assistant / brief / channels | 有 Claude.ai、GrowthBook、远端 session/channel 服务时可实现官方语义。 | 本地只能保留 UI、prompt、tool、bridge fallback不能伪造官方 assistant/channel 后端。 |
| settings sync | OAuth + `CLAUDE_AI_INFERENCE_SCOPE` + `/api/claude_code/user_settings` 可同步。 | 可做本地 import/export、文件同步、RCS 内部同步替代。 |
| policy limits | Console API key eligibleOAuth Team/Enterprise/C4E eligible。 | 外部 provider/custom base URL不调用 policy endpoint只能本地 policy/config 替代。 |
| BYOC/self-hosted runner | 官方 worker service 协议不可见。 | 可用现有 bridge/job/daemon/RCS work-dispatch 模式自建 register/poll/heartbeat skeleton。 |
| SSH remote | 不依赖官方远端。 | 可直接自建,现有 `SSHSession` / `SSHSessionManager` 接口足够反推。 |
| Bash classifier | Anthropic 内部 classifier 不可见。 | 可用本地规则、tree-sitter bash、read-only validator、permission fixtures 实现保守替代。 |
| Full browser | 官方可能有 Chrome/CCR 浏览器环境。 | 已有 WebBrowser lite + Chrome MCP可用 Playwright/Chrome MCP/Bun WebView 自建 full runtime。 |
### 0.5 当前可以直接反推实现的清单
| 功能 | 反推依据 | 建议恢复方式 |
| --- | --- | --- |
| `SSH_REMOTE` | `main.tsx` 已有 CLI 参数、pending state、REPL handoff`createSSHSession.ts` 定义完整接口。 | 先实现 local subprocess-backed `createLocalSSHSession()`,再接真实 `ssh` subprocess 和 stderr ring buffer。 |
| `BASH_CLASSIFIER` | `bashPermissions.ts` 已完整消费 deny/ask/allow classifier 结果;`bashClassifier.ts` 类型稳定。 | 先实现 prompt rule parser + conservative local classifier不追求等价 Anthropic 内部模型。 |
| `BYOC_ENVIRONMENT_RUNNER` | entrypoint 注释写明 headless runnerdaemon/job/bridge/RCS 已有 state、heartbeat、dispatch 模式。 | 先禁止 no-op 成功补参数校验、register/poll/heartbeat skeleton。 |
| `SELF_HOSTED_RUNNER` | entrypoint 注释写明 register/poll/heartbeatRCS server 已有自托管控制面。 | 从 RCS dispatch 抽 adapter补本地可测协议。 |
| `TERMINAL_PANEL` | keybinding/tool/schema 已接线,缺 terminal runtime provider。 | 先接当前 foreground terminal snapshot再扩展 panel id/runtime。 |
| `WEB_BROWSER_TOOL` | Tool 已可 fetchPanel 是空Chrome MCP 可提供 full browser 能力。 | 保持 lite tool 命名清晰full browser 另接 Chrome MCP/Playwright/Bun WebView。 |
| `REVIEW_ARTIFACT` | Tool schema + permission UI + result render 已有。 | 先做本地 artifact renderer/line annotation surface不等远端 schema。 |
### 0.6 本轮 skill 自学习/进化验证结果
本轮按 `skill-learning-evolution` controller 流程执行: 先推荐并加载 `feature-flag-implementation-auditor`,再把业务审计新增要求归属到该 task skill而不是写入 controller。当前 Codex 侧用户级 learning/evolution 机制已经具备推荐、加载、observation、instinct、task skill refinement、promotion、maintenance、merge/prune、search 回流验证等闭环。
| 项 | 当前结果 |
| --- | --- |
| `feature-flag-implementation-auditor` 推荐 | `decision: load`, confidence 1。 |
| controller / task skill 归属 | `skill-learning-evolution` 作为 controllerFeature Flag 审计要求归入 `feature-flag-implementation-auditor`。 |
| observation / instinct | 已记录 prompt、tool observation、Stop 结果,并生成 project-scoped instinct。 |
| task skill 进阶 | 已将“每个 feature/非 feature gate 的具体功能、子命令、CLI/tool 入口、证据路径”等要求写入 `feature-flag-implementation-auditor` 的 learned refinements。 |
| 长期维护 | 已具备 `stocktake``continuous_learning_maintenance``learning_scheduler``skill_merge_prune``promote/prune/import/export`。 |
| observer 行为 | 已具备 PreToolUse/PostToolUse observation、observer loop、observer manager、session guardian、模型 observer 命令路径、fail-closed sentinel。 |
| 回流验证 | 生成或晋升后的 skill 会通过 `refresh_skill_index.js` / recommender 验证 discoverable。 |
验证证据来自 `C:\Users\12180\.codex\skills\skill-learning-evolution\scripts\validate_codex_skill_runtime.js`,其中覆盖:
```text
OK controller keeps task refinements on the loaded task skill
OK PreToolUse/PostToolUse observer records project-scoped observations
OK observer-loop can use model observer command path
OK observer-loop fails closed with sentinel on confirmation prompt
OK negative feedback lowers or caps instinct confidence
OK continuous-learning-v2 synthesizes related instincts into one skill
OK refresh-skill-index writes discoverability report
OK skill-merge-prune merges duplicate content and archives duplicate
```
### 0.7 Feature Flag 逐项功能与入口说明
这张表补齐“每个 feature 到底做什么、有没有用户子命令/CLI入口/工具入口”。`无直接入口` 表示它只影响内部 UI、prompt、服务、hook、telemetry 或工具行为,不会单独出现在 slash command/CLI subcommand 中。
| Feature | 具体功能 | 用户入口 / 子命令 / 工具入口 | 运行边界与当前状态 | 调用数 | 源码证据 |
| --- | --- | --- | --- | ---: | --- |
| `ABLATION_BASELINE` | 启动时把一组能力降到 L0 baseline用于评测/消融实验。 | CLI 启动环境变量 `CLAUDE_CODE_ABLATION_BASELINE`;无 slash command。 | 只在 `src/entrypoints/cli.tsx` 早期设置 env完整但诊断向。 | 1 | src/entrypoints/cli.tsx:52 |
| `ACP` | Agent Client ProtocolACP代理模式通过 stdio 上的 ndJSON 流提供标准化代理通信协议。 | CLI: `--acp`。 | 完整实现;入口 `src/services/acp/entry.ts`,核心 agent `src/services/acp/agent.ts`26KBbridge `src/services/acp/bridge.ts`42KB含权限管理和测试。build/dev 默认启用。 | 1 | src/entrypoints/cli.tsx:136; src/services/acp/entry.ts; src/services/acp/agent.ts; src/services/acp/bridge.ts; src/services/acp/permissions.ts |
| `AGENT_MEMORY_SNAPSHOT` | 在 agent/subagent 场景保存或携带 memory snapshot减少上下文丢失。 | Agent/Task 内部链路;无直接子命令。 | MVP功能面窄可继续补冲突、过期、恢复策略。 | 2 | packages/builtin-tools/src/tools/AgentTool/loadAgentsDir.ts:348; src/main.tsx:2777 |
| `AGENT_TRIGGERS` | 本地定时/触发型 agent 任务能力。 | Cron tools: `CronCreateTool``CronDeleteTool``CronListTool`;相关 scheduled task/loop skill。 | 本地链路可用。 | 3 | packages/builtin-tools/src/tools/ScheduleCronTool/prompt.ts:13; src/screens/REPL.tsx:347; src/screens/REPL.tsx:4905 |
| `AGENT_TRIGGERS_REMOTE` | 远程触发 agent/task。 | `RemoteTriggerTool`。 | 完整实现;官方远程事件环境受订阅/OAuth/policy/GrowthBook 运行条件限制;本地调用审计已实现。 | 2 | src/skills/bundled/index.ts:48; src/tools.ts:39 |
| `ALLOW_TEST_VERSIONS` | 安装器/更新器允许测试版本。 | 更新/安装流程内部;无直接子命令。 | 小型完整开关。 | 2 | src/utils/nativeInstaller/download.ts:124; src/utils/nativeInstaller/download.ts:495 |
| `AUTO_THEME` | 自动主题选择和 theme provider 行为。 | `/theme`、theme settings/picker。 | 完整实现。 | 3 | packages/@ant/ink/src/theme/ThemeProvider.tsx:91; packages/builtin-tools/src/tools/ConfigTool/supportedSettings.ts:34; src/components/ThemePicker.tsx:73 |
| `AWAY_SUMMARY` | 用户离开/恢复时生成 away summary。 | REPL/session hook无直接子命令。 | 完整实现,可继续优化摘要质量。 | 3 | src/hooks/useAwaySummary.ts:52; src/hooks/useAwaySummary.ts:132; src/screens/REPL.tsx:1495 |
| `BASH_CLASSIFIER` | 用 classifier 对 Bash 权限请求进行 deny/ask/allow 语义判定。 | BashTool 权限流、permission UI无独立子命令。 | 核心 `bashClassifier.ts` 是 stub当前是占位但可本地规则反推。 | 49 | packages/builtin-tools/src/tools/BashTool/bashPermissions.ts:84; packages/builtin-tools/src/tools/BashTool/bashPermissions.ts:631; packages/builtin-tools/src/tools/BashTool/bashPermissions.ts:1429; packages/builtin-tools/src/tools/BashTool/bashPermissions.ts:1576; packages/builtin-tools/src/tools/BashTool/bashPermissions.ts:1645; packages/builtin-tools/src/tools/BashTool/bashPermissions.ts:1760; packages/builtin-tools/src/tools/BashTool/bashPermissions.ts:1960; packages/builtin-tools/src/tools/BashTool/bashPermissions.ts:2027 |
| `BG_SESSIONS` | 后台会话、进程状态、日志、attach/kill。 | CLI: `--bg`/`--background``ps``logs``attach``kill`slash: `/daemon`。 | 完整实现,旧 CLI 入口映射到 `daemon`。 | 16 | src/commands.ts:116; src/commands/daemon/index.ts:11; src/commands/exit/exit.tsx:21; src/entrypoints/cli.tsx:184; src/entrypoints/cli.tsx:198; src/entrypoints/cli.tsx:211; src/main.tsx:1524; src/query.ts:125 |
| `BREAK_CACHE_COMMAND` | 调试 prompt cache break / context cache。 | `/clear` 或 cache/debug 相关内部命令路径。 | 小型诊断开关。 | 2 | src/context.ts:131; src/context.ts:143 |
| `BRIDGE_MODE` | Remote Control / Bridge本机作为远程控制 bridge environment。 | CLI: `remote-control``rc``remote``sync``bridge`slash: `/remote-control``/rc`。 | 完整实现;本地/self-hosted 可用;官方 CCR 需 claude.ai 订阅、full-scope OAuth、GrowthBook、policy。 | 33 | packages/builtin-tools/src/tools/BriefTool/attachments.ts:4; packages/builtin-tools/src/tools/BriefTool/attachments.ts:88; packages/builtin-tools/src/tools/BriefTool/upload.ts:99; packages/builtin-tools/src/tools/ConfigTool/supportedSettings.ts:153; packages/builtin-tools/src/tools/PushNotificationTool/PushNotificationTool.ts:84; src/bridge/bridgeEnabled.ts:26; src/bridge/bridgeEnabled.ts:32; src/bridge/bridgeEnabled.ts:38 |
| `BUDDY` | coding companion / buddy UI、prompt、通知。 | slash: `/buddy`。 | 可用但依赖 companion 状态,仍可优化。 | 18 | src/buddy/CompanionSprite.tsx:108; src/buddy/CompanionSprite.tsx:155; src/buddy/CompanionSprite.tsx:278; src/buddy/prompt.ts:18; src/buddy/useBuddyNotification.tsx:41; src/buddy/useBuddyNotification.tsx:55; src/commands.ts:153; src/components/PromptInput/PromptInput.tsx:343 |
| `BUILDING_CLAUDE_APPS` | 注册/暴露 Claude apps 相关 bundled skill/docs。 | Skill/command surface无核心 runtime 子命令。 | 文档型/skill 型最小实现。 | 1 | src/skills/bundled/index.ts:56 |
| `BUILTIN_EXPLORE_PLAN_AGENTS` | 内置 explore/plan 类 agent 定义开关。 | AgentTool 内置 agent 类型;无 slash command。 | 完整小型 gate。 | 1 | packages/builtin-tools/src/tools/AgentTool/builtInAgents.ts:14 |
| `BYOC_ENVIRONMENT_RUNNER` | BYOC headless environment runner。 | CLI: `environment-runner`。 | 入口接到 `environmentRunnerMain()`,当前函数 no-op占位。 | 1 | src/entrypoints/cli.tsx:251 |
| `CACHED_MICROCOMPACT` | cache_edits / microcompact优化 compact 后缓存复用。 | compact/API 内部;无直接子命令。 | 主链路存在,可继续硬化 provider/cache fallback。 | 13 | src/constants/prompts.ts:67; src/constants/prompts.ts:797; src/query.ts:471; src/query.ts:936; src/services/api/claude.ts:1210; src/services/api/claude.ts:1497; src/services/api/claude.ts:2913; src/services/api/claude.ts:3069 |
| `CCR_AUTO_CONNECT` | CCR 自动连接默认值。 | Remote Control 启动流程;无直接子命令。 | 完整实现,远端/GrowthBook 运行条件。 | 3 | src/bridge/bridgeEnabled.ts:199; src/utils/config.ts:39; src/utils/config.ts:1099 |
| `CCR_MIRROR` | CCR mirror/outbound-only session mirror。 | Remote Control/bridge 内部;无直接子命令。 | 完整实现,远端运行条件;可做 self-hosted fallback。 | 4 | src/bridge/bridgeEnabled.ts:211; src/bridge/remoteBridgeCore.ts:748; src/bridge/remoteBridgeCore.ts:764; src/main.tsx:3476 |
| `CCR_REMOTE_SETUP` | Claude Code on web / remote setup。 | slash: `/web-setup`。 | `availability: ['claude-ai']`,依赖 Claude web/GitHub 上传服务。 | 1 | src/commands.ts:98 |
| `CHICAGO_MCP` | computer-use MCP server 与 native computer-use 工具。 | CLI: `--computer-use-mcp`MCP tools。 | 可用,但完整度受 OS/native backend 影响。 | 16 | src/entrypoints/cli.tsx:112; src/main.tsx:1926; src/main.tsx:2060; src/query.ts:1102; src/query.ts:1562; src/query/stopHooks.ts:174; src/services/analytics/metadata.ts:130; src/services/mcp/client.ts:244 |
| `COMMIT_ATTRIBUTION` | commit attribution、trailers、session/worktree 归因。 | Git/commit flow 内部;无直接子命令。 | 完整实现。 | 12 | src/cli/print.ts:817; src/cli/print.ts:2965; src/cli/print.ts:4261; src/commands/clear/caches.ts:105; src/screens/REPL.tsx:4086; src/services/compact/postCompactCleanup.ts:71; src/setup.ts:345; src/utils/attribution.ts:383 |
| `COMPACTION_REMINDERS` | context compact 提醒。 | REPL/compact UI 内部。 | 小型完整开关。 | 1 | src/utils/attachments.ts:940 |
| `CONNECTOR_TEXT` | connector text block 处理、API logging、message render、signature stripping。 | API/message pipeline无直接子命令。 | 完整实现。 | 7 | src/components/Message.tsx:384; src/services/api/claude.ts:656; src/services/api/claude.ts:2137; src/services/api/claude.ts:2200; src/services/api/logging.ts:666; src/utils/messages.ts:3156; src/utils/messages.ts:5280 |
| `CONTEXT_COLLAPSE` | 上下文折叠、可视化、inspect、auto/post compact。 | `/context``CtxInspectTool`、compact/session restore。 | 主链路完整,可优化恢复一致性。 | 23 | src/commands/context/context-noninteractive.ts:50; src/commands/context/context-noninteractive.ts:113; src/commands/context/context.tsx:20; src/components/ContextVisualization.tsx:22; src/components/TokenWarning.tsx:23; src/components/TokenWarning.tsx:97; src/components/TokenWarning.tsx:114; src/query.ts:18 |
| `COORDINATOR_MODE` | coordinator mode多 agent/tool pool/prompt/session mode。 | slash: `/coordinator`env `CLAUDE_CODE_COORDINATOR_MODE`AgentTool/SendMessageTool。 | 完整实现,部分行为还受 env 双重门控。 | 34 | packages/builtin-tools/src/tools/AgentTool/AgentTool.tsx:369; packages/builtin-tools/src/tools/AgentTool/AgentTool.tsx:808; packages/builtin-tools/src/tools/AgentTool/builtInAgents.ts:35; src/QueryEngine.ts:121; src/cli/print.ts:369; src/cli/print.ts:5083; src/cli/print.ts:5132; src/cli/print.ts:5288 |
| `COWORKER_TYPE_TELEMETRY` | coworker 类型 telemetry。 | telemetry 内部。 | 外部只能降级为本地 log/sink。 | 2 | src/services/analytics/metadata.ts:603; src/services/analytics/metadata.ts:845 |
| `DAEMON` | daemon supervisor、worker registry、session manager。 | CLI: `daemon``--daemon-worker=<kind>`slash: `/daemon``/remote-control-server` 组合路径。 | 完整实现。 | 6 | src/commands.ts:78; src/commands.ts:116; src/commands/daemon/index.ts:10; src/commands/remoteControlServer/index.ts:6; src/entrypoints/cli.tsx:124; src/entrypoints/cli.tsx:184 |
| `DIRECT_CONNECT` | direct connect server/open URL。 | CLI: `server``open <cc-url>`。 | 完整实现。 | 5 | src/main.tsx:705; src/main.tsx:771; src/main.tsx:3738; src/main.tsx:4742; src/main.tsx:4860 |
| `DOWNLOAD_USER_SETTINGS` | 从远端下载 settings/memory。 | `/reload-plugins` CCR 路径、headless startup无普通 slash command。 | 需 OAuth + Claude.ai settings sync API可自建本地同步替代。 | 5 | src/cli/print.ts:519; src/cli/print.ts:1726; src/cli/print.ts:3205; src/commands/reload-plugins/reload-plugins.ts:25; src/services/settingsSync/index.ts:160 |
| `DUMP_SYSTEM_PROMPT` | 输出 system prompt。 | CLI: `--dump-system-prompt`。 | 诊断/评测完整开关。 | 1 | src/entrypoints/cli.tsx:89 |
| `ENHANCED_TELEMETRY_BETA` | 增强 telemetry/session tracing。 | telemetry 内部。 | 外部受 analytics schema 限制。 | 2 | src/utils/telemetry/sessionTracing.ts:9; src/utils/telemetry/sessionTracing.ts:127 |
| `EXPERIMENTAL_SKILL_SEARCH` | skill discovery、turn-zero/turn-N prefetch、DiscoverSkillsTool、skill auto-load、cache clear。 | `/skills``DiscoverSkillsTool``SkillTool` remote skill path、query attachment。 | 主链路可用,搜索质量可继续优化。 | 23 | packages/builtin-tools/src/tools/SkillTool/SkillTool.ts:105; packages/builtin-tools/src/tools/SkillTool/SkillTool.ts:108; packages/builtin-tools/src/tools/SkillTool/SkillTool.ts:140; packages/builtin-tools/src/tools/SkillTool/SkillTool.ts:379; packages/builtin-tools/src/tools/SkillTool/SkillTool.ts:494; packages/builtin-tools/src/tools/SkillTool/SkillTool.ts:607; packages/builtin-tools/src/tools/SkillTool/SkillTool.ts:663; packages/builtin-tools/src/tools/SkillTool/SkillTool.ts:967 |
| `EXTRACT_MEMORIES` | 从对话中提取 memories/instincts。 | stop hooks/background housekeeping无直接子命令。 | 完整实现,质量依赖提取策略。 | 7 | src/cli/print.ts:382; src/cli/print.ts:975; src/memdir/paths.ts:65; src/query/stopHooks.ts:42; src/query/stopHooks.ts:149; src/utils/backgroundHousekeeping.ts:7; src/utils/backgroundHousekeeping.ts:34 |
| `FILE_PERSISTENCE` | file persistence path 与 CLI output 集成。 | print/headless/file history 内部。 | 完整小型开关。 | 3 | src/cli/print.ts:2163; src/cli/print.ts:2329; src/utils/filePersistence/filePersistence.ts:280 |
| `FORK_SUBAGENT` | fork 当前会话到 subagent。 | slash: `/fork``branch` alias 行为AgentTool fork path。 | 完整实现。 | 7 | packages/builtin-tools/src/tools/AgentTool/forkSubagent.ts:33; packages/builtin-tools/src/tools/ToolSearchTool/prompt.ts:76; src/commands.ts:148; src/commands/branch/index.ts:8; src/commands/fork/fork.tsx:14; src/components/messages/UserTextMessage.tsx:128; src/components/messages/UserTextMessage.tsx:129 |
| `HARD_FAIL` | hard fail 调试/错误策略。 | logging/main 内部。 | 诊断向完整开关。 | 2 | src/main.tsx:4634; src/utils/log.ts:160 |
| `HISTORY_PICKER` | prompt input 历史搜索/选择。 | PromptInput UI无 slash command。 | 完整实现。 | 4 | src/components/PromptInput/PromptInput.tsx:1939; src/components/PromptInput/PromptInput.tsx:1946; src/components/PromptInput/PromptInput.tsx:2447; src/hooks/useHistorySearch.ts:239 |
| `HISTORY_SNIP` | snip 旧消息/历史片段,配合 compact。 | slash: `/force-snip``SnipTool`。 | 完整实现。 | 17 | src/QueryEngine.ts:128; src/QueryEngine.ts:131; src/QueryEngine.ts:1328; src/commands.ts:90; src/components/Message.tsx:200; src/query.ts:122; src/query.ts:449; src/services/compact/snipCompact.ts:29 |
| `HOOK_PROMPTS` | hook prompt context 注入。 | hooks/prompt 内部。 | 小型完整开关。 | 1 | src/screens/REPL.tsx:2918 |
| `IS_LIBC_GLIBC` | Linux libc glibc 平台标记。 | build/platform 内部。 | 完整小型 gate。 | 1 | src/utils/envDynamic.ts:54 |
| `IS_LIBC_MUSL` | Linux libc musl 平台标记。 | build/platform 内部。 | 完整小型 gate。 | 1 | src/utils/envDynamic.ts:53 |
| `KAIROS` | assistant/proactive/remote assistant/channel/file/push 组合能力的核心 gate。 | slash: `/assistant``/brief``/proactive`tools: `SleepTool``SendUserFileTool``PushNotificationTool`CLI `assistant [sessionId]`。 | 本地链路多,官方语义依赖 Claude.ai、GrowthBook、远端 assistant/channel。 | 141 | packages/builtin-tools/src/tools/AgentTool/AgentTool.tsx:138; packages/builtin-tools/src/tools/AgentTool/AgentTool.tsx:243; packages/builtin-tools/src/tools/AgentTool/AgentTool.tsx:823; packages/builtin-tools/src/tools/AskUserQuestionTool/AskUserQuestionTool.tsx:232; packages/builtin-tools/src/tools/BashTool/BashTool.tsx:1278; packages/builtin-tools/src/tools/BriefTool/BriefTool.ts:91; packages/builtin-tools/src/tools/BriefTool/BriefTool.ts:131; packages/builtin-tools/src/tools/ConfigTool/supportedSettings.ts:164 |
| `KAIROS_BRIEF` | Brief 模式/摘要/用户消息工具。 | slash: `/brief`; `BriefTool`; `SendUserMessage` 类 brief flow。 | 远端/服务语义受限,本地可用部分较完整。 | 39 | packages/builtin-tools/src/tools/BriefTool/BriefTool.ts:91; packages/builtin-tools/src/tools/BriefTool/BriefTool.ts:131; packages/builtin-tools/src/tools/ToolSearchTool/prompt.ts:10; packages/builtin-tools/src/tools/ToolSearchTool/prompt.ts:89; src/commands.ts:68; src/commands/brief.ts:52; src/components/Messages.tsx:102; src/components/PromptInput/Notifications.tsx:237 |
| `KAIROS_CHANNELS` | Kairos channel / 多渠道消息。 | AskUserQuestion/channel 相关 path无单独命令。 | 远端/channel 服务受限。 | 21 | packages/builtin-tools/src/tools/AskUserQuestionTool/AskUserQuestionTool.tsx:232; packages/builtin-tools/src/tools/EnterPlanModeTool/EnterPlanModeTool.ts:61; packages/builtin-tools/src/tools/ExitPlanModeTool/ExitPlanModeV2Tool.ts:172; src/cli/print.ts:1689; src/cli/print.ts:4836; src/cli/print.ts:4951; src/components/LogoV2/ChannelsNotice.tsx:2; src/components/LogoV2/LogoV2.tsx:55 |
| `KAIROS_GITHUB_WEBHOOKS` | GitHub webhook/PR 订阅。 | slash: `/subscribe-pr`; `SubscribePRTool`。 | 事件源/远端服务受限。 | 5 | src/bridge/webhookSanitizer.ts:4; src/commands.ts:108; src/components/messages/UserTextMessage.tsx:87; src/hooks/useReplBridge.tsx:209; src/tools.ts:56 |
| `KAIROS_PUSH_NOTIFICATION` | Push notification。 | `PushNotificationTool`settings。 | 依赖官方推送服务,可本地/bridge 降级。 | 4 | packages/builtin-tools/src/tools/ConfigTool/supportedSettings.ts:164; src/components/Settings/Config.tsx:713; src/components/Settings/Config.tsx:728; src/tools.ts:52 |
| `LAN_PIPES` | LAN pipe / UDS pipe 扩展。 | slash: `/pipes`attach/send/pipe 状态链路。 | 完整实现。 | 11 | packages/builtin-tools/src/tools/SendMessageTool/SendMessageTool.ts:73; packages/builtin-tools/src/tools/SendMessageTool/SendMessageTool.ts:598; packages/builtin-tools/src/tools/SendMessageTool/SendMessageTool.ts:675; packages/builtin-tools/src/tools/SendMessageTool/SendMessageTool.ts:812; src/commands/attach/attach.ts:43; src/commands/pipes/pipes.ts:174; src/hooks/usePipeIpc.ts:110; src/hooks/usePipeIpc.ts:309 |
| `LODESTONE` | Lodestone remote/protocol 相关能力。 | main/remote 内部;无直接子命令。 | 协议/远端体验受限。 | 6 | src/interactiveHelpers.tsx:214; src/main.tsx:805; src/main.tsx:4464; src/utils/backgroundHousekeeping.ts:10; src/utils/backgroundHousekeeping.ts:39; src/utils/settings/types.ts:821 |
| `MCP_RICH_OUTPUT` | MCP tool result 富展示。 | `MCPTool` UI。 | 展示层最小实现。 | 3 | packages/builtin-tools/src/tools/MCPTool/UI.tsx:58; packages/builtin-tools/src/tools/MCPTool/UI.tsx:167; packages/builtin-tools/src/tools/MCPTool/UI.tsx:189 |
| `MCP_SKILLS` | 将 MCP prompt commands 纳入 skills。 | `/mcp``/skills``SkillTool` skill index。 | 完整实现。 | 9 | src/commands.ts:609; src/services/mcp/client.ts:132; src/services/mcp/client.ts:1405; src/services/mcp/client.ts:1684; src/services/mcp/client.ts:2188; src/services/mcp/client.ts:2362; src/services/mcp/useManageMCPConnections.ts:22; src/services/mcp/useManageMCPConnections.ts:684 |
| `MEMORY_SHAPE_TELEMETRY` | memory shape telemetry。 | telemetry 内部。 | 外部 analytics 受限。 | 3 | src/memdir/findRelevantMemories.ts:66; src/utils/sessionFileAccessHooks.ts:38; src/utils/sessionFileAccessHooks.ts:213 |
| `MESSAGE_ACTIONS` | 消息级 action/keybinding。 | Message UI/keybindings。 | 完整实现。 | 5 | src/keybindings/defaultBindings.ts:88; src/keybindings/defaultBindings.ts:278; src/screens/REPL.tsx:841; src/screens/REPL.tsx:5559; src/screens/REPL.tsx:6178 |
| `MONITOR_TOOL` | 监控后台 shell/task 状态。 | slash: `/monitor`; `MonitorTool`。 | 完整实现。 | 15 | packages/builtin-tools/src/tools/AgentTool/runAgent.ts:876; packages/builtin-tools/src/tools/BashTool/BashTool.tsx:740; packages/builtin-tools/src/tools/BashTool/prompt.ts:312; packages/builtin-tools/src/tools/BashTool/prompt.ts:320; packages/builtin-tools/src/tools/PowerShellTool/PowerShellTool.tsx:501; src/commands.ts:84; src/commands/monitor.ts:25; src/components/permissions/PermissionRequest.tsx:59 |
| `NATIVE_CLIENT_ATTESTATION` | native client attestation。 | API/native stack 内部。 | 官方环境不可外部等价复刻,只能 no-op/提示降级。 | 1 | src/constants/system.ts:82 |
| `NATIVE_CLIPBOARD_IMAGE` | 原生剪贴板图片粘贴。 | PromptInput paste/image flow。 | 小型完整 gate平台依赖。 | 2 | src/utils/imagePaste.ts:101; src/utils/imagePaste.ts:134 |
| `NEW_INIT` | 新版 init 流程。 | `/init`。 | 完整实现。 | 2 | src/commands/init.ts:231; src/commands/init.ts:247 |
| `OVERFLOW_TEST_TOOL` | overflow 测试/诊断工具。 | `OverflowTestTool`。 | 测试/诊断向最小实现。 | 2 | src/tools.ts:114; src/utils/permissions/classifierDecision.ts:32 |
| `PERFETTO_TRACING` | Perfetto trace 采集/写入。 | tracing env/internal。 | 诊断向完整实现。 | 1 | src/utils/telemetry/perfettoTracing.ts:260 |
| `PIPE_IPC` | pipe IPC transport。 | IPC/pipe 内部。 | 完整小型 gate。 | 1 | src/utils/pipeTransport.ts:599 |
| `POOR` | poor mode低资源/约束模式。 | slash: `/poor`。 | 完整实现。 | 4 | src/commands.ts:158; src/components/Settings/Config.tsx:425; src/query/stopHooks.ts:137; src/services/SessionMemory/sessionMemory.ts:285 |
| `POWERSHELL_AUTO_MODE` | PowerShell auto/yolo 权限模式。 | `PowerShellTool` permission flow。 | 完整实现。 | 2 | src/utils/permissions/permissions.ts:573; src/utils/permissions/yoloClassifier.ts:501 |
| `PROACTIVE` | 主动模式/proactive sleep/task 行为。 | slash: `/proactive`; `SleepTool`。 | 主链路可用,需减少误触发。 | 41 | packages/builtin-tools/src/tools/AgentTool/AgentTool.tsx:138; packages/builtin-tools/src/tools/SleepTool/SleepTool.ts:72; packages/builtin-tools/src/tools/SleepTool/SleepTool.ts:106; src/cli/print.ts:373; src/cli/print.ts:547; src/cli/print.ts:1852; src/cli/print.ts:2556; src/cli/print.ts:4017 |
| `PROMPT_CACHE_BREAK_DETECTION` | prompt cache break 检测。 | API/compact/cache diagnostics。 | 完整实现。 | 9 | packages/builtin-tools/src/tools/AgentTool/runAgent.ts:851; src/commands/compact/compact.ts:68; src/services/api/claude.ts:1525; src/services/api/claude.ts:2458; src/services/compact/autoCompact.ts:302; src/services/compact/compact.ts:704; src/services/compact/compact.ts:1053; src/services/compact/microCompact.ts:362 |
| `QUICK_SEARCH` | PromptInput quick search。 | PromptInput UI。 | 完整实现。 | 5 | src/components/PromptInput/PromptInput.tsx:1914; src/components/PromptInput/PromptInput.tsx:1918; src/components/PromptInput/PromptInput.tsx:1928; src/components/PromptInput/PromptInput.tsx:2434; src/keybindings/defaultBindings.ts:52 |
| `REACTIVE_COMPACT` | API 413/prompt-too-long 后自动 compact 重试。 | compact/API 内部。 | 可用,需更多失败恢复测试。 | 6 | src/commands/compact/compact.ts:36; src/components/TokenWarning.tsx:92; src/query.ts:15; src/services/compact/autoCompact.ts:195; src/services/compact/reactiveCompact.ts:24; src/utils/analyzeContext.ts:1132 |
| `REVIEW_ARTIFACT` | artifact review tool/schema/UI。 | `ReviewArtifactTool`permission UIbundled review skill。 | 本地 MVP远端 artifact 产品面不完整。 | 5 | src/components/permissions/PermissionRequest.tsx:35; src/components/permissions/PermissionRequest.tsx:41; src/components/permissions/PermissionRequest.tsx:177; src/skills/bundled/index.ts:42; src/tools.ts:141 |
| `RUN_SKILL_GENERATOR` | 运行 skill generator bundled skill。 | bundled skill command无核心 runtime 子命令。 | 文档/skill 入口最小实现。 | 1 | src/skills/bundled/index.ts:65 |
| `SELF_HOSTED_RUNNER` | self-hosted runner register/poll/heartbeat。 | CLI: `self-hosted-runner`。 | 入口接 no-op占位。 | 1 | src/entrypoints/cli.tsx:261 |
| `SHOT_STATS` | shot/session stats、stats cache、UI 分布统计。 | stats UI/commands 内部。 | 完整实现。 | 10 | src/components/Stats.tsx:298; src/components/Stats.tsx:942; src/utils/stats.ts:131; src/utils/stats.ts:214; src/utils/stats.ts:364; src/utils/stats.ts:610; src/utils/stats.ts:829; src/utils/statsCache.ts:172 |
| `SKILL_IMPROVEMENT` | 对已调用 skill 做后采样改进建议/用户确认式改写。 | skill improvement hookAppState suggestion UI。 | 已并入 `SKILL_LEARNING` gate可用但应加强质量评审。 | 1 | src/utils/hooks/skillImprovement.ts:194 |
| `SKILL_LEARNING` | observation、instinct、gap/draft/promote、skill generator。 | slash: `/skill-learning`; skill search prefetch gap learning。 | 项目侧闭环可用;长期全局 stocktake 是 Codex 侧元技能职责。 | 1 | src/services/skillLearning/featureCheck.ts:8 |
| `SKIP_DETECTION_WHEN_AUTOUPDATES_DISABLED` | auto-update 禁用时跳过检测。 | update/installer 内部。 | 完整小型 gate。 | 1 | src/components/AutoUpdaterWrapper.tsx:35 |
| `SLOW_OPERATION_LOGGING` | 慢操作日志。 | diagnostics/logging。 | 完整小型 gate。 | 1 | src/utils/slowOperations.ts:158 |
| `SSH_REMOTE` | SSH remote REPL/session。 | CLI: `ssh <host> [dir]`。 | 入口完整session factory stub。 | 4 | src/main.tsx:732; src/main.tsx:856; src/main.tsx:3783; src/main.tsx:4829 |
| `STREAMLINED_OUTPUT` | CLI/headless 输出精简。 | print/headless output 内部。 | 完整小型 gate。 | 1 | src/cli/print.ts:865 |
| `TEAMMEM` | team memory extraction/sync/watchers/CLAUDE.md integration。 | Agent/team memory 内部;无单独 slash。 | 主链路存在,可优化 secret/dedupe/conflict。 | 53 | src/components/memory/MemoryFileSelector.tsx:27; src/components/memory/MemoryFileSelector.tsx:155; src/components/messages/CollapsedReadSearchContent.tsx:22; src/components/messages/CollapsedReadSearchContent.tsx:127; src/components/messages/CollapsedReadSearchContent.tsx:482; src/components/messages/SystemTextMessage.tsx:15; src/components/messages/SystemTextMessage.tsx:350; src/components/messages/teamMemCollapsed.tsx:8 |
| `TEMPLATES` | template jobs。 | CLI: `job <subcommand>`、兼容 `new/list/reply`; slash: `/job`。 | 完整实现。 | 9 | src/commands.ts:119; src/commands/job/index.ts:10; src/entrypoints/cli.tsx:229; src/entrypoints/cli.tsx:240; src/query.ts:69; src/query/stopHooks.ts:45; src/query/stopHooks.ts:109; src/utils/markdownConfigLoader.ts:35 |
| `TERMINAL_PANEL` | terminal panel UI 与 terminal capture。 | keybinding `meta+j`; `TerminalCaptureTool`。 | 工具返回空内容,当前是最小/空实现。 | 5 | src/components/PromptInput/PromptInputHelpMenu.tsx:39; src/hooks/useGlobalKeybindings.tsx:212; src/keybindings/defaultBindings.ts:60; src/tools.ts:122; src/utils/permissions/classifierDecision.ts:27 |
| `TOKEN_BUDGET` | token budget tracker/attachments/spinner warning。 | query/REPL UI 内部。 | 完整实现。 | 9 | src/components/PromptInput/PromptInput.tsx:626; src/components/Spinner.tsx:316; src/constants/prompts.ts:513; src/query.ts:328; src/query.ts:1377; src/screens/REPL.tsx:2501; src/screens/REPL.tsx:3504; src/screens/REPL.tsx:3592 |
| `TORCH` | 内部 debug command reserved。 | slash: `/torch` hidden。 | 只输出保留文案,占位。 | 1 | src/commands.ts:114 |
| `TRANSCRIPT_CLASSIFIER` | auto mode、transcript classifier、permission/yolo metadata。 | CLI: `auto-mode` subcommandslogin/permissions/AgentTool/BashTool 相关路径。 | 主链路非 stub可优化误判。 | 111 | packages/builtin-tools/src/tools/AgentTool/AgentTool.tsx:1306; packages/builtin-tools/src/tools/AgentTool/AgentTool.tsx:1644; packages/builtin-tools/src/tools/AgentTool/agentToolUtils.ts:405; packages/builtin-tools/src/tools/AgentTool/agentToolUtils.ts:608; packages/builtin-tools/src/tools/AgentTool/runAgent.ts:432; packages/builtin-tools/src/tools/BashTool/bashPermissions.ts:1467; packages/builtin-tools/src/tools/BashTool/bashPermissions.ts:1505; packages/builtin-tools/src/tools/BashTool/bashPermissions.ts:1862 |
| `TREE_SITTER_BASH` | tree-sitter bash parse gate。 | Bash permissions/parser 内部。 | 完整实现。 | 3 | src/utils/bash/parser.ts:51; src/utils/bash/parser.ts:65; src/utils/bash/parser.ts:108 |
| `TREE_SITTER_BASH_SHADOW` | bash parser shadow mode。 | Bash permissions diagnostics。 | 完整实现。 | 5 | packages/builtin-tools/src/tools/BashTool/bashPermissions.ts:1683; packages/builtin-tools/src/tools/BashTool/bashPermissions.ts:1690; packages/builtin-tools/src/tools/BashTool/bashPermissions.ts:1707; src/utils/bash/parser.ts:51; src/utils/bash/parser.ts:108 |
| `UDS_INBOX` | UDS inbox / peer messaging / pipe registry。 | slash: `/peers` `/who``/attach``/detach``/send``/pipes``/pipe-status``/history` `/hist``/claim-main`; tools: `ListPeersTool`, `SendMessageTool`。 | 完整实现。 | 41 | packages/builtin-tools/src/tools/SendMessageTool/SendMessageTool.ts:72; packages/builtin-tools/src/tools/SendMessageTool/SendMessageTool.ts:586; packages/builtin-tools/src/tools/SendMessageTool/SendMessageTool.ts:641; packages/builtin-tools/src/tools/SendMessageTool/SendMessageTool.ts:668; packages/builtin-tools/src/tools/SendMessageTool/SendMessageTool.ts:699; packages/builtin-tools/src/tools/SendMessageTool/SendMessageTool.ts:756; packages/builtin-tools/src/tools/SendMessageTool/prompt.ts:6; packages/builtin-tools/src/tools/SendMessageTool/prompt.ts:10 |
| `ULTRAPLAN` | ultraplan planning mode。 | slash: `/ultraplan`; prompt input/permission routing。 | 完整实现。 | 10 | src/commands.ts:111; src/components/PromptInput/PromptInput.tsx:601; src/components/PromptInput/PromptInput.tsx:806; src/components/PromptInput/PromptInput.tsx:884; src/components/permissions/ExitPlanModePermissionRequest/ExitPlanModePermissionRequest.tsx:184; src/screens/REPL.tsx:2387; src/screens/REPL.tsx:2390; src/screens/REPL.tsx:6012 |
| `ULTRATHINK` | ultrathink keyword/thinking token behavior。 | prompt keyword gate无 slash command。 | 简单但完整。 | 1 | src/utils/thinking.ts:21 |
| `UNATTENDED_RETRY` | API unattended retry。 | API retry internal。 | 完整小型 gate。 | 1 | src/services/api/withRetry.ts:101 |
| `UPLOAD_USER_SETTINGS` | 上传本地 settings/memory 到远端。 | startup/preAction background upload无 slash。 | 需 OAuth + settings sync API。 | 2 | src/main.tsx:1123; src/services/settingsSync/index.ts:63 |
| `VERIFICATION_AGENT` | 内置 verification agent / plan verification。 | built-in agent、TaskUpdate/TodoWrite、`VerifyPlanExecutionTool` env path。 | 完整实现。 | 4 | packages/builtin-tools/src/tools/AgentTool/builtInAgents.ts:65; packages/builtin-tools/src/tools/TaskUpdateTool/TaskUpdateTool.ts:335; packages/builtin-tools/src/tools/TodoWriteTool/TodoWriteTool.ts:78; src/constants/prompts.ts:377 |
| `VOICE_MODE` | 语音输入 / push-to-talk / STT。 | slash: `/voice`; voice settings/keybindings/REPL integration。 | 主链路完整,需 OAuth/音频/native backend。 | 48 | packages/builtin-tools/src/tools/ConfigTool/ConfigTool.ts:113; packages/builtin-tools/src/tools/ConfigTool/ConfigTool.ts:116; packages/builtin-tools/src/tools/ConfigTool/ConfigTool.ts:233; packages/builtin-tools/src/tools/ConfigTool/ConfigTool.ts:348; packages/builtin-tools/src/tools/ConfigTool/prompt.ts:24; packages/builtin-tools/src/tools/ConfigTool/supportedSettings.ts:144; src/commands.ts:81; src/components/LogoV2/VoiceModeNotice.tsx:16 |
| `WEB_BROWSER_TOOL` | HTTP browser-lite fetch/navigate/text snapshot。 | `WebBrowserTool`; main Chrome hint。 | 不是 full browserPanel stub。 | 2 | src/main.tsx:2017; src/tools.ts:126 |
| `WORKFLOW_SCRIPTS` | workflow scripts 与本地 workflow runner。 | slash: `/workflows`; `WorkflowTool`; generated workflow commands。 | 已支持 start/status/list/advance/cancel状态写 `.claude/workflow-runs`;步骤动作仍由 agent 按返回提示执行。 | 10 | src/commands.ts:93; src/commands.ts:460; src/components/permissions/PermissionRequest.tsx:47; src/components/permissions/PermissionRequest.tsx:53; src/components/tasks/BackgroundTasksDialog.tsx:110; src/components/tasks/BackgroundTasksDialog.tsx:113; src/constants/tools.ts:45; src/tasks.ts:9 |
### 0.8 非 `feature()` 功能逐项说明与子命令索引
这些能力不会完整出现在 `feature()` 矩阵里,但它们同样决定“用户实际能看到什么、能用什么”。
| 非 feature 功能面 | 具体功能 | 子命令 / 工具 / 入口 | 当前边界 |
| --- | --- | --- | --- |
| Provider selection | 在 firstParty、Bedrock、Vertex、Foundry、OpenAI、Gemini、Grok 间切换 API client。 | `/provider`; env `CLAUDE_CODE_USE_OPENAI/GEMINI/GROK/BEDROCK/VERTEX/FOUNDRY`; settings `modelType`。 | 不由 `feature()` 控制provider 越多tool beta、prompt caching、thinking、stream adapter 差异越大。 |
| Auth/account visibility | 根据 Claude.ai subscription / Console API key / 3P provider 决定命令可见性。 | `/login``/logout``/status`; `availability: ['claude-ai']` 命令包括 `/voice``/usage``/upgrade``/desktop``/web-setup``/install-slack-app`。 | 订阅用户可走官方 OAuth/远端Console/3P provider 会隐藏或降级部分命令。 |
| `USER_TYPE === 'ant'` | 内部 build 专用工具、命令、telemetry/debug UI。 | `/files``/tag`、internal command set、`ConfigTool``TungstenTool``REPLTool``SuggestBackgroundPRTool`。 | 扫描约 491 处;外部版不能靠 feature flag 开启全部内部能力。 |
| Policy limits | 企业/组织策略限制 remote sessions、remote control、feedback 等。 | `isPolicyAllowed('allow_remote_sessions')``allow_remote_control``allow_product_feedback`。 | Console API key eligibleOAuth 仅 Team/Enterprise/C4E eligiblefail-open 但 essential traffic 对部分 policy fail-closed。 |
| GrowthBook rollout | 运行时动态 gate/kill switch/参数。 | `tengu_ccr_bridge``tengu_kairos_assistant``tengu_terminal_panel``tengu_tool_search_unsupported_models``tengu_amber_quartz_disabled` 等。 | build flag 打开不代表运行时可用,尤其 KAIROS/Bridge/Voice/ToolSearch。 |
| Tool Search beta | 将 MCP/deferred tools 延迟加载为 `tool_reference`,降低 tool context 成本。 | env `ENABLE_TOOL_SEARCH`; `ToolSearchTool`; `isToolSearchEnabled()`。 | 取决于模型是否支持 `tool_reference`、provider/base URL 是否支持 beta blocks。 |
| Core tool registry | 基础工具池,不完全由 feature flag 决定。 | `AgentTool`, `BashTool`, `FileReadTool`, `FileEditTool`, `FileWriteTool`, `WebFetchTool`, `WebSearchTool`, `SkillTool`, `AskUserQuestionTool`, `EnterPlanModeTool`。 | 始终是核心功能permission deny rules、simple mode、REPL mode、provider beta 会改变最终可见工具。 |
| Task/Todo v2 | 新 TaskCreate/TaskGet/TaskUpdate/TaskList 工具组。 | `TaskCreateTool`, `TaskGetTool`, `TaskUpdateTool`, `TaskListTool`; env/settings `isTodoV2Enabled()`。 | 不是直接 `feature()`;由 task util/env/settings 决定。 |
| LSP tool | 语言服务/符号诊断工具。 | `LSPTool`; env `ENABLE_LSP_TOOL`。 | 不是 feature flag依赖本地语言服务和项目配置。 |
| Worktree mode | 进入/退出 worktree、tmux worktree fast path。 | `EnterWorktreeTool`, `ExitWorktreeTool`; CLI `--tmux --worktree`; worktree settings/env。 | 不是 feature flagWindows/tmux/platform 约束明显。 |
| PowerShell tool | Windows/PowerShell shell tool。 | `PowerShellTool`; `isPowerShellToolEnabled()`。 | 不是单独 feature flag权限流部分受 `POWERSHELL_AUTO_MODE` 影响。 |
| REPL/simple mode | bare/simple tool set隐藏原始工具或用 REPL 包裹。 | CLI `--bare`; env `CLAUDE_CODE_SIMPLE`; `REPLTool` ant-only。 | 环境/USER_TYPE gate不在 feature 矩阵中。 |
| Dynamic skills | 从 `.claude/skills``.agents/skills`、plugins、MCP prompt commands 动态加载 skill/command。 | `/skills`; `SkillTool`; skill directory commands; plugin skills; MCP skills。 | 运行时文件系统和插件状态会改变能力面。 |
| Plugins/marketplace | 插件命令、插件 skill、reload plugin。 | `/plugin`, `/reload-plugins`; plugin command/skill loader。 | 当前项目有 plugin loader实际可用插件取决于本地目录/远端同步。 |
| MCP management | 管理 MCP servers/resources/prompts。 | `/mcp`; `ListMcpResourcesTool`; `ReadMcpResourceTool`; MCP tools。 | MCP 工具数量和 schema 运行时变化;还会影响 ToolSearch 和 skill index。 |
| Remote-safe commands | Remote Control 模式下限制可执行 slash commands。 | remote-safe: `/session`, `/exit`, `/clear`, `/help`, `/theme`, `/cost`, `/usage`, `/copy`, `/feedback`, `/plan`, `/mobile`bridge-safe local commands: `/compact`, `/clear`, `/cost`, `/summary`, `/release-notes`, `/files`。 | 非 feature但决定 mobile/web bridge 下哪些命令可用。 |
| Hidden disabled stubs | 保留内部命令名但默认不可用。 | `agents-platform`, `ant-trace`, `autofix-pr`, `backfill-sessions`, `break-cache`, `bughunter`, `ctx_viz`, `debug-tool-call`, `env`, `good-claude`, `issue`, `mock-limits`, `oauth-refresh`, `onboarding`, `perf-issue`, `reset-limits`, `share`, `teleport`。 | 多数 `isEnabled:false` / `isHidden:true`,不是 feature flag却属于功能缺口/内部保留面。 |
| Chrome integration | Claude in Chrome MCP/native host/extension notice。 | CLI `--claude-in-chrome-mcp`, `--chrome-native-host`; `/chrome`。 | 部分外部用户需要 claude.ai subscription不是纯 feature flag。 |
| Native/platform capability | audio, clipboard image, computer-use, color diff, url handler, modifiers 等 native package。 | voice/audio backend、computer-use MCP、clipboard paste、terminal integration。 | 平台和 native package 状态决定可用性;`modifiers-napi``url-handler-napi` 仍需独立看。 |
| Telemetry/diagnostics | OTEL、BigQuery exporter、session tracing、Perfetto、debug logs。 | env `CLAUDE_CODE_ENABLE_TELEMETRY`, `OTEL_*`, `ENABLE_BETA_TRACING_DETAILED`, `BETA_TRACING_ENDPOINT`。 | 多数不是用户功能;外部版可本地 sink但不能等价内部 analytics。 |
| Privacy/traffic level | 限制非必要网络流量、essential traffic。 | env/settings `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`; policy/privacy services。 | 会影响 telemetry、cron prompt、policy fail behavior、settings sync 等。 |
| Install/update commands | 安装 GitHub/Slack app、升级、版本、native installer。 | `/install-github-app`, `/install-slack-app`, `/upgrade`, `/doctor`, `/terminal-setup`, `/version` ant-only。 | 多数由 availability/env/USER_TYPE 控制,不直接属于 feature flag。 |
#### 0.8.0 机械扫描明细说明
机械扫描明细已折叠到对应条目,不再保留大段重复附录:
| 扫描面 | 数量 | 合并位置 |
| --- | ---: | --- |
| Feature flags | 93 | `0.7 Feature Flag 逐项功能与入口说明` 的每行 `调用数` / `源码证据`。 |
| Command modules | 128 | `3.0.2 Feature-Gated Slash Commands``0.9 子命令按 Gate 汇总`。 |
| CLI entries | 20 | `3.0.3 Feature-Gated CLI Entrypoints`。 |
| Built-in tools | 69 | `0.7` 的工具入口列与 `2.2` tool registry 边界。 |
| Env gates | 589 | `2.2 非 feature() 功能边界` 按类别汇总,不逐项铺表。 |
| GrowthBook/dynamic keys | 93 | `2.2``3.0.1` 的远端/订阅/GrowthBook 边界。 |
| Availability gates | 11 | `2.2` 与 command 表。 |
| Hidden/disabled commands | 27 | `2.2` hidden stubs 与 `3.0.2`。 |
| Non-feature gate evidence | 2912 | 按 env/provider/auth/policy/tool/native/command 分类汇总。 |
完整性校验脚本结果: 91 个真实 feature排除模板和占位、589 个 env gate、93 个 dynamic key 均无缺失。
### 0.9 子命令按 Gate 汇总
| Gate 类型 | 子命令 / CLI 入口 |
| --- | --- |
| `BRIDGE_MODE` | CLI `remote-control` / `rc` / `remote` / `sync` / `bridge`; slash `/remote-control` `/rc`; with `DAEMON` exposes `/remote-control-server`。 |
| `DAEMON` / `BG_SESSIONS` | CLI `daemon`, `--daemon-worker=<kind>`, `--bg`, `ps`, `logs`, `attach`, `kill`; slash `/daemon`。 |
| `TEMPLATES` | CLI `job`, legacy `new/list/reply`; slash `/job`。 |
| `UDS_INBOX` | slash `/peers` `/who` `/attach` `/detach` `/send` `/pipes` `/pipe-status` `/history` `/hist` `/claim-main`; tools `ListPeersTool`, `SendMessageTool`。 |
| `KAIROS` family | slash `/assistant`, `/brief`, `/proactive`, `/subscribe-pr`; CLI `assistant [sessionId]`; tools `SleepTool`, `BriefTool`, `SendUserFileTool`, `PushNotificationTool`, `SubscribePRTool`。 |
| `VOICE_MODE` | slash `/voice`。 |
| `MONITOR_TOOL` | slash `/monitor`; `MonitorTool`。 |
| `COORDINATOR_MODE` | slash `/coordinator`; coordinator tool pool/session mode。 |
| `HISTORY_SNIP` | slash `/force-snip`; `SnipTool`。 |
| `WORKFLOW_SCRIPTS` | slash `/workflows`; dynamic workflow commands; `WorkflowTool`。 |
| `CCR_REMOTE_SETUP` | slash `/web-setup`。 |
| `ULTRAPLAN` | slash `/ultraplan`。 |
| `TORCH` | hidden slash `/torch`。 |
| `FORK_SUBAGENT` | slash `/fork`; `branch` alias behavior。 |
| `BUDDY` | slash `/buddy`。 |
| `POOR` | slash `/poor`。 |
| `SKILL_LEARNING` | slash `/skill-learning`。 |
| `CHICAGO_MCP` | CLI `--computer-use-mcp`。 |
| `DUMP_SYSTEM_PROMPT` | CLI `--dump-system-prompt`。 |
| `BYOC_ENVIRONMENT_RUNNER` | CLI `environment-runner`。 |
| `SELF_HOSTED_RUNNER` | CLI `self-hosted-runner`。 |
| `SSH_REMOTE` | CLI `ssh <host> [dir]`。 |
| `DIRECT_CONNECT` | CLI `server`, `open <cc-url>`。 |
| `ACP` | CLI `--acp`。 |
| non-feature availability | slash `/voice`, `/usage`, `/upgrade`, `/desktop`, `/web-setup`, `/install-slack-app` require `claude-ai`; `/install-github-app`, `/fast` allow `claude-ai` or `console`。 |
| non-feature provider/env | slash `/provider`; env-gated OpenAI/Gemini/Grok/Bedrock/Vertex/Foundry provider selection。 |
### 0.10 完整性核对口径
本文不再维护独立 generated 附录,也不在文末重复堆放机械扫描表。完整性口径如下:
| 校验项 | 结果 |
| --- | --- |
| 真实 feature flags | 91 / missing 0 |
| process.env runtime gates | 589 / 已按 provider、auth、telemetry、runtime、debug、platform、CI、native、tool/search 类别归纳;不逐项铺表 |
| GrowthBook/dynamic keys | 93 / 已按 Bridge、KAIROS、ToolSearch、Terminal、Telemetry、Voice、Settings Sync 等类别归纳;不逐项铺表 |
| command modules | 128 / 已归类 |
| CLI entries | 20 / 已归类 |
| built-in tools | 69 / 已归类 |
| availability gates | 11 / 已归类 |
| hidden/disabled commands | 27 / 已归类 |
| non-feature gate evidence | 2912 / 已分类汇总 |
原则: 每个 feature 的具体功能、入口、状态和源码证据只在 `0.7` 维护一份;非 `feature()` 的 env/dynamic key 不逐项展开为 600+ 行清单,而按功能边界归纳,避免重复堆表。
## 1. 总览结论
本轮扫描识别到 **91 个真实静态 feature flag**(排除 `FLAG_NAME` 模板和 `X` 占位符)。另有 `scripts/verify-gates.ts` 内的动态模板 `${check.compileFlag}`,不计入运行时 flag。2026-04-18 新增: `ACP`Agent Client Protocol
重要限制: `feature('FLAG_NAME')` 不是本项目唯一的功能边界。还有大量能力由环境变量、`USER_TYPE === 'ant'``availability`、provider env、policy、GrowthBook dynamic config、MCP/plugin/skill 目录和 tool registry 控制。只看 92 个 feature flag 会漏判这些功能面。
当前项目不是“整体大量 stub”的状态。更准确的状态是
- 主干交互、工具、bridge、daemon、job、context、skill search、skill learning 等多数能力已经形成可运行链路。
- 明确占位/不可用的 feature 很少,但都很关键:`SSH_REMOTE``BYOC_ENVIRONMENT_RUNNER``SELF_HOSTED_RUNNER``BASH_CLASSIFIER``TORCH`
- 若追求 Anthropic 内部同等能力,有些 feature 无法只靠当前代码完整复刻,因为依赖远端服务、内部 classifier、native attestation 或未公开 API。
- 可通过现有文件、参数、调用链逆向补全的 feature 很明确,优先级高于重新设计。
## 2. 分类口径
| 分类 | 含义 |
| --- | --- |
| 占位 | 入口存在,但核心实现是 no-op、恒 false、直接抛 unsupported或只显示占位文案。 |
| 最小实现 | 有可运行行为,但只覆盖最窄语义,和 flag 名称暗示的完整能力不一致。 |
| 完整实现 | 当前代码已能支撑该 feature 的主要产品语义。 |
| 可优化 | 已可用,但需要硬化、覆盖边界、降低误判、提高性能或完善文档。 |
| 外部受限 | 代码可接线,但完整复刻依赖 Anthropic/Claude.ai/GitHub/remote service/native 平台能力。 |
| 可逆向补全 | 现有接口、参数、调用链足够明确,可从下游调用反推上游实现。 |
这些分类不是互斥标签。例如 `BASH_CLASSIFIER` 同时是“占位”和“可逆向补全”,但不能完整复刻内部 classifier。
## 2.1 证据等级
为了避免把“静态标签扫描”误当成完整理解,本文按证据等级标注结论强度。
| 等级 | 含义 | 示例 |
| --- | --- | --- |
| A | 已读入口、核心实现、UI/命令或测试,调用链闭合。 | `SKILL_LEARNING``BG_SESSIONS``TEMPLATES``BRIDGE_MODE` |
| B | 已读入口和核心实现,缺少真实远端或交互验证。 | `WEB_BROWSER_TOOL``REVIEW_ARTIFACT``AGENT_MEMORY_SNAPSHOT` |
| C | 静态调用链明确,但远端服务或内部模型决定最终能力。 | `KAIROS*``settingsSync``policyLimits` |
| D | 只确认入口和占位实现,未进入真实业务链。 | `BYOC_ENVIRONMENT_RUNNER``SELF_HOSTED_RUNNER``TORCH` |
本文仍不是“运行每个 feature 的全量验收报告”。它是面向恢复规划的源码级审计,结论以读到的调用链、实现文件、命令入口和已有测试为依据。
## 2.2 非 `feature()` 功能边界
这些能力不完全受 `feature('...')` 控制,但会显著影响“项目有哪些功能、哪些可用、哪些受限”。
| 边界类型 | 代表入口 | 作用 | 证据/影响 |
| --- | --- | --- | --- |
| 环境变量 gate | `CLAUDE_CODE_USE_OPENAI``CLAUDE_CODE_USE_GEMINI``CLAUDE_CODE_USE_GROK``CLAUDE_CODE_USE_BEDROCK``CLAUDE_CODE_USE_VERTEX``CLAUDE_CODE_USE_FOUNDRY` | 多 provider API 兼容层。 | 不是 feature flag由 provider env 决定。`src/commands/provider.ts` 会设置/清理这些 env。 |
| 认证/订阅 gate | `availability: ['claude-ai']``availability: ['console']``isClaudeAISubscriber()` | 控制 `/voice``/usage``/upgrade``/desktop``/web-setup` 等命令。 | 即使没有 `feature()`,也会因订阅/API key 类型不同而显示/隐藏。 |
| `USER_TYPE === 'ant'` | `/files``/tag`、internal commands、额外 telemetry/debug UI | 内部用户专用能力。 | 扫描到约 499 个 `USER_TYPE` 相关位置;这些不是 feature flag。 |
| policy gate | `isPolicyAllowed('allow_remote_sessions')``allow_remote_control``allow_product_feedback` | 企业策略控制 remote sessions、remote control、feedback。 | 不属于 feature flag远端 policy 和缓存决定结果。 |
| GrowthBook dynamic config | `getFeatureValue_CACHED_MAY_BE_STALE('tengu_*')` | 远端 rollout/kill switch/参数。 | 扫描到大量 `tengu_*` gates很多功能是否可用由这些远端配置决定。 |
| tool registry | `src/tools.ts``packages/builtin-tools/src/tools/*` | 决定模型可调用工具。 | 一些工具无 feature flag但仍是核心功能如 FileRead/FileEdit/Bash/WebFetch/WebSearch/SkillTool。 |
| plugin / skill dirs | `src/skills/loadSkillsDir.ts`、plugin loader、MCP skill builders | 动态技能和插件能力。 | 运行时文件系统内容会改变可用功能,不一定体现在源码 flag 中。 |
| hidden command stubs | `reset-limits`、internal commands 等 | 有入口但隐藏或 disabled。 | 部分命令没有 feature flag但仍是占位/内部保留能力。 |
| native package capability | `modifiers-napi``url-handler-napi`、computer-use packages | 平台能力依赖 OS/backend。 | 功能可用性取决于平台和 native 实现,不只取决于 feature flag。 |
因此,后续完整审计应分两层:
1. Feature flag 层: 当前 92 个 `feature('...')`
2. 非 feature 功能面层: env/provider/auth/policy/plugin/tool/native/USER_TYPE。
本文后续矩阵仍以 feature flag 为主,但结论会明确标出这些非 feature 边界。
## 3. 关键分组
### 3.0 实现路径视角
这张表回答“怎么实现”的问题,而不是只回答“现在有没有代码”。
| 实现路径 | Feature | 结论 |
| --- | --- | --- |
| 可自建替代 | `SSH_REMOTE` | 可基于现有 `main.tsx` SSH 入口、`SSHSession` 接口和 `SSHSessionManager` 反推实现;不依赖 Anthropic 远端。 |
| 可自建替代 | `BASH_CLASSIFIER` | 内部 classifier 不可见但可用本地规则、bash AST、PowerShell/Bash 安全测试样例实现保守替代。 |
| 可自建替代 | `WEB_BROWSER_TOOL` | browser-lite 已有;可自建 full runtime路线是 Bun WebView/Chrome MCP/Playwright 类 backend + Panel。 |
| 可自建替代 | `REVIEW_ARTIFACT` | 远端 schema 不稳定,但本地 artifact review renderer、line annotation UI、tool result surface 可自建。 |
| 可自建替代 | `BYOC_ENVIRONMENT_RUNNER` / `SELF_HOSTED_RUNNER` | 真实远端协议不可见,但可用 bridge/job/remote-control-server 的 work-dispatch 代码自建 skeleton。 |
| 可自建替代 | `TERMINAL_PANEL` / `MCP_RICH_OUTPUT` | 主要是 UI/展示层,可从现有 Tool/Panel/permission/result 调用链补。 |
| 订阅/远端可实现 | `BRIDGE_MODE` | 代码注释明确 Remote Control 需要 claude.ai subscription 和 full-scope OAuthself-hosted bridge 可绕过官方订阅 gate。 |
| 订阅/远端可实现 | `CCR_REMOTE_SETUP` | `web-setup` command 声明 `availability: ['claude-ai']`,且依赖 GitHub token 上传到 Claude web。 |
| 订阅/远端可实现 | `KAIROS` / `KAIROS_BRIEF` / `KAIROS_CHANNELS` | 本地 UI/tool/prompt 链路存在,但 assistant/web/channel 语义依赖 Claude.ai OAuth、GrowthBook 和远端会话/频道能力。 |
| 订阅/远端可实现 | `KAIROS_GITHUB_WEBHOOKS` / `KAIROS_PUSH_NOTIFICATION` | 本地有 webhook sanitizer、SubscribePRTool、PushNotificationTool事件源/推送服务依赖远端。 |
| 订阅/远端可实现 | `DOWNLOAD_USER_SETTINGS` / `UPLOAD_USER_SETTINGS` | settings sync 依赖 OAuth 和 `/api/claude_code/user_settings` 远端接口;可做本地 import/export fallback。 |
| 订阅/远端可实现 | `policyLimits` 相关 remote restrictions | Console API key 用户可 eligibleOAuth 仅 Team/Enterprise/C4E 订阅用户 eligible。 |
| 只能降级 | `NATIVE_CLIENT_ATTESTATION` | 依赖官方 native HTTP stack 替换 `cch=00000` attestation token外部版无法等价复刻。 |
| 只能降级 | telemetry-only flags | `COWORKER_TYPE_TELEMETRY``MEMORY_SHAPE_TELEMETRY``ENHANCED_TELEMETRY_BETA` 依赖内部 analytics schema外部版只能本地 log/sink。 |
订阅/远端类不是“无法使用”。更准确的判断是:
- 有 claude.ai 订阅、full-scope OAuth、对应 GrowthBook gate、组织 policy 允许时,可以实现官方远端路径。
- 没有这些条件时,可以自建替代的只有本地 runner、self-hosted bridge、本地 UI 或本地同步;不能假装拥有官方远端能力。
### 3.0.1 订阅/授权调用链证据
| 能力 | 调用链证据 | 结论 |
| --- | --- | --- |
| Remote Control | `src/bridge/bridgeEnabled.ts` 注释说明 Remote Control requires claude.ai subscription`getBridgeDisabledReason()` 会检查 `isClaudeAISubscriber()`、profile scope、organization UUID、GrowthBook gate。 | 订阅用户可通过官方远端实现self-hosted bridge 可绕过订阅 gate。 |
| Web setup | `src/commands/remote-setup/index.ts` 使用 `availability: ['claude-ai']`,并检查 `allow_remote_sessions` policy。 | Claude.ai 用户路径,不是 Console/API-key 通用路径。 |
| Policy limits | `src/services/policyLimits/index.ts` 注释说明 Console API key 用户 eligibleOAuth 只有 Team/Enterprise eligible。 | 企业/团队策略能力依赖服务端 policy endpoint。 |
| Settings sync | `src/services/settingsSync/index.ts` 要求 firstParty OAuth 和 `CLAUDE_AI_INFERENCE_SCOPE`,调用 `/api/claude_code/user_settings`。 | OAuth/Claude.ai 服务路径;可自建文件同步替代。 |
| KAIROS assistant | `src/assistant/gate.ts` 需要 `feature('KAIROS')``tengu_kairos_assistant` GrowthBook gate。 | 本地链路不等于官方 assistant 能力,远端 gate 决定可用性。 |
| Claude in Chrome | `src/hooks/useChromeExtensionNotification.tsx` 明确外部用户需要 claude.ai subscription。 | 订阅 + Chrome extension 路径;非订阅可用普通 WebFetch/WebBrowser 替代。 |
## 3.0.2 Feature-Gated Slash Commands
这些是用户在 REPL 中通过 `/command` 直接感知到的 feature-gated 命令。来源主要是 `src/commands.ts` 和各 command `index.ts`
| Slash command | Feature gate | 作用 | 当前状态 | 证据 | 命令模块证据 |
| --- | --- | --- | --- | --- | --- |
| `/proactive` | `PROACTIVE``KAIROS` | 启用/关闭主动工作模式。 | 可用,可优化策略。 | `src/commands.ts:64`, `src/commands.ts:368` | src/commands/proactive.ts:17 |
| `/brief` | `KAIROS``KAIROS_BRIEF` | Kairos/Brief 摘要相关命令。 | 远端受限。 | `src/commands.ts:68`, `src/commands.ts:370` | src/commands/brief.ts:49 |
| `/assistant` | `KAIROS` | 打开/接入 Kairos assistant panel。 | 远端受限。 | `src/commands.ts:71`, `src/commands/assistant/index.ts:6-9` | src/commands/assistant/index.ts:6 |
| `/remote-control` `/rc` | `BRIDGE_MODE` | 将本地终端连接到 remote-control session。 | 可用;官方路径需订阅/OAuthself-hosted 可替代。 | `src/commands.ts:74`, `src/commands/bridge/index.ts:14-20` | src/commands/bridge/index.ts:14 |
| `/remote-control-server` `/rcs` | `DAEMON` + `BRIDGE_MODE` | 管理/启动自托管 remote control server。 | 可用。 | `src/commands.ts:77-79`, `src/commands/remoteControlServer/index.ts:5-20` | src/commands/remoteControlServer/index.ts:14 |
| `/voice` | `VOICE_MODE` | 开关 voice mode。 | 可用,可优化 native/audio 后端。 | `src/commands.ts:81`, `src/commands/voice/index.ts:9-13` | src/commands/voice/index.ts:9 |
| `/monitor` | `MONITOR_TOOL` | 查看/控制后台 shell/task 监控。 | 可用。 | `src/commands.ts:84`, `src/commands.ts:368` | src/commands/monitor.ts:22 |
| `/coordinator` | `COORDINATOR_MODE` | 开关/管理 coordinator mode。 | 可用。 | `src/commands.ts:87`, `src/commands.ts:369` | src/commands/coordinator.ts:18 |
| `/force-snip` | `HISTORY_SNIP` | 强制 history snip。 | 可用。 | `src/commands.ts:90`, `src/commands.ts:399` | src/commands/force-snip.ts:52 |
| `/workflows` | `WORKFLOW_SCRIPTS` | 列出 workflow scripts`WorkflowTool` 负责 start/status/list/advance/cancel。 | 可用;本地 runner 和 `.claude/workflow-runs` 持久化已实现。 | `src/commands.ts:93`, `src/commands/workflows/index.ts:22-23` | src/commands/workflows/index.ts:22 |
| `/web-setup` | `CCR_REMOTE_SETUP` | 设置 Claude Code on web / GitHub 连接。 | 订阅/远端受限。 | `src/commands.ts:98`, `src/commands/remote-setup/index.ts:7-14` | src/commands/remote-setup/index.ts:7 |
| `/subscribe-pr` | `KAIROS_GITHUB_WEBHOOKS` | 订阅 PR webhook/远端事件。 | 订阅/远端受限。 | `src/commands.ts:108` | src/commands/subscribe-pr.ts:165 |
| `/ultraplan` | `ULTRAPLAN` | 进入/触发 ultraplan 规划增强。 | 可用。 | `src/commands.ts:111`, `src/commands.ts:395` | src/commands/ultraplan.tsx:532 |
| `/torch` | `TORCH` | 内部 debug 占位命令。 | 占位。 | `src/commands.ts:114`, `src/commands/torch.ts:4-18` | src/commands/torch.ts:14 |
| `/daemon` | `DAEMON``BG_SESSIONS` | 管理后台会话与 daemon。 | 可用。 | `src/commands.ts:115-119`, `src/commands/daemon/index.ts:6-11` | src/commands/daemon/index.ts:6 |
| `/job` | `TEMPLATES` | 管理 template jobs。 | 可用。 | `src/commands.ts:119`, `src/commands/job/index.ts:6-10` | src/commands/job/index.ts:6 |
| `/peers` `/who` | `UDS_INBOX` | 列出 connected peers。 | 可用。 | `src/commands.ts:122`, `src/commands/peers/index.ts:5-7` | src/commands/peers/index.ts:5 |
| `/attach` | `UDS_INBOX` | 附加到 sub CLI。 | 可用。 | `src/commands.ts:127`, `src/commands/attach/index.ts:5-6` | src/commands/attach/index.ts:5 |
| `/detach` | `UDS_INBOX` | 从 sub CLI 断开。 | 可用。 | `src/commands.ts:130`, `src/commands/detach/index.ts:5-6` | src/commands/detach/index.ts:5 |
| `/send` | `UDS_INBOX` | 向 connected sub CLI 发消息。 | 可用。 | `src/commands.ts:133`, `src/commands/send/index.ts:5-6` | src/commands/send/index.ts:5 |
| `/pipes` | `UDS_INBOX` | 查看 pipe registry / pipe selector。 | 可用。 | `src/commands.ts:136`, `src/commands/pipes/index.ts:5-6` | src/commands/pipes/index.ts:5 |
| `/pipe-status` | `UDS_INBOX` | 显示 pipe connection 状态。 | 可用。 | `src/commands.ts:139`, `src/commands/pipe-status/index.ts:5-6` | src/commands/pipe-status/index.ts:5 |
| `/history` `/hist` | `UDS_INBOX` | 查看 connected sub CLI 的 session history。 | 可用。 | `src/commands.ts:142`, `src/commands/history/index.ts:5-7` | src/commands/history/index.ts:5 |
| `/claim-main` | `UDS_INBOX` | 声明/接管 main session。 | 可用。 | `src/commands.ts:145`, `src/commands/claim-main/index.ts:5-6` | src/commands/claim-main/index.ts:5 |
| `/fork` | `FORK_SUBAGENT` | 将当前会话 fork 到新 sub-agent。 | 可用。 | `src/commands.ts:148`, `src/commands/fork/index.ts:5-6` | src/commands/fork/index.ts:5 |
| `/buddy` | `BUDDY` | 管理 coding companion。 | 可优化。 | `src/commands.ts:153`, `src/commands/buddy/index.ts:6-10` | src/commands/buddy/index.ts:6 |
| `/poor` | `POOR` | poor mode 设置。 | 可用。 | `src/commands.ts:158`, `src/commands/poor/index.ts:5-6` | src/commands/poor/index.ts:5 |
| `/skill-learning` | `SKILL_LEARNING` via `isSkillLearningEnabled()` | 管理 learned instincts / generated skills。 | 已实现。 | `src/commands.ts:183`, `src/commands.ts:400-401`, `src/commands/skill-learning/index.ts:6-11` | src/commands/skill-learning/index.ts:6 |
非 feature-gated 但与审计高度相关的命令:
| Slash command | 作用 | 备注 |
| --- | --- | --- |
| `/summary` | 生成并展示 session summary。 | 当前已是显式可用命令,不再是隐藏 stub。 | src/commands/summary/index.ts:71 |
| `/skills` | 列出可用 skills。 | 与 `EXPERIMENTAL_SKILL_SEARCH` / `SKILL_LEARNING` 配合使用。 | src/commands/skills/index.ts:5 |
| `/context` | 展示 context usage。 | 与 `CONTEXT_COLLAPSE` 相关,但基础命令存在。 | src/commands/context/index.ts:5 |
| `/mcp` | 管理 MCP servers。 | `MCP_SKILLS` 会影响 MCP prompt-as-skill 行为。 | src/commands/mcp/index.ts:5 |
| `/provider` | 切换 OpenAI/Gemini/Grok/Bedrock/Vertex/Foundry 等 provider env。 | 这是 env-gated 能力,不由 `feature('...')` 控制。 | src/commands/provider.ts:165 |
| `/login` `/logout` `/status` | 认证状态和账户信息。 | 影响订阅/远端能力,但不是 feature flag。 | src/commands/login/index.ts:8; src/commands/logout/index.ts:6; src/commands/status/index.ts:5 |
| `/plugin` `/reload-plugins` | 插件和 marketplace 管理。 | 动态改变可用 commands/tools/skills。 | src/commands/plugin/index.tsx:5; src/commands/reload-plugins/index.ts:9 |
| `/memory` | 编辑 Claude memory files。 | 影响系统上下文,不依赖 feature flag。 | src/commands/memory/index.ts:5 |
| `/permissions` | 管理 allow/deny tool permission rules。 | 影响 Bash/Skill/MCP 等工具执行。 | src/commands/permissions/index.ts:5 |
| `/install-github-app` | 安装 Claude GitHub Actions。 | `availability: ['claude-ai','console']`,不是 feature flag。 | src/commands/install-github-app/index.ts:6 |
命令审计注意点:
- `src/commands.ts` 条件导入决定一些命令是否进入 command list各 command 自身可能没有 `feature()`
- `isEnabled()` / `isHidden` / `availability` / `USER_TYPE` 也能隐藏命令。
- 所以“有哪些功能”不能只从 `feature()` 得出,必须同时读 `commands.ts`、command index、provider/auth/policy gates。
## 3.0.3 Feature-Gated CLI Entrypoints
这些不是 slash command而是进程启动时的 CLI 子命令或 fast path。
| CLI input | Feature gate | 作用 | 当前状态 | 证据 | CLI源码证据 |
| --- | --- | --- | --- | --- | --- |
| `--dump-system-prompt` | `DUMP_SYSTEM_PROMPT` | 输出渲染后的 system prompt。 | 可用。 | `src/entrypoints/cli.tsx:89` | src/entrypoints/cli.tsx |
| `--computer-use-mcp` | `CHICAGO_MCP` | 启动 computer-use MCP server。 | 可用,可硬化 native backend。 | `src/entrypoints/cli.tsx:112` | src/entrypoints/cli.tsx |
| `--daemon-worker` | `DAEMON` | daemon supervisor 启动 worker fast path。 | 可用。 | `src/entrypoints/cli.tsx:124` | src/entrypoints/cli.tsx |
| `remote-control` / `rc` / `remote` / `sync` / `bridge` | `BRIDGE_MODE` | 启动 remote control bridge。 | 可用;订阅/OAuth/远端 gate 或 self-hosted。 | `src/entrypoints/cli.tsx:136-177` | src/entrypoints/cli.tsx |
| `daemon` | `DAEMON``BG_SESSIONS` | 统一 daemon/session 管理入口。 | 可用。 | `src/entrypoints/cli.tsx:184` | src/entrypoints/cli.tsx |
| `--bg` / `--background` | `BG_SESSIONS` | 启动后台会话。 | 可用。 | `src/entrypoints/cli.tsx:198` | src/entrypoints/cli.tsx |
| `ps` / `logs` / `attach` / `kill` | `BG_SESSIONS` | 旧兼容入口,映射到 daemon 子命令。 | 可用deprecated。 | `src/entrypoints/cli.tsx:211` | src/entrypoints/cli.tsx |
| `job` | `TEMPLATES` | template jobs CLI 入口。 | 可用。 | `src/entrypoints/cli.tsx:229` | src/entrypoints/cli.tsx |
| `new` / `list` / `reply` | `TEMPLATES` | 旧兼容入口,映射到 job。 | 可用deprecated。 | `src/entrypoints/cli.tsx:240` | src/entrypoints/cli.tsx |
| `environment-runner` | `BYOC_ENVIRONMENT_RUNNER` | BYOC headless runner。 | 占位/no-op。 | `src/entrypoints/cli.tsx:251`, `src/environment-runner/main.ts` | src/entrypoints/cli.tsx |
| `self-hosted-runner` | `SELF_HOSTED_RUNNER` | self-hosted runner register/poll/heartbeat 目标。 | 占位/no-op。 | `src/entrypoints/cli.tsx:261`, `src/self-hosted-runner/main.ts` | src/entrypoints/cli.tsx |
| `ssh <host> [dir]` | `SSH_REMOTE` | 远程 SSH REPL session。 | 占位session factory stub。 | `src/main.tsx:4829-4831`, `src/ssh/createSSHSession.ts` | src/main.tsx |
| `server` / `open <cc-url>` | `DIRECT_CONNECT` | direct connect server/open URL。 | 可用。 | `src/main.tsx:4742`, `src/main.tsx:4860` | src/main.tsx |
| `assistant [sessionId]` | `KAIROS` | attach REPL 到 running bridge session。 | 远端受限。 | `src/main.tsx:5197-5201` | src/main.tsx |
| `auto-mode` 子命令 | `TRANSCRIPT_CLASSIFIER` | inspect auto mode classifier 配置。 | 可用,可优化策略。 | `src/main.tsx:5140-5165` | src/main.tsx |
| `/autonomy` panel + `autonomy status [--deep]` / `runs` / `flows` / `flow ...` | non-feature slash/CLI | inspect local autonomy runs/flows/deep health surfaces and manage flow detail/cancel/resume。 | 可用;无参数 `/autonomy` 是 local-jsx 独立面板,基础子项覆盖 deep status 全部主要 section命令面板参数、usage、CLI 子命令描述集中在 `autonomyCommandSpec`CLI `flow resume` 会打印可执行 prompt。 | `src/commands/autonomy.ts`, `src/commands/autonomyPanel.tsx`, `src/main.tsx:5162`, `src/cli/handlers/autonomy.ts`, `src/utils/autonomyCommandSpec.ts` | src/main.tsx |
## 3.0.4 功能族调用链完整性判断
这一节按“功能族”总结,而不是按单个 flag 切碎。
| 功能族 | 相关 flags | 调用链完整性 | 用户可见入口 | 主要缺口 |
| --- | --- | --- | --- | --- |
| Skill 生态 | `EXPERIMENTAL_SKILL_SEARCH`, `SKILL_LEARNING`, `SKILL_IMPROVEMENT`, `MCP_SKILLS`, `RUN_SKILL_GENERATOR` | 高。搜索、自动加载、gap/draft、自动 evolve、用户确认式改写已形成项目侧闭环。 | `/skills`, `/skill-learning`, `SkillTool`, `DiscoverSkillsTool` | remote skill market lifecycle、quality scoring、真实 session id。 |
| 远程控制/Bridge | `BRIDGE_MODE`, `CCR_*`, `KAIROS*` | 高。Remote Control/CCR 调用链完整,本地 bridge/RCS 链路强;官方路径依赖订阅/OAuth/GrowthBook/policy。 | `/remote-control`, `/remote-control-server`, CLI `remote-control`, `/session` | 主要是订阅路径、自托管路径、policy/token 错误提示分流和长连接压测。 |
| 终端通讯/Pipes | `UDS_INBOX`, `LAN_PIPES`, `PIPE_IPC` | 高。UDS/named pipe、LAN TCP、registry、attach/detach/send/history、SendMessageTool 地址路由均已接线。 | `/pipes`, `/pipe-status`, `/attach`, `/detach`, `/send`, `/history`, `SendMessageTool` | 跨机器 TCP 安全确认、LAN 发现稳定性、真实多终端 smoke。 |
| 后台/Daemon/Jobs | `DAEMON`, `BG_SESSIONS`, `TEMPLATES` | 高。daemon/bg/job 命令、state、tests 已在。 | `/daemon`, `/job`, CLI `daemon`, `job`, `--bg` | 跨平台长期稳定性与恢复测试。 |
| 权限/分类 | `BASH_CLASSIFIER`, `TRANSCRIPT_CLASSIFIER`, `POWERSHELL_AUTO_MODE`, `TREE_SITTER_BASH*` | 中。Transcript/PowerShell/tree-sitter 链在Bash classifier 核心空。 | permission UI、auto mode、Bash/PowerShell tool | `BASH_CLASSIFIER` 需要自建本地替代。 |
| 浏览/外部信息 | `WEB_BROWSER_TOOL`, WebFetch/WebSearch 相关无 flag 部分 | 中。WebFetch/WebSearch 可用WebBrowser 是 lite。 | `WebBrowserTool`, `WebFetchTool`, `WebSearchTool` | full browser runtime / panel / JS/click/type/scroll。 |
| Context/Compact | `CONTEXT_COLLAPSE`, `REACTIVE_COMPACT`, `CACHED_MICROCOMPACT`, `HISTORY_SNIP`, `TOKEN_BUDGET` | 高。主链路存在。**2026-04-21: `context_management` 公开 API 的 `clear_tool_uses_20250919` 已解除 `USER_TYPE=ant` 门控,默认对所有 firstParty 用户启用 tool result 自动清理。`clear_thinking_20251015` 已对所有有 thinking 的用户生效。`compact_20260112` 服务端压缩策略 API/SDK 已支持但尚未接入。`CACHED_MICROCOMPACT`cache_edits 内部机制)从未进入公开 SDK保留代码但不启用。** | `/context`, `/compact`, Token UI | 复杂边界、模型兼容、恢复一致性。 |
| Voice/Native | `VOICE_MODE`, `CHICAGO_MCP`, `NATIVE_CLIPBOARD_IMAGE`, `NATIVE_CLIENT_ATTESTATION` | 中。UI 和入口多native 后端差异大。 | `/voice`, `--computer-use-mcp`, paste image | attestation 只能降级computer-use 后端需平台硬化。 |
| Telemetry/Sync/Policy | `UPLOAD_USER_SETTINGS`, `DOWNLOAD_USER_SETTINGS`, telemetry flags, policy limits | 中。客户端链路在,远端决定效果。 | `/status`, settings sync background | 远端服务和 analytics schema 受限。 |
### 3.1 明确占位
| Feature | 证据 | 当前影响 | 建议 |
| --- | --- | --- | --- |
| `SSH_REMOTE` | `src/main.tsx` 已注册 `ssh <host> [dir]``src/ssh/createSSHSession.ts` 仍抛 `SSH sessions are not supported in this build`。 | 打开 flag 后用户可见但不可用。 | 先实现 `createLocalSSHSession()`,再补真实 ssh/proxy/remote cwd。 |
| `BYOC_ENVIRONMENT_RUNNER` | `src/entrypoints/cli.tsx` 有 fast path`src/environment-runner/main.ts``Promise.resolve()`。 | 命令会静默成功但不做事。 | 先补参数校验和失败输出,再补 register/poll loop。 |
| `SELF_HOSTED_RUNNER` | `src/entrypoints/cli.tsx` 有 fast path`src/self-hosted-runner/main.ts``Promise.resolve()`。 | 与 BYOC 类似runner 不执行。 | 从 remote worker service 注释和 bridge/job 代码反推最小协议。 |
| `BASH_CLASSIFIER` | 49 个外围调用点;`src/utils/permissions/bashClassifier.ts` 恒 disabled。 | Bash 自动审批和语义权限不可用。 | 先实现本地规则 classifier内部模型同等能力不可复刻。 |
| `TORCH` | `src/commands/torch.ts` 输出 `No implementation is available in this build`。 | 隐藏内部 debug 命令,不影响用户主流程。 | 保留占位或删除入口;不建议优先恢复。 |
### 3.2 最小实现 / 薄壳
| Feature | 现状 | 缺口 | 是否可逆向补全 |
| --- | --- | --- | --- |
| `WEB_BROWSER_TOOL` | HTTP fetch + HTML 文本抽取dev 默认启用。 | 无 JS、无 click/type/scroll、`WebBrowserPanel``null`。 | 可以。可从 WebFetch/WebSearch/Chrome MCP/REPL panel 反推 browser-lite 或 full browser。 |
| `REVIEW_ARTIFACT` | Tool schema、permission UI、result message 有壳。 | `call()` 只回传 annotation countbuild/dev 默认注释掉,备注 API 请求无响应。 | 可以补 UI/本地 artifact surfaceAPI 同等能力受限。 |
| `AGENT_MEMORY_SNAPSHOT` | snapshot 检查、初始化、pending update 已有。 | 只覆盖 custom agent + user memory 场景。 | 可以。已有 `agentMemorySnapshot.ts``SnapshotUpdateDialog` 调用链。 |
| `BUILDING_CLAUDE_APPS` | 注册 `claude-api` bundled skill。 | 实际是文档型 skill不是 runtime feature。 | 不需要补 runtime。 |
| `RUN_SKILL_GENERATOR` | 注册 run-skill-generator skill。 | 入口薄,需看 skill 内容决定用途。 | 可从 bundled skill 内容继续完善。 |
| `CCR_REMOTE_SETUP` | 注册 remote setup command。 | 依赖 Claude web/GitHub token upload 服务。 | 本地流程可测;远端服务不可替代。 |
| `MCP_RICH_OUTPUT` | MCP UI 富输出开关。 | 更偏展示层,需继续做兼容矩阵。 | 可以从 MCPTool UI 数据结构补。 |
| `TERMINAL_PANEL` | TerminalCaptureTool/panel 类能力。 | 终端 UI 能力尚需交互验证。 | 可以从 Tool/Panel/permission 调用链补。 |
### 3.3 完整实现
这些 feature 当前已经有主链路,可按现有产品语义使用。仍可能需要测试/文档硬化,但不是最小实现。
| Feature | 完整性说明 |
| --- | --- |
| `BRIDGE_MODE` | bridge main、session、auth、policy、remote control server、自托管 RCS 均有实现。 |
| `AGENT_TRIGGERS_REMOTE` | RemoteTriggerTool 完整覆盖 list/get/create/update/runOAuth/org/policy headers 和本地 audit record 已接线;官方远端触发语义是订阅运行条件,不是本地占位。 |
| `CCR_AUTO_CONNECT` / `CCR_MIRROR` | Remote Control/CCR 自动连接和 mirror/outbound-only 入口、gate、runtime metadata 已接线。 |
| `DAEMON` | daemon supervisor、state、commands、tests 已有。 |
| `BG_SESSIONS` | bg engine、daemon 子命令、summary、ps/logs/attach/kill 兼容路径均已有。 |
| `TEMPLATES` | job command、state、templates、classifier、tests 已有。 |
| `WORKFLOW_SCRIPTS` | WorkflowTool 已升级为本地 runner支持 start/status/list/advance/cancel 和 `.claude/workflow-runs` 持久化按当前“agent 执行步骤、runner 管状态”的语义已可用。 |
| `EXPERIMENTAL_SKILL_SEARCH` | 本地 TF-IDF、turn-zero/turn-N prefetch、auto-load、gap learning、DiscoverSkillsTool、cache clear、compact 保留均已接线。 |
| `SKILL_LEARNING` | 已补齐 `SEARCH -> AUTO-LOAD -> GAP/DRAFT -> LEARN -> EVOLVE -> SEARCH` 项目侧闭环。 |
| `SKILL_IMPROVEMENT` | 已并入 skill-learning gate可对已加载/调用 skill 做用户确认式增量改写。 |
| `CONTEXT_COLLAPSE` | ContextVisualization、CtxInspectTool、auto/post compact、session restore 形成链路。 |
| `REACTIVE_COMPACT` | 413 prompt-too-long reactive compact 路径存在。 |
| `CACHED_MICROCOMPACT` | cache_edits state、threshold、delete refs、API path 已有。 |
| `VOICE_MODE` | UI、settings、STT、keybindings、REPL integration 已接线。 |
| `CHICAGO_MCP` | computer-use MCP 快速路径、cleanup、config、wrapper 已有。 |
| `MONITOR_TOOL` | shell/background task monitoring tools 与 UI 已接线。 |
| `FORK_SUBAGENT` | fork command、AgentTool fork path、ToolSearch prompt 集成已接线。 |
| `UDS_INBOX` | SendMessage/ListPeers/pipe IPC/REPL hooks 已接线。 |
| `LAN_PIPES` | pipe IPC/LAN 相关 hook 和命令已接线。 |
| `PIPE_IPC` | UDS/named pipe transport、NDJSON framing、registry 状态和 `/autonomy status --deep` 汇总已接线。 |
| `COORDINATOR_MODE` | tool pool、system prompt、commands、session restore、AgentTool 支持存在。 |
| `PROACTIVE` | proactive command/state/useProactive/SleepTool 集成存在。 |
| `AGENT_TRIGGERS` | scheduled tasks / cron tools / loop skill 链路存在。 |
| `ULTRAPLAN` | command、prompt input、permission UI、processUserInput 路由存在。 |
| `ULTRATHINK` | thinking keyword gate 实现简单但完整。 |
| `TRANSCRIPT_CLASSIFIER` | auto mode、permission/yolo/classifier metadata 相关路径大量接线;不是 BASH_CLASSIFIER 的 stub。 |
| `TEAMMEM` | team memory extraction/sync/watchers/CLAUDE.md integration 已接线。 |
| `MCP_SKILLS` | MCP commands -> skills 过滤和 SkillTool 支持存在。 |
| `CONNECTOR_TEXT` | API logging/message rendering/signature stripping支持存在。 |
| `COMMIT_ATTRIBUTION` | attribution hooks、trailers、session restore/worktree 集成存在。 |
| `DIRECT_CONNECT` | server/open/direct connect command path 存在。 |
| `EXTRACT_MEMORIES` | background housekeeping、stopHooks、memdir paths 集成存在。 |
| `HISTORY_SNIP` | SnipTool、snipCompact、messages/attachments 集成存在。 |
| `TOKEN_BUDGET` | query budget tracker、spinner、attachments、prompt warnings存在。 |
| `SHOT_STATS` | stats/statsCache/Stats UI 分布统计存在。 |
| `PROMPT_CACHE_BREAK_DETECTION` | api/compact/cache break detection paths存在。 |
| `TREE_SITTER_BASH` | bash parser gate存在。 |
| `TREE_SITTER_BASH_SHADOW` | shadow parse path存在。 |
| `VERIFICATION_AGENT` | built-in agents、TaskUpdate/TodoWrite、prompts 集成存在。 |
| `BUILTIN_EXPLORE_PLAN_AGENTS` | builtInAgents gate存在。 |
| `POOR` | poor mode command/settings/session memory gate存在。 |
| `POWERSHELL_AUTO_MODE` | PowerShell yolo/permission gate存在。 |
| `FILE_PERSISTENCE` | filePersistence path和CLI print集成存在。 |
### 3.4 可优化但非缺口
| Feature | 可优化点 |
| --- | --- |
| `EXPERIMENTAL_SKILL_SEARCH` | 当前本地搜索是 TF-IDF可加 embedding/LLM rerank、来源评分、远程市场 lifecycle。 |
| `SKILL_LEARNING` | 可接真实 session id、来源安全策略、自动生成 skill 的质量评审和去重。 |
| `SKILL_IMPROVEMENT` | 可减少 side-channel LLM 失败影响;支持非文件型 skill 的安全 patch 建议。 |
| `CACHED_MICROCOMPACT` | 内部 `cache_edits` 机制从未进入公开 SDKv0.80.0 无 `cache_reference`/`cache_edits` 类型),已被 `context_management` 公开 API 取代。保留代码但不启用。`context_management``clear_tool_uses_20250919` 已于 2026-04-21 解除 `USER_TYPE=ant` 门控,默认启用。 |
| `CONTEXT_COLLAPSE` | 可加强 collapse 命中率、可视化、session restore consistency。 |
| `BRIDGE_MODE` | 需要长连接、断线恢复、web/mobile 兼容矩阵持续压测。 |
| `DAEMON` / `BG_SESSIONS` | 可继续补 Windows/macOS/Linux 后台行为差异测试。 |
| `TEMPLATES` | 可补模板 schema、job reply、跨会话恢复更多测试。 |
| `WORKFLOW_SCRIPTS` | 可继续补 YAML schema、失败原因、重试策略和真实 agent 执行步骤的端到端 smoke。 |
| `VOICE_MODE` | 可加强 native audio backend、权限、fallback 文案。 |
| `CHICAGO_MCP` | 可继续补 Linux/Windows computer-use backend 完整度。 |
| `TEAMMEM` | 可优化 memory dedupe、secret guard、同步冲突处理。 |
| `TRANSCRIPT_CLASSIFIER` | 可减少误拒/误批;补更多 transcript fixtures。 |
| `KAIROS` 系列 | 可按远程服务 availability 做更明确降级和错误提示。 |
### 3.5 明确无法在外部版完整复刻的能力
这些不是“代码写不出来”,而是无法仅凭当前仓库达到内部生产同等语义。
| Feature | 受限原因 | 可做的替代 |
| --- | --- | --- |
| `BASH_CLASSIFIER` | Anthropic 内部 classifier/策略模型不可见。 | 可实现本地规则/AST/deny-ask-allow classifier。 |
| `REVIEW_ARTIFACT` | build/dev 注释已指出 API schema 请求无响应,缺稳定远端契约。 | 可做本地 artifact review UI/tool result surface。 |
| `BYOC_ENVIRONMENT_RUNNER` | 需要 BYOC worker service 协议、认证和控制面。 | 可从注释/bridge/job 反推最小 register/poll loop。 |
| `SELF_HOSTED_RUNNER` | 需要 SelfHostedRunnerWorkerService 真实协议。 | 可补参数校验、heartbeat/poll skeleton 和可诊断失败。 |
| `NATIVE_CLIENT_ATTESTATION` | 依赖官方 native client attestation 环境。 | 外部版只能保留 gate/提示或实现 no-op fallback。 |
| `KAIROS_GITHUB_WEBHOOKS` | 依赖 Claude.ai/GitHub webhook 远端服务。 | 本地可保留 sanitizer/subscription UI但不能替代远端事件源。 |
| `KAIROS_PUSH_NOTIFICATION` | 依赖官方 push notification service。 | 可保留本地/bridge 通知 fallback。 |
| `CCR_AUTO_CONNECT` / `CCR_MIRROR` | 官方路径依赖 Claude Code Remote/CCR 远端状态机。 | 当前本地调用链完整后续是订阅路径、self-hosted bridge/RCS fallback 和错误状态分流。 |
| `DOWNLOAD_USER_SETTINGS` / `UPLOAD_USER_SETTINGS` | 依赖设置同步服务。 | 可做本地文件 import/export fallback。 |
| `COWORKER_TYPE_TELEMETRY` / `MEMORY_SHAPE_TELEMETRY` / `ENHANCED_TELEMETRY_BETA` | 内部 analytics schema 和数据面不可见。 | 可保留本地 sink 或 debug logs。 |
## 4. 可从现有代码逆向补全的重点
### 4.1 `SSH_REMOTE`
可反推依据:
- `src/main.tsx` 已定义 CLI 入口、pending SSH 参数、REPL handoff。
- `src/ssh/createSSHSession.ts` 已定义 `SSHSession``SSHAuthProxy``createManager()``getStderrTail()` 接口。
- `src/ssh/SSHSessionManager.ts` 定义后续 session manager 契约。
反推路线:
1.`main.tsx` 调用参数确定 `createSSHSession(host, cwd, options)` 期望。
2. 实现 `createLocalSSHSession()` 用本地 subprocess 模拟,先让 REPL 跑通。
3. 实现真实 `ssh` subprocess建立 auth proxy 和 stderr ring buffer。
4. 写 CLI flag-on/off 和 factory failure tests。
### 4.2 `BASH_CLASSIFIER`
可反推依据:
- `src/utils/permissions/bashClassifier.ts` 类型完整。
- `src/utils/permissions/yoloClassifier.ts``permissions.ts``classifierApprovals.ts``BashPermissionRequest.tsx` 已定义消费方式。
- Bash/PowerShell 安全测试中已有 destructive pattern 和 semantics 样例。
反推路线:
1. 实现 `extractPromptDescription()` 和 prompt rule parsing。
2. 从 deny/ask/allow rule content 生成 description lists。
3. 用 bash parser/tree-sitter 或 conservative regex 分类。
4. 返回 high/medium/low confidence 和 reason。
5. 保持内部 classifier 不可见时的本地替代语义。
### 4.3 `WEB_BROWSER_TOOL`
可反推依据:
- Tool schema、prompt、fetch implementation 已有。
- `src/main.tsx` 已按 `Bun.WebView` 能力调整 Chrome hint。
- `WebBrowserPanel.ts` 是唯一明确 UI 空洞。
- WebFetch/WebSearch/Chrome MCP 有 URL、fetch、search、browser 控制相关实现。
反推路线:
1. 决定产品语义browser-lite 还是 full browser。
2. browser-lite: 改名/文案/Panel 文本快照,去掉视觉 screenshot 暗示。
3. full browser: 引入 session state、panel、navigate/click/type/scroll、JS runtime。
4. 与 Claude-in-Chrome MCP 明确边界。
### 4.4 `REVIEW_ARTIFACT`
可反推依据:
- `ReviewArtifactTool` schema 已定义 artifact/title/annotations/summary。
- Permission UI 已展示 annotation count/summary。
- Tool result mapping 已存在。
反推路线:
1. 先不依赖远端 API做本地 artifact review renderer。
2. 增加 line annotation rendering 和 transcript display。
3. 保留 API schema 作为未来远端兼容层。
### 4.5 `BYOC_ENVIRONMENT_RUNNER` / `SELF_HOSTED_RUNNER`
可反推依据:
- entrypoint 注释写明 BYOC/headless runner 和 self-hosted register + poll + heartbeat。
- bridge、daemon、job、remote-control-server 中已有 session polling、state、work dispatch、heartbeat 相关模式。
反推路线:
1. 先实现参数校验和明确错误,禁止 no-op 成功。
2. 用 remote-control-server 的 work-dispatch/store 模式实现本地可测 runner skeleton。
3. 把真实远端协议留作 adapter。
### 4.6 `SKILL_LEARNING` / `SKILL_IMPROVEMENT`
当前已补齐基础闭环,但仍可继续反推:
- `skillSearch/prefetch.ts` 是输入时发现和自动加载入口。
- `skillLearning/skillGapStore.ts` 是 gap/draft/promote 入口。
- `runtimeObserver.ts` 是采样后观察、instinct、自动 evolve 入口。
- `skillImprovement.ts` 是用户确认式增量改写入口。
下一步可以从这些调用链继续反推:
1. 真实 session id。
2. remote skill market discovery。
3. generated skill quality scoring。
4. superseded skill archive/delete policy 的端到端验证。
## 5. 当前优先级建议
### 如果目标是外部版可用性
1. `SSH_REMOTE`
2. `BASH_CLASSIFIER`
3. `WEB_BROWSER_TOOL`
4. `BYOC_ENVIRONMENT_RUNNER`
5. `SELF_HOSTED_RUNNER`
### 如果目标是减少半成品感
1. `WEB_BROWSER_TOOL`
2. `REVIEW_ARTIFACT`
3. `TORCH`
4. `TERMINAL_PANEL`
5. 隐藏命令 stub 和嵌套生成型 type stub 专项
### 如果目标是继续强化 skill 生态
1. remote skill discovery/load lifecycle
2. generated skill quality scoring
3. superseded skill archive/delete E2E
4. real session id 写入 observation/gap
5. 自动加载内容预算和来源策略
## 6. 测试策略
每个待恢复 feature 至少补四类测试:
1. flag off: 入口不可见或无副作用。
2. flag on: 入口可见且核心行为不是 no-op。
3. dependency missing: 缺外部依赖时给明确错误。
4. failure path: 网络/权限/配置错误不静默成功。
可逆向补全项还应补调用链测试:
- 上游入口能调用到下游核心实现。
- 下游核心返回值能被 UI / message / tool result 正确消费。
- stub 替换后不改变 flag-off 行为。