# 输出风格

> 输出风格改变 Qwen Code 编写响应的方式——语气、叙述量、解释程度——而不改变它能做什么。风格是一组命名指令块，叠加在内置系统提示之上，模型在每一轮次都会收到当前活动风格的提醒，以便在长会话中保持一致。

- 网址：https://funcoding.ai/agents/qwen-code/users/features/output-styles/
- 来源：Qwen Code 官方文档原文（中文），Apache-2.0 许可，同步于 2026-10-11
- 官方原文：https://qwenlm.github.io/qwen-code-docs/zh/users/features/output-styles

---
输出风格改变 Qwen Code 编写响应的方式——语气、叙述量、解释程度——而不改变它能做什么。风格是一组命名指令块，叠加在内置系统提示之上，模型在每一轮次都会收到当前活动风格的提醒，以便在长会话中保持一致。

## 内置风格

| 风格              | 功能                                                                                                                                                                                        |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **default**       | 无额外风格——标准提示。                                                                                                                                                                      |
| **Concise**       | 先给答案，没有前言、叙述或结尾总结。工作深度不变；错误报告和安全确认保留完整内容。                                                                                                            |
| **Proactive**     | 立即开始工作，在低风险决策上倾向于采用已声明的假设而非提问。不改变允许范围：审批模式和确认规则仍然完全适用。                                                                                  |
| **Explanatory**   | 在工作过程中添加关于代码库和实现选择的简短教育性"Insight"注释。                                                                                                                              |
| **Learning**      | 协作式边做边学：将小而重要的代码片段交给你编写（标记为 `TODO(human)`），然后等待。在无头模式运行中跳过，因为无头模式无法等待。                                                                |

## 选择风格

运行 `/output-style` 打开选择器，或直接设置一个：

```
/output-style Concise
/output-style default   # 恢复为无风格
```

更改立即应用于当前运行的会话——系统提示就地重建，因此下一轮次就已按新风格回答——并为未来会话持久化保存。如果受信任的项目设置当前拥有 `general.outputStyle`，该命令会更新该项目设置；否则更新你的用户设置。风格名称不区分大小写。

你也可以不通过命令设置风格：

- **设置**：在 `settings.json`（用户或项目作用域）中设置 `"general": { "outputStyle": "Concise" }`。值为内置或[自定义](#custom-styles)风格名称。手动编辑在下次启动时生效。
- **单次运行**：`qwen -p "..." --output-style Concise` 覆盖该次运行的设置。参见[无头模式](https://funcoding.ai/agents/qwen-code/users/features/headless/)。

## 自定义风格

自定义风格是一个 Markdown 文件，其正文为风格的指令。将其放入以下两个目录之一：

| 位置                                   | 作用域                                           |
| -------------------------------------- | ------------------------------------------------ |
| `~/.qwen/output-styles/<name>.md`      | 你的风格，在所有项目中可用                       |
| `<project>/.qwen/output-styles/*.md`   | 项目的风格，仅在工作区受信任时读取               |

信任检查在风格每次使用时进行，而不仅在读取文件时，因此在会话中途撤销信任会阻止项目风格影响对话。

```markdown
---
name: Reviewer
description: Reviews code and reports findings without editing anything
keep-coding-instructions: false
---

You are reviewing, not implementing. Read the code the user points you at, list concrete findings ordered by severity, and never edit files unless the user asks for a fix.
```

前置元数据为可选项。每个字段都有默认值：

- `name` — 风格名称，用于 `/output-style <name>` 和 `general.outputStyle`。默认为去掉 `.md` 的文件名。`default` 为保留名称。
- `description` — 选择器中显示的单行摘要。默认为正文第一行。
- `keep-coding-instructions` — `true` 保留内置软件工程工作流指导在提示中与你的风格并存；`false` 移除该部分，适用于非编码类风格。未声明该字段的文件继承其覆盖的内置风格的值，因此重写 `concise.md` 会改变措辞但不会移除该指导；没有对应内置风格的文件默认为 `false`。内置提示中的其他所有内容——身份、安全规则、工具指导——在所有风格下仍然有效。

自定义风格在 `/output-style` 选择器中显示在内置风格之后，标注其来源，并在每次打开选择器或指定名称时重新读取，因此新文件无需重启。名称匹配不区分大小写且必须唯一：项目风格覆盖同名的用户风格，两者都覆盖同名的内置风格。无法加载的文件会被跳过并在调试日志中报告，其他文件继续加载——包括正文为空、名称无效、文件大于 25 kB（风格是提示，不是文档）、非 UTF-8 文本，或整个正文为 HTML 注释的文件。HTML 注释会从正文中剥离，因此给 teammate 的备注不会发送给模型。

风格文件必须为其自身：作为符号链接的项目文件会被跳过，用户文件可以是符号链接指向你自己的主目录（dotfiles 设置）但不能指向外部，硬链接在任何层级都会被拒绝。

自定义风格在 `--bare` 和 `--safe-mode` 中被忽略，这两种模式仅保留内置风格。

## 作用域与交互

- 风格叠加在内置提示之上。当 `--system-prompt` 或 `QWEN_SYSTEM_MD` 完全替换提示时，风格（及其每轮次提醒）不会被应用。
- 风格仅适用于主对话。子代理运行自己的系统提示，arena peer 仅在该风格保留编码指导时才继承会话风格——peer 根据其产生的差异进行评判，因此它永远不会在移除软件工程指导的情况下运行。
- `--bare` 和 `--safe-mode` 忽略该设置且不允许 `/output-style` 更改。
- 在会话中途更改风格会使缓存的提示前缀失效一次；之后缓存恢复正常工作。

风格调整语气和工作流，不调整知识或权限。对于模型应始终了解的项目约定，使用上下文文件（`QWEN.md`）；对于一次性添加到提示的内容，使用 `--append-system-prompt`。
