Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Book: Claude Code VS OpenCode: Architecture, Design and The Road Ahead 章节: 第11章 — Claude Code的商业设计 Model: openai/gpt-5.4 Generated: 2026-04-01 Token Usage: 当前API环境不可见

11.7 斜杠命令体系

Claude Code 的 slash command 体系,是它“像一个平台而不只是聊天壳”的最明显证据之一。中心注册表位于 src/commands.ts,这是一个约 754 行的文件,负责导入、过滤、组合和暴露上百个命令目录中的命令对象。命令系统在这里不是附属功能,而是用户控制代理的主控制面之一。

从类型上看,Claude Code 至少有三类命令:prompt 型、action 型、interactive 型。prompt 型主要生成文本或提示内容;action 型直接执行动作;interactive 型则启动更丰富的本地 UI 流程。这个分层很重要,因为它说明 slash command 并不是一堆平铺的快捷入口,而是已经有了明确的执行语义分类。

内建命令中,最典型的包括 /init/compact/memory/session/model/effort/cost/mcp/skills/agents/tasks/plugins 等。它们分别覆盖初始化、上下文治理、记忆管理、会话管理、模型控制、推理力度、成本查看、MCP 管理、技能、代理、任务与插件体系。也就是说,Claude Code 把大量系统能力都暴露成了统一的命令语言。

更重要的是,这个体系是 动态的commands.ts 并不只返回内建命令,它还会加载技能目录命令、插件命令、插件技能、bundled skills、workflow commands,甚至动态发现的 skills。换句话说,斜杠命令层是多个扩展系统的汇合点。功能最终是否“被看见”,很多时候取决于它能否进入 command registry。

这也让 Claude Code 的命令系统与 skill 系统发生了深度耦合。文件中有 getSkillToolCommandsgetSlashCommandToolSkillsgetMcpSkillCommands 等逻辑,说明有些命令是用户手工调用的,有些命令会被模型经由 Skill tool 调用,有些 MCP 加载进来的命令在满足条件时也会转化为 skill。也就是说,slash command 在 Claude Code 里不只是用户接口,同时也是模型能力组织方式的一部分。

这种统一有明显的商业价值。许多系统会把快捷命令、技能片段、插件入口、MCP 能力分散成多个概念层,结果用户理解成本很高。Claude Code 则尽量用 command object 这一套抽象来承载不同来源、不同用途、不同可见性的能力。命令是否可用,还可以根据认证状态、provider、feature gate 动态隐藏或展示。

从产品体验上看,这种体系非常像一个微型操作系统:/model 调模型,/effort 调思考强度,/compact 管上下文,/mcp 管外部工具服务器,/plugins/skills 管扩展,/session/memory 管持久化,/cost 管财务视角,/agents/tasks 管编排。这已经远远超出“聊天产品加几个快捷命令”的范畴。

与 OpenCode 和 Oh-My-OpenCode 相比,它们在开放定制性上往往更强;Claude Code 的优势在于,它把命令体系嵌入了整个平台结构之中。用户不是在一个聊天框里偶尔敲几个命令,而是在用一套命令语言调度代理系统的多个子系统。

因此,本节的核心结论是:当代理拥有模型、工具、会话、记忆、插件、MCP、成本、远程控制与多代理能力后,纯自然语言就不再是最高效的控制界面。一个成熟的 slash command 体系,是自由对话的必要补充。Claude Code 的 100+ 命令架构,正展示了这种结构化控制面的产品化形态。