@qwen-code/qwen-code 0.17.0 → 0.17.1-nightly.20260604.16dd99fa3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled/qc-helper/docs/configuration/_meta.ts +0 -3
- package/bundled/qc-helper/docs/configuration/settings.md +13 -12
- package/bundled/qc-helper/docs/configuration/themes.md +39 -0
- package/bundled/qc-helper/docs/features/approval-mode.md +26 -22
- package/bundled/qc-helper/docs/features/commands.md +68 -12
- package/bundled/qc-helper/docs/features/status-line.md +168 -32
- package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +16 -0
- package/bundled/simplify/SKILL.md +123 -0
- package/chunks/{agent-KVXFGIOU.js → agent-GNHB6UIW.js} +14 -13
- package/chunks/{anthropicContentGenerator-L4HWAOIV.js → anthropicContentGenerator-M45RXZVS.js} +48 -5
- package/chunks/{askUserQuestion-DC6OWQIL.js → askUserQuestion-TGRD7FNQ.js} +1 -1
- package/chunks/{ca-NMZFEGAU.js → ca-6RSCDYUS.js} +2 -1
- package/chunks/{chunk-J5VCSWPA.js → chunk-3PJXIDKI.js} +1153 -103
- package/chunks/{chunk-EMVEDSVZ.js → chunk-6O244QKR.js} +43 -3
- package/chunks/chunk-7TQVELRB.js +10412 -0
- package/chunks/{chunk-HCSJIOLR.js → chunk-BNESGOSJ.js} +7450 -3516
- package/chunks/{chunk-7YJIR2FX.js → chunk-G4K6P5KN.js} +8 -15
- package/chunks/chunk-HX3JRTWL.js +393 -0
- package/chunks/{chunk-V7LMZR76.js → chunk-JBSYXHJF.js} +1 -1
- package/chunks/{chunk-R2B65CAN.js → chunk-JKUAX6UT.js} +0 -1
- package/chunks/{chunk-7EHPK6TK.js → chunk-JR346RJ5.js} +4007 -2390
- package/chunks/{chunk-JI7FDD65.js → chunk-K3VUDSWM.js} +9 -6
- package/chunks/chunk-MRO43B25.js +30 -0
- package/chunks/{chunk-4O2TWJK4.js → chunk-NDZEP7SA.js} +183 -40
- package/chunks/{chunk-7NNBQRV7.js → chunk-NJY4F5NM.js} +4 -4
- package/chunks/{chunk-ODPVJ6JJ.js → chunk-OJFMTECH.js} +6 -1
- package/chunks/{chunk-U2K6HDUJ.js → chunk-QVJ33ZBG.js} +23 -13
- package/chunks/{chunk-HAQCNXSG.js → chunk-RQW7WUJR.js} +15 -0
- package/chunks/{chunk-UQRYJQBE.js → chunk-SOGUPKP6.js} +1 -1
- package/chunks/{chunk-6NUSWV4M.js → chunk-TDZCEIK6.js} +2 -0
- package/chunks/{chunk-QEXSIXLX.js → chunk-XK4IGU5E.js} +10 -10
- package/chunks/{chunk-MEN6IEKX.js → chunk-YVGIQ2CS.js} +456 -1225
- package/chunks/{computer-use-2J5ZXEER.js → computer-use-NAHQPV2L.js} +24 -6
- package/chunks/{contextCommand-52NTEMCT.js → contextCommand-VKNIA257.js} +16 -15
- package/chunks/{cron-create-FXRORK2U.js → cron-create-V3UK2SJN.js} +1 -1
- package/chunks/{cron-delete-D24IN6CA.js → cron-delete-MANALPCP.js} +1 -1
- package/chunks/{cron-list-SMOX26SL.js → cron-list-UDIYK3B3.js} +1 -1
- package/chunks/{de-OIMT3OMI.js → de-APURNJ3I.js} +2 -1
- package/chunks/{dist-GRQVFL3G.js → dist-ATAKC63R.js} +1 -1
- package/chunks/{edit-RLFUTT5F.js → edit-YP22XCVA.js} +14 -13
- package/chunks/{en-2IFZ5THF.js → en-FYO57HJW.js} +3 -1
- package/chunks/{enter-worktree-CYRAPQKJ.js → enter-worktree-BD7UFMUZ.js} +14 -13
- package/chunks/{exit-worktree-WQZM72QD.js → exit-worktree-AVWBCQWY.js} +14 -13
- package/chunks/{exitPlanMode-STFEBQZE.js → exitPlanMode-2D6EGF76.js} +14 -13
- package/chunks/{fr-PVELSHTV.js → fr-32YHQZIS.js} +2 -1
- package/chunks/{geminiContentGenerator-DIV32SKO.js → geminiContentGenerator-YFVW6DXY.js} +4 -3
- package/chunks/{glob-N3XO4RVI.js → glob-NZWP66L5.js} +14 -13
- package/chunks/{grep-AK5MP7P3.js → grep-RFEZDGI4.js} +14 -13
- package/chunks/{ja-P5TK5GNN.js → ja-PEUXN4XT.js} +2 -1
- package/chunks/{ls-7FYQHPWF.js → ls-T4SVZWR6.js} +1 -1
- package/chunks/{lsp-DKG34USR.js → lsp-U4ZQLNIS.js} +1 -1
- package/chunks/{monitor-IVBWJZEZ.js → monitor-OHKCQLFQ.js} +17 -14
- package/chunks/{multipart-parser-IXGBIOIN.js → multipart-parser-AJ4WASWR.js} +2 -2
- package/chunks/{notebook-edit-PM46AXFS.js → notebook-edit-AFRICVUX.js} +14 -13
- package/chunks/{openaiContentGenerator-4QXCH7L2.js → openaiContentGenerator-47KB64GP.js} +11 -10
- package/chunks/{pt-A5GHG66T.js → pt-2INS7YVC.js} +2 -1
- package/chunks/{qwenContentGenerator-BLXQIIMX.js → qwenContentGenerator-7BC2OW3T.js} +16 -15
- package/chunks/{qwenOAuth2-BAN2EGSH.js → qwenOAuth2-LKXG7XVO.js} +2 -1
- package/chunks/{read-file-IEQAS3EZ.js → read-file-MXUW3RUF.js} +8 -7
- package/chunks/{ripGrep-HQO7IE4C.js → ripGrep-AHBINNF3.js} +14 -13
- package/chunks/{ru-66XKB4QX.js → ru-6CQ5HNHB.js} +2 -1
- package/chunks/scheduler-KBRJ3LFC.js +306 -0
- package/chunks/{send-message-ZL7CDM7K.js → send-message-GFYV7WLL.js} +1 -1
- package/chunks/{serve-CYRAK4UM.js → serve-PVFP6HD7.js} +43 -30
- package/chunks/{shell-UZBGNO2Q.js → shell-JOXQ5PPL.js} +14 -13
- package/chunks/{skill-JVC34QYN.js → skill-73RYGDJQ.js} +9 -8
- package/chunks/{src-TMOD5X6F.js → src-7XL4G4DC.js} +88 -46
- package/chunks/{src-FOODLH7B.js → src-DR3Y7J6D.js} +41 -15
- package/chunks/{syntheticOutput-U3YJ3GOO.js → syntheticOutput-DM43O6TY.js} +2 -2
- package/chunks/{task-stop-NPUI3YBA.js → task-stop-WKP5OB3V.js} +1 -1
- package/chunks/{todoWrite-Y6F7YEIM.js → todoWrite-GHL6DCLP.js} +14 -3
- package/chunks/{tool-search-P7PRPOW3.js → tool-search-DRMR34WX.js} +8 -7
- package/chunks/{web-fetch-XWEK4TFX.js → web-fetch-SZIV74ZX.js} +2 -2
- package/chunks/{write-file-SIIEUON5.js → write-file-B45ZAKUJ.js} +16 -15
- package/chunks/{zh-TW-3ND6DQRX.js → zh-TW-SSL3ATVZ.js} +3 -1
- package/chunks/{zh-OB5P2ZDO.js → zh-ZHZCMIRG.js} +3 -1
- package/cli.js +38665 -53791
- package/locales/ca.js +2 -1
- package/locales/de.js +2 -1
- package/locales/en.js +4 -1
- package/locales/fr.js +2 -1
- package/locales/ja.js +2 -1
- package/locales/pt.js +2 -1
- package/locales/ru.js +2 -1
- package/locales/zh-TW.js +4 -1
- package/locales/zh.js +4 -1
- package/package.json +2 -2
- package/chunks/chunk-EM6ETG2K.js +0 -60
- package/chunks/chunk-TI4GXJKO.js +0 -4277
- package/chunks/multipart-parser-3QWGTLK3.js +0 -384
- package/chunks/src-IPWIHNMI.js +0 -1406
|
@@ -77,17 +77,18 @@ Settings are organized into categories. Most settings should be placed within th
|
|
|
77
77
|
|
|
78
78
|
#### general
|
|
79
79
|
|
|
80
|
-
| Setting | Type | Description
|
|
81
|
-
| ------------------------------------------ | ------- |
|
|
82
|
-
| `general.preferredEditor` | string | The preferred editor to open files in.
|
|
83
|
-
| `general.vimMode` | boolean | Enable Vim keybindings.
|
|
84
|
-
| `general.enableAutoUpdate` | boolean | Enable automatic update checks and installations on startup.
|
|
85
|
-
| `general.showSessionRecap` | boolean | Auto-show a one-line "where you left off" recap when returning to the terminal after being away. Off by default. Use `/recap` to trigger manually regardless of this setting.
|
|
86
|
-
| `general.sessionRecapAwayThresholdMinutes` | number | Minutes the terminal must be blurred before an auto-recap fires on focus-in. Only used when `showSessionRecap` is enabled.
|
|
87
|
-
| `general.gitCoAuthor.commit` | boolean | Add a Co-authored-by trailer to git commit messages AND attach a per-file AI-attribution git note (`refs/notes/ai-attribution`) for commits made through Qwen Code. Disabling skips both.
|
|
88
|
-
| `general.gitCoAuthor.pr` | boolean | Append a Qwen Code attribution line to pull request descriptions when running `gh pr create`.
|
|
89
|
-
| `general.checkpointing.enabled` | boolean | Enable session checkpointing for recovery.
|
|
90
|
-
| `general.defaultFileEncoding` | string | Default encoding for new files. Use `"utf-8"` (default) for UTF-8 without BOM, or `"utf-8-bom"` for UTF-8 with BOM. Only change this if your project specifically requires BOM.
|
|
80
|
+
| Setting | Type | Description | Default |
|
|
81
|
+
| ------------------------------------------ | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
|
|
82
|
+
| `general.preferredEditor` | string | The preferred editor to open files in. | `undefined` |
|
|
83
|
+
| `general.vimMode` | boolean | Enable Vim keybindings. | `false` |
|
|
84
|
+
| `general.enableAutoUpdate` | boolean | Enable automatic update checks and installations on startup. | `true` |
|
|
85
|
+
| `general.showSessionRecap` | boolean | Auto-show a one-line "where you left off" recap when returning to the terminal after being away. Off by default. Use `/recap` to trigger manually regardless of this setting. | `false` |
|
|
86
|
+
| `general.sessionRecapAwayThresholdMinutes` | number | Minutes the terminal must be blurred before an auto-recap fires on focus-in. Only used when `showSessionRecap` is enabled. | `5` |
|
|
87
|
+
| `general.gitCoAuthor.commit` | boolean | Add a Co-authored-by trailer to git commit messages AND attach a per-file AI-attribution git note (`refs/notes/ai-attribution`) for commits made through Qwen Code. Disabling skips both. | `true` |
|
|
88
|
+
| `general.gitCoAuthor.pr` | boolean | Append a Qwen Code attribution line to pull request descriptions when running `gh pr create`. | `true` |
|
|
89
|
+
| `general.checkpointing.enabled` | boolean | Enable session checkpointing for recovery. | `false` |
|
|
90
|
+
| `general.defaultFileEncoding` | string | Default encoding for new files. Use `"utf-8"` (default) for UTF-8 without BOM, or `"utf-8-bom"` for UTF-8 with BOM. Only change this if your project specifically requires BOM. | `"utf-8"` |
|
|
91
|
+
| `general.cleanupPeriodDays` | number | Days to retain `~/.qwen/file-history/` session backups used by `/rewind`. Backups older than this are removed by a background pass that runs at most once per day. `0` = minimum retention (~1 hour): keeps sessions touched in the last hour plus the currently active one. Changes take effect after restart. | `30` |
|
|
91
92
|
|
|
92
93
|
#### output
|
|
93
94
|
|
|
@@ -101,7 +102,7 @@ Settings are organized into categories. Most settings should be placed within th
|
|
|
101
102
|
| --------------------------------------- | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
|
|
102
103
|
| `ui.theme` | string | The color theme for the UI. See [Themes](../configuration/themes) for available options. | `undefined` |
|
|
103
104
|
| `ui.customThemes` | object | Custom theme definitions. | `{}` |
|
|
104
|
-
| `ui.statusLine` | object | Custom status line configuration.
|
|
105
|
+
| `ui.statusLine` | object | Custom status line configuration. Supports `command`, `refreshInterval`, `respectUserColors`, and `hideContextIndicator` options. See [Status Line](../features/status-line). | `undefined` |
|
|
105
106
|
| `ui.hideWindowTitle` | boolean | Hide the window title bar. | `false` |
|
|
106
107
|
| `ui.hideTips` | boolean | Hide all tips (startup and post-response) in the UI. See [Contextual Tips](../features/tips). | `false` |
|
|
107
108
|
| `ui.hideBanner` | boolean | Hide the startup ASCII logo and info panel. Tips and chat input still render unless `ui.hideTips` is also set. | `false` |
|
|
@@ -36,6 +36,45 @@ Selected themes are saved in Qwen Code's [configuration](../configuration/settin
|
|
|
36
36
|
|
|
37
37
|
---
|
|
38
38
|
|
|
39
|
+
## Auto Theme Detection
|
|
40
|
+
|
|
41
|
+
When the theme is set to `"auto"` (or left unset), Qwen Code automatically detects whether your terminal uses a dark or light background and selects the matching Qwen theme (`Qwen Dark` or `Qwen Light`).
|
|
42
|
+
|
|
43
|
+
### How to enable
|
|
44
|
+
|
|
45
|
+
Set the theme to `"auto"` in `settings.json`:
|
|
46
|
+
|
|
47
|
+
```json
|
|
48
|
+
{
|
|
49
|
+
"ui": {
|
|
50
|
+
"theme": "auto"
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Or select **Auto** in the `/theme` dialog. This is the default behavior when no theme is explicitly configured.
|
|
56
|
+
|
|
57
|
+
### Detection methods
|
|
58
|
+
|
|
59
|
+
Qwen Code uses multiple detection methods in a fallback chain. At startup (async path), the order is:
|
|
60
|
+
|
|
61
|
+
| Priority | Method | Platform | How it works |
|
|
62
|
+
| -------- | ----------------------- | ---------- | ---------------------------------------------------------------------------------------------------- |
|
|
63
|
+
| 1 | `COLORFGBG` | All | Reads the `COLORFGBG` environment variable (set by terminals like iTerm2, rxvt, Konsole) |
|
|
64
|
+
| 2 | OSC 11 | All (TTY) | Sends an `ESC]11;?` query to the terminal and parses the background color from the response (~200ms) |
|
|
65
|
+
| 3 | macOS system appearance | macOS only | Runs `defaults read -g AppleInterfaceStyle` to check if macOS Dark Mode is active |
|
|
66
|
+
| 4 | Default | All | Falls back to dark theme if no method succeeds |
|
|
67
|
+
|
|
68
|
+
The first method that returns a result wins. The detected value is cached for the session so subsequent theme resolutions (e.g. reselecting Auto in the `/theme` dialog) stay consistent.
|
|
69
|
+
|
|
70
|
+
### When to use Auto
|
|
71
|
+
|
|
72
|
+
- **Most users** — Auto works well if your terminal background matches your OS appearance or if your terminal sets `COLORFGBG` / supports OSC 11.
|
|
73
|
+
- **tmux / screen users** — OSC 11 may not pass through multiplexers. Detection falls back to `COLORFGBG` or macOS system appearance. If neither is available, the default dark theme is used. Set a specific theme if auto-detection gives the wrong result.
|
|
74
|
+
- **SSH sessions** — detection depends on the remote environment. If `COLORFGBG` is not forwarded and the remote terminal doesn't respond to OSC 11, the default dark theme is used.
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
39
78
|
## Custom Color Themes
|
|
40
79
|
|
|
41
80
|
Qwen Code allows you to create your own custom color themes by specifying them in your `settings.json` file. This gives you full control over the color palette used in the CLI.
|
|
@@ -4,18 +4,22 @@ Qwen Code offers five distinct permission modes that allow you to flexibly contr
|
|
|
4
4
|
|
|
5
5
|
## Permission Modes Comparison
|
|
6
6
|
|
|
7
|
-
| Mode
|
|
8
|
-
|
|
|
9
|
-
| **Plan**
|
|
10
|
-
| **
|
|
11
|
-
| **Auto-Edit**
|
|
12
|
-
| **Auto**
|
|
13
|
-
| **YOLO**
|
|
7
|
+
| Mode | File Editing | Shell Commands | Best For | Risk Level |
|
|
8
|
+
| -------------------- | --------------------------- | --------------------------- | ------------------------------------------------------------------------------------------------------ | ---------- |
|
|
9
|
+
| **Plan** | ❌ Read-only analysis only | ❌ Not executed | • Code exploration <br>• Planning complex changes <br>• Safe code review | Lowest |
|
|
10
|
+
| **Ask Permissions** | ✅ Manual approval required | ✅ Manual approval required | • New/unfamiliar codebases <br>• Critical systems <br>• Team collaboration <br>• Learning and teaching | Low |
|
|
11
|
+
| **Auto-Edit** | ✅ Auto-approved | ❌ Manual approval required | • Daily development tasks <br>• Refactoring and code improvements <br>• Safe automation | Medium |
|
|
12
|
+
| **Auto** | ✅ Classifier-evaluated | ✅ Classifier-evaluated | • Long autonomous sessions <br>• When Auto-Edit is too cautious but YOLO is too risky | Medium |
|
|
13
|
+
| **YOLO** | ✅ Auto-approved | ✅ Auto-approved | • Trusted personal projects <br>• Automated scripts/CI/CD <br>• Batch processing tasks | Highest |
|
|
14
|
+
|
|
15
|
+
> [!NOTE]
|
|
16
|
+
>
|
|
17
|
+
> The mode previously named **Default** has been renamed to **Ask Permissions** to better describe its behavior. The underlying configuration value (`tools.approvalMode: "default"`) and the `/approval-mode default` command are unchanged for backward compatibility.
|
|
14
18
|
|
|
15
19
|
### Quick Reference Guide
|
|
16
20
|
|
|
17
21
|
- **Start in Plan Mode**: Great for understanding before making changes
|
|
18
|
-
- **Work in
|
|
22
|
+
- **Work in Ask Permissions Mode**: The balanced choice for most development work
|
|
19
23
|
- **Switch to Auto-Edit**: When you're making lots of safe code changes
|
|
20
24
|
- **Try Auto Mode**: When you want fewer interruptions but still want safety on shell commands and network calls — an LLM classifier evaluates each call
|
|
21
25
|
- **Use YOLO sparingly**: Only for trusted automation in controlled environments
|
|
@@ -96,11 +100,11 @@ How should we handle database migration?
|
|
|
96
100
|
}
|
|
97
101
|
```
|
|
98
102
|
|
|
99
|
-
## 2. Use
|
|
103
|
+
## 2. Use Ask Permissions Mode for Controlled Interaction
|
|
100
104
|
|
|
101
|
-
|
|
105
|
+
Ask Permissions Mode is the standard way to work with Qwen Code. In this mode, you maintain full control over all potentially risky operations - Qwen Code will ask for your approval before making any file changes or executing shell commands.
|
|
102
106
|
|
|
103
|
-
### When to use
|
|
107
|
+
### When to use Ask Permissions Mode
|
|
104
108
|
|
|
105
109
|
- **New to a codebase**: When you're exploring an unfamiliar project and want to be extra cautious
|
|
106
110
|
- **Critical systems**: When working on production code, infrastructure, or sensitive data
|
|
@@ -108,23 +112,23 @@ Default Mode is the standard way to work with Qwen Code. In this mode, you maint
|
|
|
108
112
|
- **Team collaboration**: When multiple people are working on the same codebase
|
|
109
113
|
- **Complex operations**: When the changes involve multiple files or complex logic
|
|
110
114
|
|
|
111
|
-
### How to use
|
|
115
|
+
### How to use Ask Permissions Mode
|
|
112
116
|
|
|
113
|
-
**Turn on
|
|
117
|
+
**Turn on Ask Permissions Mode during a session**
|
|
114
118
|
|
|
115
|
-
You can switch into
|
|
119
|
+
You can switch into Ask Permissions Mode during a session using **Shift+Tab** (or **Tab** on Windows) to cycle through permission modes. If you're in any other mode, pressing **Shift+Tab** (or **Tab** on Windows) will eventually cycle back to Ask Permissions Mode, indicated by the absence of any mode indicator at the bottom of the terminal.
|
|
116
120
|
|
|
117
|
-
**Start a new session in
|
|
121
|
+
**Start a new session in Ask Permissions Mode**
|
|
118
122
|
|
|
119
|
-
|
|
123
|
+
Ask Permissions Mode is the initial mode when you start Qwen Code. If you've changed modes and want to return to Ask Permissions Mode, use:
|
|
120
124
|
|
|
121
125
|
```
|
|
122
126
|
/approval-mode default
|
|
123
127
|
```
|
|
124
128
|
|
|
125
|
-
**Run "headless" queries in
|
|
129
|
+
**Run "headless" queries in Ask Permissions Mode**
|
|
126
130
|
|
|
127
|
-
When running headless commands,
|
|
131
|
+
When running headless commands, Ask Permissions Mode is the default behavior. You can explicitly specify it with:
|
|
128
132
|
|
|
129
133
|
```
|
|
130
134
|
qwen --prompt "Analyze this code for potential bugs"
|
|
@@ -148,7 +152,7 @@ Qwen Code will analyze your codebase and propose a plan. It will then ask for ap
|
|
|
148
152
|
|
|
149
153
|
You can review each proposed change and approve or reject it individually.
|
|
150
154
|
|
|
151
|
-
### Configure
|
|
155
|
+
### Configure Ask Permissions Mode as default
|
|
152
156
|
|
|
153
157
|
```bash
|
|
154
158
|
// .qwen/settings.json
|
|
@@ -200,7 +204,7 @@ configuration, troubleshooting, FAQ).
|
|
|
200
204
|
|
|
201
205
|
### When to use Auto Mode
|
|
202
206
|
|
|
203
|
-
- **Long autonomous sessions**: When
|
|
207
|
+
- **Long autonomous sessions**: When Ask Permissions Mode interrupts too often but
|
|
204
208
|
YOLO is too risky.
|
|
205
209
|
- **Trusted projects**: Internal codebases where the agent should keep
|
|
206
210
|
moving but you still want a guardrail on destructive shell commands and
|
|
@@ -277,7 +281,7 @@ Refactor the auth module to use OAuth2. Run the full test suite afterwards.
|
|
|
277
281
|
Qwen Code makes the file edits (in-workspace edits skip the classifier),
|
|
278
282
|
runs `npm test` (classifier judges safe), and surfaces a block if it ever
|
|
279
283
|
tries something risky like `rm -rf /Users/me/.aws`. You can review the
|
|
280
|
-
reason inline and decide whether to switch to
|
|
284
|
+
reason inline and decide whether to switch to Ask Permissions Mode for that step.
|
|
281
285
|
|
|
282
286
|
### Configure Auto Mode as default
|
|
283
287
|
|
|
@@ -363,7 +367,7 @@ qwen --prompt "Run the test suite, fix all failing tests, then commit changes"
|
|
|
363
367
|
During a Qwen Code session, use **Shift+Tab** (or **Tab** on Windows) to quickly cycle through the four modes:
|
|
364
368
|
|
|
365
369
|
```
|
|
366
|
-
|
|
370
|
+
Ask Permissions Mode → Auto-Edit Mode → YOLO Mode → Plan Mode → Ask Permissions Mode
|
|
367
371
|
```
|
|
368
372
|
|
|
369
373
|
### Persistent Configuration
|
|
@@ -31,15 +31,18 @@ These commands help you save, restore, and summarize work progress.
|
|
|
31
31
|
|
|
32
32
|
Commands for adjusting interface appearance and work environment.
|
|
33
33
|
|
|
34
|
-
| Command
|
|
35
|
-
|
|
|
36
|
-
| `/clear`
|
|
37
|
-
| `/context`
|
|
38
|
-
| → `detail`
|
|
39
|
-
| `/
|
|
40
|
-
| `/
|
|
41
|
-
| `/
|
|
42
|
-
| `/
|
|
34
|
+
| Command | Description | Usage Examples |
|
|
35
|
+
| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------- |
|
|
36
|
+
| `/clear` | Clear terminal screen content | `/clear` (shortcut: `Ctrl+L`) |
|
|
37
|
+
| `/context` | Show context window usage breakdown | `/context` |
|
|
38
|
+
| → `detail` | Show per-item context usage breakdown | `/context detail` |
|
|
39
|
+
| `/diff` | Open an interactive diff viewer showing uncommitted changes and per-turn diffs. Use ←/→ to switch between current git diff and individual conversation turns, ↑/↓ to browse files | `/diff` |
|
|
40
|
+
| `/theme` | Change Qwen Code visual theme | `/theme` |
|
|
41
|
+
| `/vim` | Turn input area Vim editing mode on/off | `/vim` |
|
|
42
|
+
| `/directory` | Manage multi-directory support workspace | `/dir add ./src,./tests` |
|
|
43
|
+
| `/editor` | Open dialog to select supported editor | `/editor` |
|
|
44
|
+
| `/statusline` | Open interactive [status line](./status-line.md) preset dialog | `/statusline` |
|
|
45
|
+
| `/statusline <text>` | Generate a command-mode [status line](./status-line.md) via agent | `/statusline show model and git branch` |
|
|
43
46
|
|
|
44
47
|
### 1.3 Language Settings
|
|
45
48
|
|
|
@@ -85,6 +88,7 @@ These commands invoke bundled skills that provide specialized workflows.
|
|
|
85
88
|
| ------------ | ------------------------------------------------------------------- | ------------------------------------------------- |
|
|
86
89
|
| `/review` | Review code changes with 5 parallel agents + deterministic analysis | `/review`, `/review 123`, `/review 123 --comment` |
|
|
87
90
|
| `/loop` | Run a prompt on a recurring schedule | `/loop 5m check the build` |
|
|
91
|
+
| `/simplify` | Review recent changes and apply safe cleanup edits directly | `/simplify`, `/simplify focus on duplication` |
|
|
88
92
|
| `/qc-helper` | Answer questions about Qwen Code usage and configuration | `/qc-helper how do I configure MCP?` |
|
|
89
93
|
|
|
90
94
|
See [Code Review](./code-review.md) for full `/review` documentation.
|
|
@@ -208,7 +212,59 @@ this setting.
|
|
|
208
212
|
> `general.showSessionRecap` to `false` to opt out of the auto-trigger
|
|
209
213
|
> while keeping the manual command available.
|
|
210
214
|
|
|
211
|
-
### 1.8
|
|
215
|
+
### 1.8 Diff Viewer (`/diff`)
|
|
216
|
+
|
|
217
|
+
The `/diff` command opens an interactive diff viewer showing uncommitted changes and per-turn diffs. Use ←/→ to switch between the current git diff and individual conversation turns, ↑/↓ to browse files, and Enter to view inline diffs.
|
|
218
|
+
|
|
219
|
+
**How it works:**
|
|
220
|
+
|
|
221
|
+
In interactive mode, `/diff` opens a dialog with a **source picker** along the top:
|
|
222
|
+
|
|
223
|
+
- **Current** — working tree vs HEAD (`git diff HEAD`). Shows all uncommitted changes including staged, unstaged, and untracked files.
|
|
224
|
+
- **T1, T2, T3, …** — per-turn diffs, one tab per model turn that modified files. Most recent turns appear first. Each tab shows a preview of the original prompt for context.
|
|
225
|
+
|
|
226
|
+
The file list displays per-file stats (lines added/removed) with tags for special states (`new`, `deleted`, `untracked`, `binary`, `truncated`, `oversized`). Press Enter on a file to view its inline diff with syntax-highlighted hunks.
|
|
227
|
+
|
|
228
|
+
Per-turn diffs require [file checkpointing](./checkpointing) to be enabled (on by default in interactive mode). When file checkpointing is off, only the "Current" source is available.
|
|
229
|
+
|
|
230
|
+
**Keyboard shortcuts:**
|
|
231
|
+
|
|
232
|
+
| Key | Action |
|
|
233
|
+
| --------- | ------------------------------------------- |
|
|
234
|
+
| `←` / `→` | Switch between sources (Current / T1 / T2…) |
|
|
235
|
+
| `↑` / `↓` | Navigate file list |
|
|
236
|
+
| `j` / `k` | Navigate file list (vim-style) |
|
|
237
|
+
| Enter | View inline diff for selected file |
|
|
238
|
+
| `←` / Esc | Return to file list from inline diff view |
|
|
239
|
+
| Esc | Close the dialog |
|
|
240
|
+
|
|
241
|
+
**Example:**
|
|
242
|
+
|
|
243
|
+
```
|
|
244
|
+
┌ /diff · Turn 3 "refactor the auth middleware" ──── 3 files +45 -12 ┐
|
|
245
|
+
│ │
|
|
246
|
+
│ ◀ Current · T3 · T2 · T1 ▶ │
|
|
247
|
+
│ │
|
|
248
|
+
│ › src/utils/parser.ts +30 -8 │
|
|
249
|
+
│ src/utils/parser.test.ts +12 -2 │
|
|
250
|
+
│ README.md +3 -2 │
|
|
251
|
+
│ │
|
|
252
|
+
│ ←/→ source · ↑/↓ file · Enter view · Esc close │
|
|
253
|
+
└─────────────────────────────────────────────────────────────────────┘
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
**Non-interactive mode:**
|
|
257
|
+
|
|
258
|
+
In headless (`--prompt`) or non-interactive contexts, `/diff` prints a plain-text summary of the working tree vs HEAD. Per-turn navigation is not available.
|
|
259
|
+
|
|
260
|
+
```
|
|
261
|
+
3 files changed, +45 / -12
|
|
262
|
+
+30 -8 src/utils/parser.ts
|
|
263
|
+
+12 -2 src/utils/parser.test.ts
|
|
264
|
+
+3 -2 README.md
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
### 1.9 Information, Settings, and Help
|
|
212
268
|
|
|
213
269
|
Commands for obtaining information and performing system settings.
|
|
214
270
|
|
|
@@ -224,7 +280,7 @@ Commands for obtaining information and performing system settings.
|
|
|
224
280
|
| `/copy` | Copy last output content to clipboard | `/copy` |
|
|
225
281
|
| `/quit` | Exit Qwen Code immediately | `/quit` or `/exit` |
|
|
226
282
|
|
|
227
|
-
### 1.
|
|
283
|
+
### 1.10 Common Shortcuts
|
|
228
284
|
|
|
229
285
|
| Shortcut | Function | Note |
|
|
230
286
|
| ------------------ | ----------------------- | ---------------------- |
|
|
@@ -234,7 +290,7 @@ Commands for obtaining information and performing system settings.
|
|
|
234
290
|
| `Ctrl/cmd+Z` | Undo input | Text editing |
|
|
235
291
|
| `Ctrl/cmd+Shift+Z` | Redo input | Text editing |
|
|
236
292
|
|
|
237
|
-
### 1.
|
|
293
|
+
### 1.11 Authentication Commands
|
|
238
294
|
|
|
239
295
|
Use `/auth` inside a Qwen Code session to configure authentication. Use `/doctor` to inspect the current authentication and environment status.
|
|
240
296
|
|