命令系统的核心入口是 src/commands.ts。它承担三件事:
- 汇总内置命令模块
- 根据 feature flag、用户类型和运行环境决定哪些命令生效
- 把内置命令、技能命令、插件命令、MCP 命令统一整理成最终命令池
从架构上看,命令系统是“用户入口层”,主要解决“用户能在 CLI 里触发什么能力”的问题;真正执行动作时,很多命令还会进一步调用工具系统、服务层或 REPL 查询主循环。
-
src/commands.ts顶层命令注册表与统一导出入口。 -
src/types/command.ts命令模型、命令类型和启用逻辑的核心类型定义。 -
src/skills/loadSkillsDir.ts动态技能命令的加载入口。 -
src/utils/plugins/loadPluginCommands.ts插件命令与插件技能命令的加载入口。
src/commands.ts 直接导入一批命令实现,例如:
commands/config/index.jscommands/doctor/index.jscommands/review.jscommands/mcp/index.jscommands/tasks/index.jscommands/plugin/index.js
并通过以下机制进行筛选:
USER_TYPE === 'ant'feature('...')- 是否使用第三方服务
- 当前配置和运行模式
最终命令集合并不只来自内置命令,还会叠加:
- 技能目录里的动态命令
- 内置插件带来的命令
- 已安装插件带来的命令
- MCP 暴露出来的命令
因此在 REPL 中看到的命令列表,是“内置 + 动态扩展”的结果,而不是一个固定死表。
命令的执行形态大致分三类:
-
立即执行型 典型如
/config、/doctor这类更偏本地 UI 或本地逻辑的命令。 -
prompt 型 将命令转成提示、上下文或查询任务,再交给主查询流程执行。
-
混合型 既修改本地状态,又影响后续查询行为或工具集。
下面按职责对内置命令做更适合阅读的分类。
这类命令主要负责当前 REPL 会话、历史、状态或交互模式切换。
resumesessionclearexitrewindsummarystatusstatuslinetagrenamethinkbackthinkback-play
作用特点:
- 操作当前会话状态
- 管理历史记录或会话恢复
- 影响界面呈现或当前会话元信息
这类命令主要面向配置、模型、权限、风格和环境设置。
configmodelpermissionsoutput-stylethemecolorfasteffortprivacy-settingsrate-limit-optionsenvremote-envsandbox-togglevimkeybindings
作用特点:
- 决定查询行为
- 决定工具权限和模式
- 决定终端输出与交互风格
这类命令围绕当前代码仓库、文件、上下文和工作目录展开。
add-dirfilescontextdiffbranchcopycompactmemorypasses
作用特点:
- 改变可见上下文范围
- 管理输入给模型的仓库信息
- 提供面向代码库的快捷操作
这类命令围绕账户身份、集成安装和设备接入展开。
loginlogoutoauth-refreshinstall-github-appinstall-slack-appdesktopmobileideterminalSetupchrome
作用特点:
- 处理鉴权
- 处理外部客户端接入
- 处理桌面、移动端、IDE 或浏览器联动
这类命令负责扩展机制,是系统可扩展性的核心入口。
mcpskillspluginreload-pluginshooksagentsplantasks
作用特点:
- 让系统接入外部能力
- 管理命令、工具、资源与自动化组件
- 与多代理、计划模式、任务模式联动
这类命令主要面向审查、问题定位、数据分析和自检。
reviewsecurity-reviewdoctorusageinsightsstatscostfeedbackrelease-notesupgrade
作用特点:
- 帮助定位问题
- 帮助分析使用情况
- 帮助审查代码或系统状态
这类命令与 Git、PR、协作流程更强绑定。
commitcommit-push-prpr_commentsshareautofix-pr
作用特点:
- 将模型能力接入代码提交流程
- 把审查、修复和 PR 工作流串起来
这类命令更多面向 Anthropic 内部环境、实验特性或开发调试。
backfill-sessionsbreak-cachebughunterctx_vizgood-claudeissueinit-verifiersmock-limitsbridge-kickversionant-traceperf-issuedebug-tool-callonboardingteleport
作用特点:
- 很多不会在外部构建中完整保留
- 常与 feature flag 或内部用户类型绑定
以下命令可从 src/commands.ts 直接看到其注册来源:
| 命令 | 实现位置 | 主要职责 |
|---|---|---|
add-dir |
src/commands/add-dir/ |
将目录加入上下文或项目工作范围 |
advisor |
src/commands/advisor.js |
与 advisor 模式或 advisor 配置相关 |
agents |
src/commands/agents/ |
代理定义与代理相关命令 |
ant-trace |
src/commands/ant-trace/ |
内部跟踪/诊断命令 |
autofix-pr |
src/commands/autofix-pr/ |
自动修复 PR 相关问题 |
branch |
src/commands/branch/ |
分支工作流辅助 |
break-cache |
src/commands/break-cache/ |
内部缓存调试 |
bughunter |
src/commands/bughunter/ |
问题定位或内部调试 |
chrome |
src/commands/chrome/ |
浏览器或 Claude in Chrome 集成 |
clear |
src/commands/clear/ |
清空当前会话或界面状态 |
color |
src/commands/color/ |
颜色或终端显示相关设置 |
commit |
src/commands/commit.js |
Git commit 工作流 |
commit-push-pr |
src/commands/commit-push-pr.js |
提交、推送、PR 一体化流程 |
compact |
src/commands/compact/ |
压缩上下文或会话内容 |
config |
src/commands/config/ |
配置查看与编辑 |
context |
src/commands/context/ |
上下文查看与控制 |
copy |
src/commands/copy/ |
复制输出或内容处理 |
cost |
src/commands/cost/ |
使用成本与统计 |
ctx_viz |
src/commands/ctx_viz/ |
上下文可视化 |
debug-tool-call |
src/commands/debug-tool-call/ |
工具调用调试 |
desktop |
src/commands/desktop/ |
桌面端能力或接入 |
diff |
src/commands/diff/ |
代码差异查看 |
doctor |
src/commands/doctor/ |
环境检查与故障诊断 |
effort |
src/commands/effort/ |
推理强度设置 |
env |
src/commands/env/ |
环境变量与环境信息 |
exit |
src/commands/exit/ |
退出流程 |
export |
src/commands/export/ |
导出会话或结果 |
extra-usage |
src/commands/extra-usage/ |
额外使用统计 |
fast |
src/commands/fast/ |
快速模式切换 |
feedback |
src/commands/feedback/ |
反馈提交流程 |
files |
src/commands/files/ |
文件与上下文文件相关操作 |
good-claude |
src/commands/good-claude/ |
内部或实验命令 |
heapdump |
src/commands/heapdump/ |
堆内存诊断 |
help |
src/commands/help/ |
帮助系统 |
hooks |
src/commands/hooks/ |
hooks 配置或查看 |
ide |
src/commands/ide/ |
IDE 集成 |
init |
src/commands/init.js |
初始化工作流 |
init-verifiers |
src/commands/init-verifiers.js |
初始化校验器 |
install-github-app |
src/commands/install-github-app/ |
GitHub App 安装 |
install-slack-app |
src/commands/install-slack-app/ |
Slack App 安装 |
issue |
src/commands/issue/ |
issue 工作流 |
keybindings |
src/commands/keybindings/ |
键位设置 |
login |
src/commands/login/ |
登录 |
logout |
src/commands/logout/ |
登出 |
mcp |
src/commands/mcp/ |
MCP 配置、连接和资源管理 |
memory |
src/commands/memory/ |
记忆系统相关操作 |
mobile |
src/commands/mobile/ |
移动端接入 |
mock-limits |
src/commands/mock-limits/ |
限额模拟 |
model |
src/commands/model/ |
模型切换与查看 |
oauth-refresh |
src/commands/oauth-refresh/ |
OAuth 刷新 |
onboarding |
src/commands/onboarding/ |
新手引导 |
output-style |
src/commands/output-style/ |
输出样式设置 |
passes |
src/commands/passes/ |
passes 相关能力 |
perf-issue |
src/commands/perf-issue/ |
性能问题收集 |
permissions |
src/commands/permissions/ |
权限模式管理 |
plan |
src/commands/plan/ |
计划模式相关入口 |
plugin |
src/commands/plugin/ |
插件管理 |
pr_comments |
src/commands/pr_comments/ |
PR 评论工作流 |
privacy-settings |
src/commands/privacy-settings/ |
隐私设置 |
rate-limit-options |
src/commands/rate-limit-options/ |
速率/额度设置 |
release-notes |
src/commands/release-notes/ |
版本说明展示 |
reload-plugins |
src/commands/reload-plugins/ |
重新加载插件 |
remote-env |
src/commands/remote-env/ |
远程环境设置 |
resume |
src/commands/resume/ |
恢复会话 |
review |
src/commands/review.js |
代码审查工作流 |
rewind |
src/commands/rewind/ |
回滚到先前状态 |
sandbox-toggle |
src/commands/sandbox-toggle/ |
沙箱模式切换 |
security-review |
src/commands/security-review.js |
安全审查 |
session |
src/commands/session/ |
会话元数据与状态操作 |
share |
src/commands/share/ |
分享会话或结果 |
skills |
src/commands/skills/ |
技能管理 |
stats |
src/commands/stats/ |
状态或指标统计 |
status |
src/commands/status/ |
当前状态展示 |
stickers |
src/commands/stickers/ |
贴纸/辅助展示类命令 |
summary |
src/commands/summary/ |
摘要信息 |
tag |
src/commands/tag/ |
标签管理 |
tasks |
src/commands/tasks/ |
任务模式与任务管理 |
teleport |
src/commands/teleport/ |
远程传送/远端恢复 |
terminalSetup |
src/commands/terminalSetup/ |
终端环境设置 |
theme |
src/commands/theme/ |
主题切换 |
thinkback |
src/commands/thinkback/ |
回溯式分析 |
thinkback-play |
src/commands/thinkback-play/ |
thinkback 重放 |
upgrade |
src/commands/upgrade/ |
升级相关逻辑 |
usage |
src/commands/usage/ |
使用量与报告 |
vim |
src/commands/vim/ |
vim 模式与键位 |
voice |
src/commands/voice/ |
语音模式 |
从命令系统的组织方式可以看出几个明显特征:
- 命令系统不是孤立层,而是“前台入口层”
- 许多命令本身不直接完成复杂工作,而是切换状态、构造上下文、触发工具或查询
- 命令集合是动态扩展的,插件、技能和 MCP 都能向这层注入能力
commands.ts的价值不是“实现命令”,而是“统一定义系统外部接口面”
如果要继续深读命令系统,优先级最高的通常是:
src/commands/config/src/commands/mcp/src/commands/tasks/src/commands/plugin/src/commands/review.jssrc/commands/doctor/src/commands/resume/