命令字典
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
管理代理的配置和设置选项
/agents 是 Claude Code 的会话内 slash 命令,用于打开当前会话的 subagent 管理面板。面板分两个标签页:
关键区别:/agents(会话内命令)与 CLI 命令 claude agents 是两个独立的东西。官方文档原文特别指出:"Despite the similar name, this is separate from claude agents."
claude agents 打开的是监控后台独立会话的全局 Agent View(标注为 "Research preview"),而 /agents 只管理当前会话内的 subagent。
会话中直接输入:
/agents
面板打开后,Running 标签页显示活跃的 subagent;Library 标签页列出所有已定义的 subagent,可在此新建或修改。
官方文档将 /agents 列为新项目第一次会话的标准步骤之一,位于 /init 和 /memory 之后:
"Use
/mcpand/agentsto set up any servers or subagents the project needs, and/permissionsto set the approval rules you want."
/agents 是交互式面板,包含以下两个标签页:
| 标签页 | 内容 |
|---|---|
| Running | 当前会话内所有活跃 subagent 及其运行状态 |
| Library | 自定义 subagent 的定义列表,支持新建和编辑 |
官方文档未列出面板内的具体键位绑定。
Subagent 以 .md 配置文件形式存储,分两个作用域:
| 作用域 | 目录 | 可见范围 |
|---|---|---|
| 项目级 | 项目 .claude/agents/ 目录下 | 仅当前项目 |
| 用户级 | ~/.claude/agents/ 目录下 | 所有项目("user-level subagents") |
每个 subagent 配置文件定义其:
AgentDefinition 通过 tools 字段限制工具范围)与 Agent SDK 的关系:/agents 依赖交互式终端,不在 SDK system/init 消息的 slash_commands 列表中,无法通过 query() 分发调用。SDK 中可调度的命令是出现在该 slash_commands 列表中的命令(官方示例输出含 clear、compact、context、usage,以及自定义命令如 refactor、security-check,并非固定穷举)。
.claude/agents/code-reviewer.md下面是一份可直接落地的 subagent 文件。前两个字段 name、description 是仅有的必填项,其余可选(官方 sub-agents 文档):
---
name: code-reviewer
description: Expert code reviewer. Use PROACTIVELY after code changes to review quality, security, and best practices.
tools: Read, Glob, Grep
model: haiku
---
You are a senior code reviewer. When invoked:
1. Run `git diff` against the base branch to see what changed.
2. Review only the changed lines for: correctness bugs, security issues
(injection, secrets, authz), and clear readability/maintainability wins.
3. For each finding, output: file:line, severity (high/medium/low), the
problematic snippet, and a concrete fix.
4. Do NOT modify files — you have read-only tools. Return a concise summary;
the main session will apply fixes.
Skip nitpicks. Prefer a few high-confidence findings over an exhaustive list.
字段语义:name 用小写字母+连字符(hooks 的 SubagentStart 把它作为 agent_type 收到);tools 省略则继承主会话全部工具,这里限定为只读三件套以强制"只评审不改";model: haiku 把这个高频侧任务路由到便宜模型(详见下面成本路由小节)。文件正文即该 subagent 的完整 system prompt。
description 的措辞如何决定自动委派官方明确:"Claude uses each subagent's description to decide when to delegate tasks. When you create a subagent, write a clear description so Claude knows when to use it." —— 也就是说是否自动触发完全由 description 这句话决定,而非文件名或正文。
@code-reviewer。所以 description 既是"做什么"也是"什么时候自动用我"的开关——把触发条件(after X / when Y)和 PROACTIVELY/MUST BE USED 这类强度词写进去,是让 subagent 自动接管的关键。
subagent 的生命周期会触发 hooks 事件 SubagentStart / SubagentStop,name 字段以 agent_type 形式传入,可据此做"某个 agent 启动/结束时自动跑脚本"。例如代码评审 agent 一结束就自动收集它的输出:
{
"hooks": {
"SubagentStop": [
{
"matcher": "code-reviewer",
"hooks": [
{ "type": "command", "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/on-review-done.sh" }
]
}
]
}
}
matcher 走 hooks 那套正则/精确匹配规则(注意 v2.1.195 后连字符标识符 code-reviewer 改为精确匹配,详见 hooks 指南)。也可以把 hooks 直接写进 subagent frontmatter 的 hooks 字段,作用域仅限该 subagent。
| 命令 / 工具 | 管理对象 | 运行范围 |
|---|---|---|
/agents(slash 命令) | 当前会话内的 subagent | 会话内面板 |
claude agents(CLI 命令) | 后台独立会话(Agent View) | 跨会话全局视图,Research preview |
/tasks | 当前会话内的后台任务 | 会话内 |
/workflows | 动态 workflow 运行记录 | 会话内 |
code-reviewer、test-runner)~/.claude/ 下),一次配置,所有项目共享model 字段,将不需要高能力的侧任务路由到更轻量的模型/agents 与 claude agents 混淆:名字相似但功能截然不同。/agents 是会话内的 subagent 管理面板;claude agents 是 CLI 入口,打开的是用于监控后台独立会话的 Agent View(实验性功能)。官方文档在 "Check on running work" 一节明确区分了两者。
SDK 中无法调度:/agents 需要交互式终端,在 Agent SDK 中无法通过 query() 发送,不会出现在 slash_commands 列表中。
移除 /agents 向导
修复 Library 列表箭头键导航时高亮项目不保持可见
修复详情视图错误标记对 subagent 不可用的内置工具为 Unrecognized 的问题
改进 `/agents` 添加选项卡布局,Running 标签显示活跃 subagents,Library 标签添加运行操作
在 `/agents` 中添加 `● N running` 指示符显示活跃 subagent 实例数
新增命令用于创建自定义子代理