命令
本文档详细说明了 Qwen Code 支持的所有命令,帮助你高效地管理会话、自定义界面并控制其行为。
Qwen Code 的命令通过特定前缀触发,分为以下三类:
| 前缀类型 | 功能说明 | 典型使用场景 |
|---|---|---|
斜杠命令(/) | 对 Qwen Code 本身的元级别控制 | 管理会话、修改设置、获取帮助 |
At 命令(@) | 快速将本地文件内容注入对话 | 让 AI 分析指定文件或目录下的代码 |
感叹号命令(!) | 直接与系统 Shell 交互 | 执行 git status、ls 等系统命令 |
1. 斜杠命令(/)
斜杠命令用于管理 Qwen Code 会话、界面及基本行为。
1.1 会话与项目管理
这些命令可帮助你保存、恢复和汇总工作进度。
| 命令 | 描述 | 使用示例 |
|---|---|---|
/init | 分析当前目录并创建初始上下文文件 | /init |
/summary | 基于对话历史生成项目摘要 | /summary |
/compress | 用摘要替换聊天历史以节省 Token | /compress |
/resume | 恢复之前的会话 | /resume |
/restore | 将文件恢复至工具执行前的状态 | /restore(列出)或 /restore <ID> |
1.2 界面与工作区控制
用于调整界面外观和工作环境的命令。
| 命令 | 描述 | 使用示例 |
|---|---|---|
/clear | 清空终端屏幕内容 | /clear(快捷键:Ctrl+L) |
/theme | 切换 Qwen Code 的视觉主题 | /theme |
/vim | 开启/关闭输入区域的 Vim 编辑模式 | /vim |
/directory | 管理支持多目录的工作区 | /dir add ./src,./tests |
/editor | 打开对话框以选择受支持的编辑器 | /editor |
1.3 语言设置
专门用于控制界面和输出语言的命令。
| 命令 | 描述 | 使用示例 |
|---|---|---|
/language | 查看或更改语言设置 | /language |
→ ui [language] | 设置用户界面语言 | /language ui zh-CN |
→ output [language] | 设置大语言模型(LLM)输出语言 | /language output Chinese |
- 可用的内置界面语言:
zh-CN(简体中文)、en-US(英语)、ru-RU(俄语)、de-DE(德语) - 输出语言示例:
Chinese(中文)、English(英语)、Japanese(日语)等
1.4 工具与模型管理
用于管理 AI 工具和模型的命令。
| 命令 | 描述 | 使用示例 |
|---|---|---|
/mcp | 列出已配置的 MCP 服务器及工具 | /mcp、/mcp desc |
/tools | 显示当前可用的工具列表 | /tools、/tools desc |
/skills | 列出并运行可用技能 | /skills、/skills <name> |
/approval-mode | 更改工具使用的审批模式 | /approval-mode <mode (auto-edit)> --project |
→plan | 仅分析,不执行 | 安全审查 |
→default | 编辑操作需人工审批 | 日常使用 |
→auto-edit | 自动批准所有编辑操作 | 可信环境 |
→yolo | 自动批准全部操作 | 快速原型开发 |
/model | 切换当前会话中使用的模型 | /model |
/extensions | 列出当前会话中所有启用的扩展 | /extensions |
/memory | 管理 AI 的指令上下文 | /memory add Important Info |
1.5 信息、设置与帮助
用于获取信息和执行系统设置的命令。
| 命令 | 描述 | 使用示例 |
|---|---|---|
/help | 显示可用命令的帮助信息 | /help 或 /? |
/about | 显示版本信息 | /about |
/stats | 显示当前会话的详细统计信息 | /stats |
/settings | 打开设置编辑器 | /settings |
/auth | 更改认证方式 | /auth |
/bug | 提交关于 Qwen Code 的问题 | /bug 按钮点击无响应 |
/copy | 将上一次输出内容复制到剪贴板 | /copy |
/quit | 立即退出 Qwen Code | /quit 或 /exit |
1.6 常用快捷键
| 快捷键 | 功能 | 说明 |
|---|---|---|
Ctrl/Cmd+L | 清屏 | 等效于 /clear |
Ctrl/Cmd+T | 切换工具描述 | MCP 工具管理 |
Ctrl/Cmd+C×2 | 退出确认 | 安全退出机制 |
Ctrl/Cmd+Z | 撤销输入 | 文本编辑 |
Ctrl/Cmd+Shift+Z | 重做输入 | 文本编辑 |
2. @ 命令(引入文件)
@ 命令用于快速将本地文件或目录内容添加到对话中。
| 命令格式 | 描述 | 示例 |
|---|---|---|
@<文件路径> | 注入指定文件的内容 | @src/main.py 请解释这段代码 |
@<目录路径> | 递归读取目录下所有文本文件 | @docs/ 总结该文档的内容 |
独立的 @ | 在讨论 @ 符号本身时使用 | @ 编程中这个符号有什么用途? |
注意:路径中的空格需用反斜杠转义(例如:@My\ Documents/file.txt)
3. 感叹号命令(!)—— Shell 命令执行
感叹号命令允许你在 Qwen Code 中直接执行系统命令。
| 命令格式 | 描述 | 示例 |
|---|---|---|
!<shell 命令> | 在子 Shell 中执行命令 | !ls -la、!git status |
单独的 ! | 切换至 Shell 模式,此后所有输入均被直接作为 Shell 命令执行 | !(回车)→ 输入命令 → !(退出) |
环境变量:通过 ! 执行的命令会设置环境变量 QWEN_CODE=1。
4. 自定义命令
将常用提示词保存为快捷命令,以提升工作效率并确保一致性。
Note
自定义命令现采用 Markdown 格式,并支持可选的 YAML 前置元数据。TOML 格式已弃用,但为向后兼容仍被支持。当检测到 TOML 文件时,系统将自动显示迁移提示。
快速概览
| 功能 | 描述 | 优势 | 优先级 | 适用场景 |
|---|---|---|---|---|
| 命名空间 | 子目录生成以冒号命名的命令 | 更好的命令组织方式 | ||
| 全局命令 | ~/.qwen/commands/ | 在所有项目中均可使用 | 低 | 个人常用命令、跨项目使用 |
| 项目命令 | <项目根目录>/.qwen/commands/ | 针对特定项目,可纳入版本控制 | 高 | 团队共享、项目专用命令 |
优先级规则:项目命令 > 用户命令(命令名相同时,优先使用项目命令)
命令命名规则
文件路径到命令名称映射表
| 文件位置 | 生成的命令 | 示例调用 |
|---|---|---|
~/.qwen/commands/test.md | /test | /test 参数 |
<project>/.qwen/commands/git/commit.md | /git:commit | /git:commit 消息 |
命名规则:路径分隔符(/ 或 \)转换为冒号(:)
Markdown 文件格式规范(推荐)
自定义命令使用带可选 YAML 前置元数据的 Markdown 文件:
---
description: 可选描述(在 `/help` 中显示)
---
此处为你的提示词内容。
使用 `{{args}}` 实现参数注入。| 字段 | 是否必需 | 描述 | 示例 |
|---|---|---|---|
description | 可选 | 命令描述(在 /help 中显示) | description: 代码分析工具 |
| 提示词正文 | 必需 | 发送给模型的提示词内容 | 前置元数据之后的任意 Markdown 内容 |
TOML 文件格式(已弃用)
Warning
已弃用: TOML 格式目前仍受支持,但将在未来版本中移除。请迁移到 Markdown 格式。
| 字段 | 是否必需 | 描述 | 示例 |
|---|---|---|---|
prompt | 必需 | 发送给模型的提示词内容 | prompt = "请分析代码:{{args}}" |
description | 可选 | 命令描述(在 /help 中显示) | description = "代码分析工具" |
参数处理机制
| 处理方式 | 语法 | 适用场景 | 安全特性 |
|---|---|---|---|
| 上下文感知注入 | {{args}} | 需要精确控制参数 | 自动 Shell 转义 |
| 默认参数处理 | 无需特殊标记 | 简单命令、参数追加 | 原样追加 |
| Shell 命令注入 | !{command} | 需要动态内容 | 执行前需确认 |
1. 上下文感知注入({{args}})
| 场景 | TOML 配置 | 调用方式 | 实际效果 |
|---|---|---|---|
| 原始注入 | prompt = "修复:{{args}}" | /fix "按钮问题" | 修复:"按钮问题" |
| 在 Shell 命令中 | prompt = "搜索:!{grep {{args}} .}" | /search "hello" | 执行 grep "hello" . |
2. 默认参数处理
| 输入情况 | 处理方式 | 示例 |
|---|---|---|
| 包含参数 | 追加到提示词末尾(用两个换行符分隔) | /cmd 参数 → 原始提示词 + 参数 |
| 不含参数 | 直接发送原始提示词 | /cmd → 原始提示词 |
🚀 动态内容注入
| 注入类型 | 语法 | 处理顺序 | 用途 |
|---|---|---|---|
| 文件内容 | @{文件路径} | 优先处理 | 注入静态参考文件 |
| Shell 命令 | !{命令} | 中间处理 | 注入动态执行结果 |
| 参数替换 | {{args}} | 最后处理 | 注入用户提供的参数 |
3. Shell 命令执行(!{...})
| 操作 | 用户交互 |
|---|---|
| 1. 解析命令及参数 | — |
| 2. 自动进行 Shell 转义 | — |
| 3. 显示确认对话框 | ✅ 需用户确认 |
| 4. 执行命令 | — |
| 5. 将输出注入提示词(prompt) | — |
示例:生成 Git 提交信息
---
description: 根据暂存区变更生成提交信息
---
请根据以下差异(diff)生成一条提交信息:
```diff
!{git diff --staged}
```4. 文件内容注入(@{...})
| 文件类型 | 支持状态 | 处理方式 |
|---|---|---|
| 文本文件 | ✅ 完全支持 | 直接注入内容 |
| 图片 / PDF | ✅ 多模态支持 | 编码后注入 |
| 二进制文件 | ⚠️ 有限支持 | 可能被跳过或截断 |
| 目录 | ✅ 递归注入 | 遵循 .gitignore 规则 |
示例:代码审查命令
---
description: 基于最佳实践的代码审查
---
审查 {{args}},参考标准:
@{docs/code-standards.md}实际创建示例
“纯函数重构”命令创建步骤表
| 操作 | 命令/代码 |
|---|---|
| 1. 创建目录结构 | mkdir -p ~/.qwen/commands/refactor |
| 2. 创建命令文件 | touch ~/.qwen/commands/refactor/pure.md |
| 3. 编辑命令内容 | 参见下方完整代码。 |
| 4. 测试命令 | @file.js → /refactor:pure |
---
description: 将代码重构为纯函数
---
请分析当前上下文中的代码,并将其重构为纯函数。
要求:
1. 提供重构后的代码
2. 解释关键修改点及纯函数特性的实现方式
3. 保持函数功能不变 自定义命令最佳实践总结
命令设计建议对照表
| 实践要点 | 推荐做法 | 应避免的做法 |
|---|---|---|
| 命令命名 | 使用命名空间进行组织 | 避免使用过于宽泛的名称 |
| 参数处理 | 明确使用 {{args}} | 依赖默认拼接方式(易造成混淆) |
| 错误处理 | 利用 Shell 的错误输出 | 忽略执行失败 |
| 文件组织 | 按功能划分目录组织命令 | 所有命令均放在根目录下 |
| 描述字段 | 始终提供清晰明确的描述 | 依赖自动生成的描述 |
安全特性提醒表
| 安全机制 | 防护效果 | 用户操作 |
|---|---|---|
| Shell 转义 | 防止命令注入 | 自动处理 |
| 执行确认 | 避免误执行 | 对话框确认 |
| 错误报告 | 协助诊断问题 | 查看错误信息 |
Last updated on