一条消息可以不止一个命令。只要你有好几行分别以 `/` 或 `@` 开头,Cockpit 就把整条消息当成一条**有序工作流**来读 —— 每个命令行是一个步骤,Cockpit 在 AI 开工前把它们拼成一份带编号的计划。要表达「先澄清这个、再修它、然后让子代理审一遍修复」,这是最快的方式,不用分三条消息发。

它直接建立在[斜杠菜单](/zh/docs/agent/message-input/#斜杠菜单-)和 [Skills](/zh/docs/agent/skills/) 之上 —— 同样的命令,现在能串起来了。

## 一条消息,多个步骤

每一行只要以已知命令开头,就成为一个步骤:

| 标记 | 步骤在哪里执行 |
|---|---|
| `/verb` | **主会话** —— AI 在当前聊天里继续 |
| `@verb` | **子代理(sub-agent)** —— Cockpit 把这步委派给一个独立 agent,完成后回报 |

`verb` 可以是任意内置命令(`/qa`、`/fx`、`/cr`……),也可以是同名的[已安装 skill](/zh/docs/agent/skills/#custom-skills)。verb 以字母开头,可含字母、数字和连字符 —— 所以 `/new-branch` 和 `/qa` 都是单个命令。

来看一条三步消息:

```text
这是失败的测试输出:支付 webhook 在重试时返回 500。
/fx
查清楚为什么幂等键没被尊重
@cr
审一下这个修复有没有竞态和漏掉的回滚
```

Cockpit 会把它拼成一份有序的 prompt —— 大致是:

```text
这是失败的测试输出:支付 webhook 在重试时返回 500。

请按以下步骤依次完成:

步骤 1(主会话执行):
请读取这个 skill 文件:
~/.cockpit/skills/fx/SKILL.md
问题:查清楚为什么幂等键没被尊重

步骤 2(用 subagent 执行):
请读取这个 skill 文件:
~/.cockpit/skills/cr/SKILL.md
问题:审一下这个修复有没有竞态和漏掉的回滚
```

你写四行;AI 收到一份按序推进的结构化计划。

## 一条消息怎么被切成步骤

规则基于行,可预测:

- **命令行**:第一个非空白字符是 `/` 或 `@`、后面紧跟一个已知 verb 的行。以斜杠开头但不是真命令的(`/usr/local/bin`、`@某人`)会被当普通文本留着。
- **步骤的 body**:该行 verb 之后的内容,加上后续所有行,直到下一条命令行为止。空行和多段落都保留 —— 所以一个步骤想带多少上下文都行。
- **前言(preamble)**:第一条命令行**之前**的文字,原样放在计划顶部 —— 适合把错误日志贴在这里,或为整条工作流统一交代一次目标。

## 主会话 vs 子代理 —— `/` 与 `@`

- `/verb` 把工作留在**当前聊天**。适合那些你想逐轮盯着、随时纠偏的步骤。
- `@verb` 把这步交给**子代理**。适合自成一体的活儿 —— 一轮审查、一次探索、一段聚焦调查 —— 你想让它办完并给出小结,又不想塞满主线。

一种常见形态是「主会话里把活干了,再派个子代理来检查」:

```text
/go
实现工单里描述的重试退避
@cr
审一下刚写的东西,看正确性和风格
```

## 内置命令与你自己的 skill,混着用

一条工作流可以自由混用[内置命令](/zh/docs/agent/skills/)和你的[已安装 skill](/zh/docs/agent/skills/#custom-skills) —— 它们都走同一条「读这个 SKILL.md」的路径解析。如果你装的 skill 和某个内置同名,**你的 skill 优先**:你写的 `/cr` 会盖住内置 `/cr`,所以你的改动始终生效。

## 自动补全跟着光标走

命令菜单不再只在输入框最开头触发。在**任意一行**开头打 `/` 或 `@` —— 第二行、第三行、第四行都行 —— 自动补全下拉就会为那一行弹出,边打边过滤。`Tab` 或 `Enter` 插入选中的命令。这正是让你一行一行叠命令变得顺手的关键。

## 什么时候它仍是单个命令

如果你的消息只是一个 `/verb`、没有前言、也没有 `@`,什么都不会变 —— 你拿到的还是原来的紧凑行为:该命令的 skill 加上你后面的文字,作为一条普通对话发出。只有当真的有工作流要跑时 —— 两个及以上命令、任意 `@` 子代理步骤、或开头有前言 —— 才会出现带编号的步骤列表。

## 下一步

- [Skills](/zh/docs/agent/skills/) —— 内置命令,以及如何安装你自己的
- [消息输入](/zh/docs/agent/message-input/) —— 消息框还能做的其他事
- [会话管理](/zh/docs/agent/sessions/) —— 管理多个聊天 tab
