内置输出样式
Claude Code 的默认输出样式是现有的系统提示,旨在帮助你高效地完成软件工程任务。 还有三种额外的内置输出样式:- Proactive:Claude 立即执行,做出合理的假设而不是暂停进行常规决策,并倾向于行动而非规划。这提供了比自动模式更强的自主执行指导,并且无需更改你的权限模式即可工作,因此你仍然会在工具运行前看到权限提示。
- Explanatory:在帮助你完成软件工程任务的同时提供教育性的”Insights”。帮助你理解实现选择和代码库模式。
-
Learning:协作式的边学边做模式,Claude 不仅会在编码时分享”Insights”,还会要求你自己贡献小的、战略性的代码片段。Claude Code 将在你的代码中添加
TODO(human)标记供你实现。
更改你的输出样式
运行/config 并选择输出样式从菜单中选择一种样式。你的选择会保存到本地项目级别的 .claude/settings.local.json。
独立的
/output-style 命令在 v2.1.73 中已弃用,在 v2.1.91 中被移除。使用 /config 或直接编辑 outputStyle 设置。outputStyle 字段:
/clear 或新会话后生效。请参阅Claude Code 如何使用 prompt caching了解输出样式更改对缓存的影响。
创建自定义输出样式
自定义输出样式是一个 Markdown 文件:frontmatter 用于元数据,然后是要添加到系统提示的说明。创建一个 Markdown 文件
在三个级别之一保存它。文件名成为样式名称,除非你在 frontmatter 中设置
name。- 用户:
~/.claude/output-styles - 项目:
.claude/output-styles - 托管策略:托管设置目录内的
.claude/output-styles
.claude/output-styles/ 加载。从 v2.1.178 开始,当多个这样的嵌套目录定义了同名样式时,Claude Code 使用最接近工作目录的那个。添加 frontmatter 和说明
决定是否保留 Claude Code 的软件工程说明。如果你改变 Claude 的通信方式但仍希望它以相同的方式编码,请设置
keep-coding-instructions: true。如果 Claude 不会进行软件工程,请省略它。此示例在保留 Claude 编码行为的同时,在每个解释前面加上一个图表:output-styles/ 目录中提供输出样式。
Frontmatter
输出样式文件支持这些 frontmatter 字段:| Frontmatter | 目的 | 默认值 |
|---|---|---|
name | 输出样式的名称,如果不是文件名 | 从文件名继承 |
description | 输出样式的描述,在 /config 选择器中显示 | 无 |
keep-coding-instructions | 保留 Claude Code 的内置软件工程说明 | false |
force-for-plugin | 仅限 Plugin 输出样式:在启用 plugin 时自动应用此样式,无需要求用户选择它。覆盖用户的 outputStyle 设置。如果多个启用的 plugin 设置了此项,Claude Code 使用第一个加载的。 | false |
输出样式如何工作
输出样式直接修改 Claude Code 的系统提示。- 所有输出样式都在系统提示的末尾添加了自己的自定义说明。
- 所有输出样式都会在对话期间触发提醒,让 Claude 遵守输出样式说明。
- 自定义输出样式排除了 Claude Code 的内置软件工程说明,例如如何限定更改范围、编写注释和验证工作,除非
keep-coding-instructions设置为true。
与相关功能的比较
多个功能自定义 Claude Code 的行为方式。输出样式直接修改系统提示并应用于每个响应。其他功能添加说明而不改变默认系统提示,或将其范围限定为特定任务。相关资源
- Settings:
outputStyle字段所在的位置以及设置优先级的工作原理 - Permission modes:Proactive 样式与自动模式的比较方式
- Plugins:打包和分发输出样式以及 skills、hooks 和 agents
- Debug your configuration:诊断为什么输出样式没有生效