命令系统
用户输入 /command 走 斜杠命令 路径,不经过模型即可执行配置、清理、插件管理等;与自然语言消息并列进入 REPL。
1. 命令类型
| 类型 | 说明 |
|---|---|
| 内置 | 仓库 commands/ 实现 |
| 插件 | plugin.json 声明 |
| 用户 | 项目 .claude/commands |
2. CommandBase 契约
name、description、handler(ctx);可访问 settings、会话、UI 打印。
Handler 可同步或异步,可打开子屏幕(settings UI 等)。
3. 加载与过滤
- 启动扫描 + 延迟加载重命令。
- 三层可用性:环境(CI/TTY)、权限模式、feature flag。
4. 常见内置类(语义)
| 方向 | 示例能力 |
|---|---|
| 会话 | clear、resume、export |
| 配置 | model、permissions、hooks |
| 开发 | commit、review、doctor |
| 扩展 | plugin、mcp |
精确列表随版本增减,以 commands/ 目录为准。
5. 与对话循环关系
斜杠命令 不占用 model turn(除非命令内部主动 query);自然语言才进 query()。
6. 总结
命令 = 确定性操作用户界面;扩展优先走插件清单而非改 core。