本章总览
斜杠命令是用户的遥控器:/model、/compact、/mcp 等 87 个命令,在 REPL 层拦截输入,不经过模型直接改系统行为。本章教你命令如何注册与分发。
总览图
渲染图表中…
学完本章你应该能
- 区分「斜杠命令」与「自然语言 prompt」
- 理解 commands/ 目录组织方式
- 知道几个最高频命令的作用
核心概念(先读懂这些)
命令是 processUserInput 的前置分支
用户输入以 / 开头时,query 循环前先走命令处理器。成功执行可能根本不调用 API——这是省电、省 token 的设计。
命令 vs 工具
命令给人类用(固定语法);工具给模型用(JSON schema)。/commit 可能内部再调 Agent,但入口层不同。
建议学习步骤
- 浏览命令列表找熟悉的
- 在源码搜 commands.ts 聚合逻辑
- 试跑 /doctor /help 对照实现
斜杠命令分派
渲染图表中…
概览
共 87 个斜杠命令,在 processUserInput() 阶段拦截,不发送给 Claude API。
模型/配置 (8)
| 命令 | 文件 | 行数 |
|---|---|---|
/color | 2 | 111 |
/config | 2 | 19 |
/effort | 2 | 197 |
/fast | 2 | 296 |
/keybindings | 2 | 68 |
/model | 2 | 314 |
/output-style | 2 | 19 |
/theme | 2 | 68 |
会话管理 (8)
| 命令 | 文件 | 行数 |
|---|---|---|
/branch | 2 | 312 |
/clear | 6 | 429 |
/compact | 2 | 304 |
/export | 2 | 103 |
/rename | 3 | 169 |
/resume | 2 | 288 |
/rewind | 2 | 28 |
/session | 2 | 157 |
MCP/插件 (5)
| 命令 | 文件 | 行数 |
|---|---|---|
/chrome | 2 | 299 |
/install-github-app | 15 | 2,370 |
/install-slack-app | 2 | 44 |
/mcp | 4 | 646 |
/reload-plugins | 2 | 81 |
记忆/Skills (3)
| 命令 | 文件 | 行数 |
|---|---|---|
/memory | 2 | 101 |
/plan | 2 | 134 |
/skills | 2 | 19 |
诊断/信息 (7)
| 命令 | 文件 | 行数 |
|---|---|---|
/context | 3 | 415 |
/cost | 2 | 49 |
/doctor | 2 | 20 |
/help | 2 | 22 |
/release-notes | 2 | 63 |
/status | 2 | 21 |
/usage | 2 | 17 |
权限/安全 (3)
| 命令 | 文件 | 行数 |
|---|---|---|
/permissions | 2 | 22 |
/privacy-settings | 2 | 73 |
/sandbox-toggle | 2 | 134 |
远程/桥接 (6)
| 命令 | 文件 | 行数 |
|---|---|---|
/bridge | 2 | 536 |
/desktop | 2 | 36 |
/mobile | 2 | 286 |
/remote-env | 2 | 23 |
/remote-setup | 3 | 391 |
/voice | 2 | 172 |
Agent/任务 (3)
| 命令 | 文件 | 行数 |
|---|---|---|
/agents | 2 | 23 |
/tag | 2 | 228 |
/tasks | 2 | 20 |
其他 (44)
| 命令 | 文件 | 行数 |
|---|---|---|
/add-dir | 3 | 249 |
/agents-platform | 1 | 22 |
/ant-trace | 0 | 0 |
/autofix-pr | 0 | 0 |
/backfill-sessions | 0 | 0 |
/break-cache | 0 | 0 |
/btw | 2 | 257 |
/bughunter | 0 | 0 |
/copy | 2 | 387 |
/ctx_viz | 0 | 0 |
/debug-tool-call | 0 | 0 |
/diff | 2 | 18 |
/env | 0 | 0 |
/exit | 2 | 46 |
/extra-usage | 4 | 185 |
/feedback | 2 | 52 |
/files | 2 | 33 |
/good-claude | 0 | 0 |
/heapdump | 2 | 31 |
/hooks | 2 | 25 |
/ide | 2 | 658 |
/issue | 0 | 0 |
/login | 2 | 119 |
/logout | 2 | 93 |
/mock-limits | 0 | 0 |
/oauth-refresh | 0 | 0 |
/onboarding | 0 | 0 |
/passes | 2 | 47 |
/perf-issue | 0 | 0 |
/plugin | 19 | 7,598 |
/pr_comments | 1 | 51 |
/rate-limit-options | 2 | 230 |
/reset-limits | 0 | 0 |
/review | 4 | 486 |
/share | 0 | 0 |
/stats | 2 | 18 |
/stickers | 2 | 29 |
/summary | 0 | 0 |
/teleport | 0 | 0 |
/terminalSetup | 2 | 555 |
/thinkback | 2 | 568 |
/thinkback-play | 2 | 62 |
/upgrade | 2 | 55 |
/vim | 2 | 51 |
实现原理
commands.ts 聚合所有命令模块。processUserInput() 在 query 循环前拦截 / 前缀输入,直接执行本地逻辑,不消耗 API token。
本章小结与延伸
87 命令 = 87 个「运维入口」。读 commands/ 子目录按功能分组最高效。 继续学习: