{/* TRANSLATED — 已翻译为中文 */}

> ## 文档索引
> 在此获取完整文档索引：https://code.claude.com/docs/llms.txt
> 使用此文件发现所有可用页面，然后再进一步探索。

# 输出样式

> 调整 Claude Code 以用于软件工程之外的用途

输出样式改变 Claude 的响应方式，而不是 Claude 知道什么。它们修改系统提示以设置角色、语气和输出格式。当您每次都需要重新提示以获得相同的语气或格式时，或者当您希望 Claude 充当软件工程师以外的角色时使用。

自定义输出样式将您的指令添加到系统提示中，并让您选择是否保留 Claude Code 的内置软件工程指令。当您改变 Claude 的沟通方式但仍在编码时（例如始终用图表回答），保留它们。当 Claude 完全不从事软件工程时（如写作助手或数据分析师），不保留它们。

有关项目、约定或代码库的指令，请改用 [CLAUDE.md](/en/memory)。

## 内置输出样式

Claude Code 的**默认**输出样式是现有的系统提示，旨在帮助您高效完成软件工程任务。

还有三个额外的内置输出样式：

* **主动型**：Claude 立即执行，做出合理假设而不是为常规决策暂停，并偏好行动而非规划。这比[自动模式](/en/permission-modes#eliminate-prompts-with-auto-mode)应用的自主执行指导更强，它无需更改您的权限模式即可工作，因此您仍然会在工具运行前看到权限提示。

* **解释型**：在帮助您完成软件工程任务之间提供教育性的"洞察"。帮助您理解实现选择和代码库模式。

* **学习型**：协作式、边做边学的模式，Claude 不仅在编码时分享"洞察"，还要求您自己贡献小而关键的代码片段。Claude Code 会在您的代码中添加 `TODO(human)` 标记供您实现。

## 更改输出样式

运行 `/config` 并选择 **Output style** 从菜单中选择样式。您的选择保存到[本地项目级别](/en/settings)的 `.claude/settings.local.json`。

<Note>{/* max-version: 2.1.90 */}独立的 `/output-style` 命令在 v2.1.73 中已弃用，在 v2.1.91 中已移除。请使用 `/config` 或直接编辑 `outputStyle` 设置。</Note>

要不使用菜单设置样式，请直接在设置文件中编辑 `outputStyle` 字段：

```json theme={null}
{
  "outputStyle": "Explanatory"
}
```

输出样式是系统提示的一部分，Claude Code 在会话开始时读取一次。更改在 `/clear` 或新会话后生效。请参阅 [Claude Code 如何使用提示缓存](/en/prompt-caching#changing-output-style) 了解输出样式更改对缓存的影响。

## 创建自定义输出样式

自定义输出样式是一个 Markdown 文件：frontmatter 用于元数据，然后是要添加到系统提示的指令。

<Steps>
  <Step title="创建 Markdown 文件">
    将其保存在三个级别之一。文件名即样式名称，除非您在 frontmatter 中设置了 `name`。

    * 用户：`~/.claude/output-styles`
    * 项目：`.claude/output-styles`
    * 托管策略：[托管设置目录](/en/settings#settings-files)内的 `.claude/output-styles`
  </Step>

  <Step title="添加 frontmatter 和指令">
    决定是否保留 Claude Code 的软件工程指令。如果您改变 Claude 的沟通方式但仍希望其以相同方式编码，请设置 `keep-coding-instructions: true`。如果 Claude 不从事软件工程，则不设置。

    此示例在保留 Claude 编码行为的同时，以图表开头每个解释：

    ```markdown theme={null}
    ---
    name: Diagrams first
    description: Lead every explanation with a diagram
    keep-coding-instructions: true
    ---

    When explaining code, architecture, or data flow, start with a Mermaid diagram showing the structure, then explain in prose.

    ## Diagram conventions

    Use `flowchart TD` for control flow and `sequenceDiagram` for request paths. Keep diagrams under 15 nodes.
    ```
  </Step>

  <Step title="切换到您的样式">
    运行 `/config` 并在 **Output style** 下选择您的样式。它在 `/clear` 或下次启动会话后生效。
  </Step>
</Steps>

[插件](/en/plugins-reference) 也可以在 `output-styles/` 目录中提供输出样式。

### Frontmatter

输出样式文件支持以下 frontmatter 字段：

| Frontmatter                | 用途                                                                                                                                                                                                                                                     | 默认值                 |
| :------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------- |
| `name`                     | 输出样式名称（如果不是文件名）                                                                                                                                                                                                                           | 从文件名继承           |
| `description`              | 输出样式的描述，显示在 `/config` 选择器中                                                                                                                                                                                                                | 无                     |
| `keep-coding-instructions` | 保留 Claude Code 的内置软件工程指令                                                                                                                                                                                                                      | `false`                |
| `force-for-plugin`         | 仅限插件输出样式：当插件启用时自动应用此样式，无需用户选择。覆盖用户的 `outputStyle` 设置。如果多个启用的插件设置了此项，Claude Code 使用第一个加载的。                                                                                                | `false`                |

## 输出样式的工作原理

输出样式直接修改 Claude Code 的系统提示。

* 所有输出样式都有自己的自定义指令添加到系统提示末尾。
* 所有输出样式都会触发提醒，让 Claude 在对话过程中遵守输出样式指令。
* 自定义输出样式会省略 Claude Code 的内置软件 engineering 指令，例如如何限定更改范围、编写注释和验证工作，除非 `keep-coding-instructions` 设置为 `true`。

令牌使用量取决于样式。向系统提示添加指令会增加输入令牌，不过提示缓存会在会话中的第一个请求后降低此成本。内置的解释型和学习型样式默认产生比默认样式更长的响应，这会增加输出令牌。对于自定义样式，输出令牌使用量取决于您的指令告诉 Claude 生成什么。

## 与相关功能的比较

多个功能可以自定义 Claude Code 的行为。输出样式直接修改系统提示并应用于每个响应。其他功能添加指令而不更改默认系统提示，或将它们限定为特定任务。

| 功能                       | 工作方式                                                     | 使用场景                                                       |
| :------------------------- | :----------------------------------------------------------- | :------------------------------------------------------------- |
| 输出样式                   | 修改系统提示                                                 | 您希望每次响应都有不同的角色、语气或默认响应格式               |
| [CLAUDE.md](/en/memory)    | 在系统提示后添加用户消息                                     | Claude 应始终了解您的项目约定和代码库上下文                    |
| `--append-system-prompt`   | 附加到系统提示而不删除任何内容                               | 您希望为单次调用进行一次性添加                                 |
| [Agents](/en/sub-agents)   | 使用自己的系统提示、模型和工具运行子智能体                   | 您希望为专注任务提供独立范围的助手                             |
| [Skills](/en/skills)       | 在调用或相关时加载特定任务的指令                             | 您有可重用的工作流                                             |

## 相关资源

* [设置](/en/settings)：`outputStyle` 字段所在位置以及设置优先级的工作方式
* [权限模式](/en/permission-modes)：主动样式与自动模式的比较
* [插件](/en/plugins)：将输出样式与技能、钩子和智能体一起打包和分发
* [调试配置](/en/debug-your-config)：诊断输出样式未生效的原因
