@qwen-code/qwen-code 0.18.5 → 0.19.1
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/qwen-ignore.md +31 -15
- package/bundled/qc-helper/docs/configuration/settings.md +15 -14
- package/bundled/qc-helper/docs/extension/introduction.md +24 -6
- package/bundled/qc-helper/docs/features/mcp.md +15 -8
- package/chunks/{agent-2TEY55UD.js → agent-7CZOLKXM.js} +24 -22
- package/chunks/{agent-headless-SCUAXEEE.js → agent-headless-K37PBQK5.js} +24 -22
- package/chunks/{anthropicContentGenerator-5S4OMMNL.js → anthropicContentGenerator-6MCH4X6S.js} +12 -11
- package/chunks/artifact-tool-PBX64YTT.js +675 -0
- package/chunks/{askUserQuestion-WHVYL2S2.js → askUserQuestion-5ZQOWSRT.js} +20 -7
- package/chunks/chunk-22IFUCVR.js +291 -0
- package/chunks/{chunk-XGU3ETVO.js → chunk-255L5QYW.js} +3 -3
- package/chunks/{chunk-26ZYKTYZ.js → chunk-2BIF2NVV.js} +2 -2
- package/chunks/{chunk-VECKCOH6.js → chunk-2X2WXY6L.js} +6104 -4673
- package/chunks/{chunk-LTN3VYMZ.js → chunk-3UALQ56H.js} +1 -1
- package/chunks/{chunk-2O3NAOJG.js → chunk-57XRIZVC.js} +1 -1
- package/chunks/{chunk-MSJ2MXJ6.js → chunk-BGUDAULQ.js} +11 -290
- package/chunks/{chunk-FH4P6RQA.js → chunk-BNXANYLH.js} +1 -1
- package/chunks/{chunk-WE6TNQJU.js → chunk-C4K3FEQ2.js} +36 -0
- package/chunks/{chunk-G4BUMVEY.js → chunk-CGEGHF2C.js} +2 -217
- package/chunks/chunk-EEEZIVFJ.js +908 -0
- package/chunks/chunk-EJYJYJZ2.js +3703 -0
- package/chunks/{chunk-ATLUHLZE.js → chunk-EW6C27XX.js} +1 -1
- package/chunks/{chunk-SIJKWK35.js → chunk-FXT37TZS.js} +6 -6
- package/chunks/{chunk-C6MI2ASN.js → chunk-GZCJS5WH.js} +2 -2
- package/chunks/{chunk-KGV3F6UF.js → chunk-HGNSRCRB.js} +1 -1
- package/chunks/{chunk-42HGOMED.js → chunk-JDV3VBPY.js} +216 -1
- package/chunks/{chunk-CX3SGIPK.js → chunk-JRVB4QUY.js} +2 -2
- package/chunks/{chunk-C7JA3XCX.js → chunk-NQDRRVJD.js} +5 -5
- package/chunks/{chunk-F5E6IKYN.js → chunk-OJMCOR55.js} +560 -18
- package/chunks/{chunk-ID533GA3.js → chunk-OTBK43JR.js} +1 -1
- package/chunks/{chunk-GOMVJKBL.js → chunk-PLY4F7QW.js} +5 -3
- package/chunks/{chunk-KZGQ3G3Q.js → chunk-PNT7QCLK.js} +80 -83
- package/chunks/{chunk-VKILGMZQ.js → chunk-PO5LVPK3.js} +1 -1
- package/chunks/{chunk-AE6RQU6F.js → chunk-PRYMDRBV.js} +1 -1
- package/chunks/{chunk-GBN55AWZ.js → chunk-QKUAGMGE.js} +2 -2
- package/chunks/{chunk-KQIKOTQJ.js → chunk-RYLJU2DY.js} +60 -5
- package/chunks/{chunk-CTHZVIMD.js → chunk-T2VDEFUU.js} +2 -2
- package/chunks/{chunk-LF6BKGZT.js → chunk-TXVGVZYR.js} +3 -3
- package/chunks/{chunk-XU7BKR3B.js → chunk-XU5P23GN.js} +3 -3
- package/chunks/{chunk-2CNO5W47.js → chunk-YMBWB67C.js} +146 -5005
- package/chunks/{computer-use-OB3C5QG2.js → computer-use-AY6HODX4.js} +24 -22
- package/chunks/contextCommand-KVKJ63NZ.js +56 -0
- package/chunks/{cron-create-THNDTYXU.js → cron-create-NHRAAWT5.js} +12 -9
- package/chunks/{cron-delete-BS5H6TFJ.js → cron-delete-WGO4PZTF.js} +4 -4
- package/chunks/{cron-list-7OBVHT7K.js → cron-list-EY7D3ZUC.js} +4 -4
- package/chunks/{dist-GKRNVFBH.js → dist-ZBX7LPJZ.js} +2 -1
- package/chunks/{edit-GNCLIF67.js → edit-OXD4P5YK.js} +24 -22
- package/chunks/{en-S3OQBISC.js → en-7OGNWWME.js} +48 -0
- package/chunks/{enter-worktree-E7BNZOGT.js → enter-worktree-NKNFTLNO.js} +24 -22
- package/chunks/{enterPlanMode-IA42A5EU.js → enterPlanMode-7W2FCILY.js} +27 -23
- package/chunks/{exit-worktree-QJ2K74UT.js → exit-worktree-NCRZ52XD.js} +24 -22
- package/chunks/{exitPlanMode-UKKHBUYJ.js → exitPlanMode-AZIUQQHA.js} +36 -28
- package/chunks/{geminiContentGenerator-ICSDM37U.js → geminiContentGenerator-5HKVP4JF.js} +4 -4
- package/chunks/{glob-IGD7LWYX.js → glob-VCPO3AQO.js} +26 -23
- package/chunks/{grep-IZM3IVND.js → grep-R3W7SG6T.js} +24 -22
- package/chunks/{keychain-token-storage-YHXIWXIB.js → keychain-token-storage-CSYMNRPP.js} +2 -2
- package/chunks/{loop-wakeup-SSBWZ64K.js → loop-wakeup-XVSDE7QR.js} +5 -5
- package/chunks/{ls-YPFUHZRQ.js → ls-LPY3ATQQ.js} +6 -6
- package/chunks/{lsp-FD6DNVAF.js → lsp-ZT3AAXIF.js} +2 -2
- package/chunks/{monitor-ALJNE3R4.js → monitor-TQCZALTB.js} +24 -22
- package/chunks/{notebook-edit-7XRZX55T.js → notebook-edit-RYYGIJTA.js} +25 -23
- package/chunks/{openaiContentGenerator-FWKITDFJ.js → openaiContentGenerator-2AUZ47JU.js} +12 -15
- package/chunks/{qwenContentGenerator-5RPGQZ63.js → qwenContentGenerator-QM6ENWSO.js} +26 -24
- package/chunks/{qwenOAuth2-WZ54YZ4J.js → qwenOAuth2-K4AASPCV.js} +5 -4
- package/chunks/{read-file-4WN2DT5N.js → read-file-ZSIMNYPB.js} +9 -8
- package/chunks/{ripGrep-4ZKT6KBQ.js → ripGrep-LONCTNP3.js} +24 -22
- package/chunks/{scheduler-O2E65VDK.js → scheduler-FMNCHQQH.js} +73 -27
- package/chunks/{send-message-FWFTX62Q.js → send-message-447W6NH6.js} +24 -4
- package/chunks/{serve-3DM6CRGD.js → serve-XLPTFQOQ.js} +458 -77
- package/chunks/{shell-ARVZK6RF.js → shell-G2CEO7D7.js} +24 -22
- package/chunks/{skill-BFUBGA4I.js → skill-E5YLTHY3.js} +11 -10
- package/chunks/{src-5YMCDSII.js → src-GCZS2DES.js} +112 -67
- package/chunks/{syntheticOutput-JY5NEDTV.js → syntheticOutput-GQRDRLGR.js} +3 -3
- package/chunks/{task-create-IGILDV25.js → task-create-66DDSTVI.js} +6 -6
- package/chunks/{task-list-KBEJVAAG.js → task-list-GOPXRSHG.js} +5 -5
- package/chunks/{task-stop-WFTMQ6AC.js → task-stop-M7NKGFX2.js} +2 -2
- package/chunks/{task-update-UIVX7ZEV.js → task-update-M5TBHLZV.js} +6 -6
- package/chunks/{team-create-HRBV5ATK.js → team-create-RQCITTFK.js} +28 -26
- package/chunks/{team-delete-LPOXDPVB.js → team-delete-DKKDS65W.js} +5 -5
- package/chunks/{todoWrite-R4RIJKOD.js → todoWrite-4VX7X44D.js} +4 -4
- package/chunks/{tool-search-67HI54YA.js → tool-search-2COFGD5N.js} +9 -8
- package/chunks/{web-fetch-JU7SS6KE.js → web-fetch-YPP3V4FJ.js} +4 -4
- package/chunks/{workflow-W4SCLWLU.js → workflow-A5VAXYUS.js} +557 -97
- package/chunks/{write-file-TLNXC2NR.js → write-file-P2RNFLJR.js} +24 -22
- package/chunks/{zh-QXLZV2PX.js → zh-3RMSEO5M.js} +48 -0
- package/chunks/{zh-TW-3OKU7LDA.js → zh-TW-R7WRLTJS.js} +48 -0
- package/cli.js +8200 -4981
- package/locales/en.js +69 -0
- package/locales/zh-TW.js +66 -0
- package/locales/zh.js +66 -0
- package/package.json +3 -2
- package/web-shell/assets/{arc-CRFN10gD.js → arc-pxOt9B72.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-IRlu1CpH.js → architectureDiagram-3BPJPVTR-B9XuYYOT.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-htIZ6iw8.js → blockDiagram-GPEHLZMM-5yK68iu4.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-A2GoRq3O.js → c4Diagram-AAUBKEIU-B1LY-qNI.js} +1 -1
- package/web-shell/assets/channel-Cx7egbSX.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-CdP2AC6u.js → chunk-2J33WTMH-DkgXg7cM.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-DrA07nW2.js → chunk-4BX2VUAB-DdM45KFM.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-CFGnVU2f.js → chunk-55IACEB6-CmdsDjD4.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-BTMkq3Tk.js → chunk-727SXJPM-CQ4pJ5GH.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-C9sYg04Z.js → chunk-AQP2D5EJ-Dy6UWz37.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-Cag-cj6I.js → chunk-FMBD7UC4-CC8nFqap.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-CDSTFoR7.js → chunk-ND2GUHAM-CkmS7lx7.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-CN9Z6oOs.js → chunk-QZHKN3VN-DynyqleZ.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-CwH_F8cH.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CwH_F8cH.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-DuN9j8Du.js → cose-bilkent-S5V4N54A-DA0fzCsY.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-ByCWe45f.js → dagre-BM42HDAG-DHYXRqCo.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-eWyU_pKZ.js → diagram-2AECGRRQ-DWD6BcPs.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-0Bfu3Fq5.js → diagram-5GNKFQAL-CX9wnqVc.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-B6KBKkQP.js → diagram-KO2AKTUF-BpE8Kbt8.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-TToDmeA_.js → diagram-LMA3HP47-DLPcrP0C.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-CQCkC2Yx.js → diagram-OG6HWLK6-CSUCBsCe.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-Cm9ls1iB.js → erDiagram-TEJ5UH35-d3Z0uMXS.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-Dyoz80Pv.js → flowDiagram-I6XJVG4X-C7vj5FX3.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-Cfut9yaU.js → ganttDiagram-6RSMTGT7-BV9UvDV_.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-BCuJdlfD.js → gitGraphDiagram-PVQCEYII-CoWp0mW4.js} +1 -1
- package/web-shell/assets/index-CjTH6cLP.js +516 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-CXKxF2VL.js → infoDiagram-5YYISTIA-DUswfJHA.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-DE7HWSU8.js → ishikawaDiagram-YF4QCWOH-WidEKukx.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-D__YUfds.js → journeyDiagram-JHISSGLW-D7IRK3VN.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-D82R169M.js → kanban-definition-UN3LZRKU-CwFJ6Cja.js} +1 -1
- package/web-shell/assets/{linear-DpyMbKqT.js → linear-BQ8GvDRY.js} +1 -1
- package/web-shell/assets/{mermaid.core-D1KEFDhn.js → mermaid.core-CwF8A_xO.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-BwVUFGFE.js → mindmap-definition-RKZ34NQL-TR1s0iZi.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-BO_qoEGx.js → pieDiagram-4H26LBE5-Cd91pMl9.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-Cx0ZaWPo.js → quadrantDiagram-W4KKPZXB-BGxGDNMl.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-BJPXejOA.js → requirementDiagram-4Y6WPE33-Cq3fWmYz.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-C1xeIL9i.js → sankeyDiagram-5OEKKPKP-ChLyGdq0.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-CSYKQUjf.js → sequenceDiagram-3UESZ5HK-tazy79aB.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-d9hiHlAW.js → stateDiagram-AJRCARHV-dIYLUNSf.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-luL7KTiX.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-BhCBkq8k.js → timeline-definition-PNZ67QCA-BuENhrC2.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-DPPFWp_y.js → vennDiagram-CIIHVFJN-DLtum9dF.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-CcOUIgXY.js → wardley-L42UT6IY-Bf7OSF3y.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-p7oR5X7r.js → wardleyDiagram-YWT4CUSO-slMw3OB3.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-Dfr7-SEy.js → xychartDiagram-2RQKCTM6-CdxOm8oC.js} +1 -1
- package/web-shell/index.html +1 -1
- package/chunks/chunk-77WXWU44.js +0 -26
- package/chunks/contextCommand-3327KUC4.js +0 -54
- package/web-shell/assets/channel-WwImfsc7.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-CJKQYFeJ.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CJKQYFeJ.js +0 -1
- package/web-shell/assets/index-DaebdpHq.js +0 -516
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DgReoybQ.js +0 -1
|
@@ -1,33 +1,49 @@
|
|
|
1
1
|
# Ignoring Files
|
|
2
2
|
|
|
3
|
-
This document provides an overview of the Qwen Ignore (`.qwenignore`) feature of Qwen Code.
|
|
3
|
+
This document provides an overview of the Qwen Ignore (`.qwenignore`) feature of Qwen Code. Qwen Code also recognizes custom ignore files configured by `context.fileFiltering.customIgnoreFiles`, which defaults to the compatibility files `.agentignore` and `.aiignore`.
|
|
4
4
|
|
|
5
|
-
Qwen Code includes the ability to automatically ignore files, similar to `.gitignore` (used by Git). Adding paths to
|
|
5
|
+
Qwen Code includes the ability to automatically ignore files, similar to `.gitignore` (used by Git). Adding paths to `.qwenignore` or a configured custom ignore file will exclude them from tools that support this feature, although they will still be visible to other services (such as Git).
|
|
6
6
|
|
|
7
7
|
## How it works
|
|
8
8
|
|
|
9
|
-
When you add a path to
|
|
9
|
+
When you add a path to one of these ignore files, tools that respect Qwen ignore rules will exclude matching files and directories from their operations. For example, when you use the [`read_many_files`](../../developers/tools/multi-file) command, any paths in `.qwenignore` or configured custom ignore files will be automatically excluded.
|
|
10
10
|
|
|
11
|
-
For the most part,
|
|
11
|
+
For the most part, these ignore files follow the conventions of `.gitignore` files:
|
|
12
12
|
|
|
13
13
|
- Blank lines and lines starting with `#` are ignored.
|
|
14
14
|
- Standard glob patterns are supported (such as `*`, `?`, and `[]`).
|
|
15
15
|
- Putting a `/` at the end will only match directories.
|
|
16
|
-
- Putting a `/` at the beginning anchors the path relative to the
|
|
16
|
+
- Putting a `/` at the beginning anchors the path relative to the ignore file.
|
|
17
17
|
- `!` negates a pattern.
|
|
18
18
|
|
|
19
|
-
You can update
|
|
19
|
+
You can update these ignore files at any time. To apply the changes, you must restart your Qwen Code session.
|
|
20
20
|
|
|
21
|
-
## How to use
|
|
21
|
+
## How to use ignore files
|
|
22
22
|
|
|
23
|
-
| Step
|
|
24
|
-
|
|
|
25
|
-
| **Enable
|
|
26
|
-
| **Add ignore rules**
|
|
23
|
+
| Step | Description |
|
|
24
|
+
| ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
25
|
+
| **Enable ignore rules** | Create `.qwenignore`, a default custom file (`.agentignore` / `.aiignore`), or a configured custom ignore file in your project root directory |
|
|
26
|
+
| **Add ignore rules** | Open the ignore file and add paths to ignore, example: `/archive/` or `apikeys.txt` |
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
By default, Qwen Code reads `.qwenignore`, `.agentignore`, and `.aiignore`.
|
|
29
|
+
To use a different custom ignore file, configure:
|
|
29
30
|
|
|
30
|
-
|
|
31
|
+
```json
|
|
32
|
+
{
|
|
33
|
+
"context": {
|
|
34
|
+
"fileFiltering": {
|
|
35
|
+
"customIgnoreFiles": [".cursorignore"]
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
`.qwenignore` is always included when `context.fileFiltering.respectQwenIgnore`
|
|
42
|
+
is enabled. Custom ignore file paths are relative to the project root.
|
|
43
|
+
|
|
44
|
+
### Ignore file examples
|
|
45
|
+
|
|
46
|
+
You can use any supported ignore file to ignore directories and files:
|
|
31
47
|
|
|
32
48
|
```
|
|
33
49
|
# Exclude your /packages/ directory and all subdirectories
|
|
@@ -37,7 +53,7 @@ You can use `.qwenignore` to ignore directories and files:
|
|
|
37
53
|
apikeys.txt
|
|
38
54
|
```
|
|
39
55
|
|
|
40
|
-
You can use wildcards in your
|
|
56
|
+
You can use wildcards in your ignore file with `*`:
|
|
41
57
|
|
|
42
58
|
```
|
|
43
59
|
# Exclude all .md files
|
|
@@ -52,4 +68,4 @@ Finally, you can exclude files and directories from exclusion with `!`:
|
|
|
52
68
|
!README.md
|
|
53
69
|
```
|
|
54
70
|
|
|
55
|
-
To remove paths from
|
|
71
|
+
To remove paths from an ignore file, delete the relevant lines.
|
|
@@ -235,25 +235,26 @@ The `extra_body` field allows you to add custom parameters to the request body s
|
|
|
235
235
|
|
|
236
236
|
#### context
|
|
237
237
|
|
|
238
|
-
| Setting | Type | Description | Default
|
|
239
|
-
| ----------------------------------------------------------- | -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
240
|
-
| `context.fileName` | string or array of strings | The name of the context file(s). | `undefined`
|
|
241
|
-
| `context.importFormat` | string | The format to use when importing memory. | `undefined`
|
|
242
|
-
| `context.includeDirectories` | array | Additional directories to include in the workspace context. Specifies an array of additional absolute or relative paths to include in the workspace context. Missing directories will be skipped with a warning by default. Paths can use `~` to refer to the user's home directory. This setting can be combined with the `--include-directories` command-line flag. | `[]`
|
|
243
|
-
| `context.loadFromIncludeDirectories` | boolean | Controls the behavior of the `/memory refresh` command. If set to `true`, `QWEN.md` files should be loaded from all directories that are added. If set to `false`, `QWEN.md` should only be loaded from the current directory. | `false`
|
|
244
|
-
| `context.fileFiltering.respectGitIgnore` | boolean | Respect .gitignore files when searching. | `true`
|
|
245
|
-
| `context.fileFiltering.respectQwenIgnore` | boolean | Respect .qwenignore files when searching.
|
|
246
|
-
| `context.fileFiltering.
|
|
247
|
-
| `context.fileFiltering.
|
|
248
|
-
| `context.
|
|
249
|
-
| `context.clearContextOnIdle.
|
|
250
|
-
| `context.clearContextOnIdle.
|
|
238
|
+
| Setting | Type | Description | Default |
|
|
239
|
+
| ----------------------------------------------------------- | -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------- |
|
|
240
|
+
| `context.fileName` | string or array of strings | The name of the context file(s). | `undefined` |
|
|
241
|
+
| `context.importFormat` | string | The format to use when importing memory. | `undefined` |
|
|
242
|
+
| `context.includeDirectories` | array | Additional directories to include in the workspace context. Specifies an array of additional absolute or relative paths to include in the workspace context. Missing directories will be skipped with a warning by default. Paths can use `~` to refer to the user's home directory. This setting can be combined with the `--include-directories` command-line flag. | `[]` |
|
|
243
|
+
| `context.loadFromIncludeDirectories` | boolean | Controls the behavior of the `/memory refresh` command. If set to `true`, `QWEN.md` files should be loaded from all directories that are added. If set to `false`, `QWEN.md` should only be loaded from the current directory. | `false` |
|
|
244
|
+
| `context.fileFiltering.respectGitIgnore` | boolean | Respect .gitignore files when searching. | `true` |
|
|
245
|
+
| `context.fileFiltering.respectQwenIgnore` | boolean | Respect .qwenignore and configured custom ignore files when searching. | `true` |
|
|
246
|
+
| `context.fileFiltering.customIgnoreFiles` | array | Project-root-relative ignore files to use instead of the default compatibility files (`.agentignore`, `.aiignore`) when `respectQwenIgnore` is enabled. `.qwenignore` is always included. | `[".agentignore", ".aiignore"]` |
|
|
247
|
+
| `context.fileFiltering.enableRecursiveFileSearch` | boolean | Whether to enable searching recursively for filenames under the current tree when completing `@` prefixes in the prompt. | `true` |
|
|
248
|
+
| `context.fileFiltering.enableFuzzySearch` | boolean | When `true`, enables fuzzy search capabilities when searching for files. Set to `false` to improve performance on projects with a large number of files. | `true` |
|
|
249
|
+
| `context.clearContextOnIdle.toolResultsThresholdMinutes` | number | Minutes of inactivity before clearing old tool result content. Use `-1` to disable the idle trigger. | `60` |
|
|
250
|
+
| `context.clearContextOnIdle.toolResultsNumToKeep` | number | Number of most-recent compactable tool results to preserve when clearing. Floor at 1. | `5` |
|
|
251
|
+
| `context.clearContextOnIdle.toolResultsTotalCharsThreshold` | number | Total compactable tool result output characters allowed in history before clearing oldest results. Use `-1` to disable the size trigger. This is a soft threshold: protected recent tool results may keep the total above it. | `500000` |
|
|
251
252
|
|
|
252
253
|
#### Troubleshooting File Search Performance
|
|
253
254
|
|
|
254
255
|
If you are experiencing performance issues with file searching (e.g., with `@` completions), especially in projects with a very large number of files, here are a few things you can try in order of recommendation:
|
|
255
256
|
|
|
256
|
-
1. **Use
|
|
257
|
+
1. **Use an ignore file:** Create a `.qwenignore` or configured custom ignore file in your project root to exclude directories that contain a large number of files that you don't need to reference (e.g., build artifacts, logs, `node_modules`). Reducing the total number of files crawled is the most effective way to improve performance.
|
|
257
258
|
2. **Disable Fuzzy Search:** If ignoring files is not enough, you can disable fuzzy search by setting `enableFuzzySearch` to `false` in your `settings.json` file. This will use a simpler, non-fuzzy matching algorithm, which can be faster.
|
|
258
259
|
3. **Disable Recursive File Search:** As a last resort, you can disable recursive file search entirely by setting `enableRecursiveFileSearch` to `false`. This will be the fastest option as it avoids a recursive crawl of your project. However, it means you will need to type the full path to files when using `@` completions.
|
|
259
260
|
|
|
@@ -12,11 +12,11 @@ We offer a suite of extension management tools using both `qwen extensions` CLI
|
|
|
12
12
|
|
|
13
13
|
You can manage extensions at runtime within the interactive CLI using `/extensions` slash commands. These commands support hot-reloading, meaning changes take effect immediately without restarting the application.
|
|
14
14
|
|
|
15
|
-
| Command | Description
|
|
16
|
-
| ------------------------------------- |
|
|
17
|
-
| `/extensions` or `/extensions manage` | Manage all installed extensions
|
|
18
|
-
| `/extensions install <source>` | Install an extension from a git URL, local path, npm package, or marketplace |
|
|
19
|
-
| `/extensions explore [source]` | Open extensions source page(Gemini or ClaudeCode) in your browser
|
|
15
|
+
| Command | Description |
|
|
16
|
+
| ------------------------------------- | ---------------------------------------------------------------------------------------------------- |
|
|
17
|
+
| `/extensions` or `/extensions manage` | Manage all installed extensions |
|
|
18
|
+
| `/extensions install <source>` | Install an extension from a git URL, local path or archive, archive URL, npm package, or marketplace |
|
|
19
|
+
| `/extensions explore [source]` | Open extensions source page(Gemini or ClaudeCode) in your browser |
|
|
20
20
|
|
|
21
21
|
#### The interactive extension manager
|
|
22
22
|
|
|
@@ -141,8 +141,26 @@ This will install the github mcp server extension.
|
|
|
141
141
|
qwen extensions install /path/to/your/extension
|
|
142
142
|
```
|
|
143
143
|
|
|
144
|
+
Local `.zip` and `.tar.gz` archives are also supported:
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
qwen extensions install /path/to/your/extension.zip
|
|
148
|
+
qwen extensions install /path/to/your/extension.tar.gz
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
The archive must contain a complete extension at its root, or a single top-level directory containing the extension.
|
|
152
|
+
|
|
144
153
|
Note that we create a copy of the installed extension, so you will need to run `qwen extensions update` to pull in changes from both locally-defined extensions and those on GitHub.
|
|
145
154
|
|
|
155
|
+
#### From Archive URL
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
qwen extensions install https://example.com/your/extension.zip
|
|
159
|
+
qwen extensions install https://example.com/your/extension.tar.gz
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
Archive URLs can be updated later as long as the URL continues to point at a newer archive for the same extension.
|
|
163
|
+
|
|
146
164
|
#### Choosing an install scope
|
|
147
165
|
|
|
148
166
|
By default, an installed extension is enabled globally (user scope). Pass `--scope project` to enable it only for the current workspace:
|
|
@@ -193,7 +211,7 @@ This is useful if you have an extension disabled at the top-level and only enabl
|
|
|
193
211
|
|
|
194
212
|
### Updating an extension
|
|
195
213
|
|
|
196
|
-
For extensions installed from a local path, a git repository, or an npm registry, you can explicitly update to the latest version with `qwen extensions update extension-name`. For npm extensions installed without a version pin (e.g. `@scope/pkg`), updates check the `latest` dist-tag. For those installed with a specific dist-tag (e.g. `@scope/pkg@beta`), updates track that tag. Extensions pinned to an exact version (e.g. `@scope/pkg@1.2.0`) are always considered up-to-date.
|
|
214
|
+
For extensions installed from a local path or archive, an archive URL, a git repository, or an npm registry, you can explicitly update to the latest version with `qwen extensions update extension-name`. For npm extensions installed without a version pin (e.g. `@scope/pkg`), updates check the `latest` dist-tag. For those installed with a specific dist-tag (e.g. `@scope/pkg@beta`), updates track that tag. Extensions pinned to an exact version (e.g. `@scope/pkg@1.2.0`) are always considered up-to-date.
|
|
197
215
|
|
|
198
216
|
You can update all extensions with:
|
|
199
217
|
|
|
@@ -42,8 +42,8 @@ qwen mcp
|
|
|
42
42
|
|
|
43
43
|
Most users only need these two scopes:
|
|
44
44
|
|
|
45
|
-
- **
|
|
46
|
-
- **
|
|
45
|
+
- **User scope (default)**: `~/.qwen/settings.json` across all projects on your machine
|
|
46
|
+
- **Project scope**: `.qwen/settings.json` in your project root
|
|
47
47
|
|
|
48
48
|
Write to user scope:
|
|
49
49
|
|
|
@@ -94,7 +94,7 @@ JSON (`.qwen/settings.json`):
|
|
|
94
94
|
}
|
|
95
95
|
```
|
|
96
96
|
|
|
97
|
-
CLI (writes to
|
|
97
|
+
CLI (writes to user scope by default):
|
|
98
98
|
|
|
99
99
|
```bash
|
|
100
100
|
qwen mcp add pythonTools -e DATABASE_URL=$DB_CONNECTION_STRING -e API_KEY=$EXTERNAL_API_KEY \
|
|
@@ -177,8 +177,11 @@ The prompt's messages are sent to the model, which then acts on them.
|
|
|
177
177
|
|
|
178
178
|
Resources a server advertises via `resources/list` are discovered per
|
|
179
179
|
server. Open the management dialog with `/mcp` and select a server to see
|
|
180
|
-
its **Resources** count alongside its tools and prompts.
|
|
181
|
-
the
|
|
180
|
+
its **Resources** count alongside its tools and prompts. Choose **View
|
|
181
|
+
resources** to browse the server's resource URIs; selecting one shows its
|
|
182
|
+
description and MIME type along with the exact `@server:uri` reference to
|
|
183
|
+
paste into a message. As with prompts, the `resources` capability is not
|
|
184
|
+
required to be declared.
|
|
182
185
|
|
|
183
186
|
Inject a resource's contents into your message with the `@server:uri`
|
|
184
187
|
syntax — type `@`, then the server name, a colon, and the resource URI:
|
|
@@ -187,8 +190,12 @@ syntax — type `@`, then the server name, a colon, and the resource URI:
|
|
|
187
190
|
summarize @myserver:file:///docs/spec.md and list the open questions
|
|
188
191
|
```
|
|
189
192
|
|
|
190
|
-
Typing `@myserver:` shows an autocomplete list of that server's
|
|
191
|
-
|
|
193
|
+
Typing `@myserver:` shows an autocomplete list of that server's resources;
|
|
194
|
+
keep typing to filter, matching (case-insensitively) either the resource URI
|
|
195
|
+
or its friendly name/title. You don't have to know a URI by heart — before
|
|
196
|
+
you reach the colon, typing part of a server name also suggests matching
|
|
197
|
+
servers that expose resources, so you can pick one and drill straight into
|
|
198
|
+
its resource list. On submit, the referenced resource is read and its contents are
|
|
192
199
|
appended to your message (text inline, binary blobs as attachments); the
|
|
193
200
|
`@server:uri` reference is preserved in the prompt so the model knows what
|
|
194
201
|
it is looking at. The `server` prefix must match a configured MCP server —
|
|
@@ -447,7 +454,7 @@ qwen mcp add [options] <name> <commandOrUrl> [args...]
|
|
|
447
454
|
| `<name>` | A unique name for the server. | — | `example-server` |
|
|
448
455
|
| `<commandOrUrl>` | The command to execute (for `stdio`) or the URL (for `http`/`sse`). | — | `/usr/bin/python` or `http://localhost:8` |
|
|
449
456
|
| `[args...]` | Optional arguments for a `stdio` command. | — | `--port 5000` |
|
|
450
|
-
| `-s`, `--scope` | Configuration scope (user or project). | `
|
|
457
|
+
| `-s`, `--scope` | Configuration scope (user or project). | `user` | `-s user` |
|
|
451
458
|
| `-t`, `--transport` | Transport type (`stdio`, `sse`, `http`). | `stdio` | `-t sse` |
|
|
452
459
|
| `-e`, `--env` | Set environment variables. | — | `-e KEY=value` |
|
|
453
460
|
| `-H`, `--header` | Set HTTP headers for SSE and HTTP transports. | — | `-H "X-Api-Key: abc123"` |
|
|
@@ -7,41 +7,43 @@ import {
|
|
|
7
7
|
hasRebuiltToolRegistry,
|
|
8
8
|
rebuildToolRegistryOnOverride,
|
|
9
9
|
resolveSubagentApprovalMode
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-2X2WXY6L.js";
|
|
11
11
|
import "./chunk-K5PGHDBN.js";
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-TXVGVZYR.js";
|
|
13
|
+
import "./chunk-XU5P23GN.js";
|
|
14
|
+
import "./chunk-2BIF2NVV.js";
|
|
15
|
+
import "./chunk-57XRIZVC.js";
|
|
16
|
+
import "./chunk-255L5QYW.js";
|
|
15
17
|
import "./chunk-2MPVVENX.js";
|
|
16
18
|
import "./chunk-ZTQ26VBE.js";
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-LF6BKGZT.js";
|
|
19
|
-
import "./chunk-26ZYKTYZ.js";
|
|
19
|
+
import "./chunk-GZCJS5WH.js";
|
|
20
20
|
import "./chunk-MLZQVCF3.js";
|
|
21
21
|
import "./chunk-LD2XBG6Z.js";
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-OTBK43JR.js";
|
|
23
|
+
import "./chunk-HGNSRCRB.js";
|
|
24
|
+
import "./chunk-EEEZIVFJ.js";
|
|
25
|
+
import "./chunk-PRYMDRBV.js";
|
|
26
|
+
import "./chunk-YMBWB67C.js";
|
|
27
27
|
import "./chunk-3PJXIDKI.js";
|
|
28
28
|
import "./chunk-UWCTAVOD.js";
|
|
29
29
|
import "./chunk-OFEVLU4C.js";
|
|
30
30
|
import "./chunk-OMX7CUOE.js";
|
|
31
|
-
import "./chunk-
|
|
32
|
-
import "./chunk-
|
|
33
|
-
import "./chunk-
|
|
34
|
-
import "./chunk-
|
|
35
|
-
import "./chunk-
|
|
36
|
-
import "./chunk-
|
|
31
|
+
import "./chunk-BNXANYLH.js";
|
|
32
|
+
import "./chunk-T2VDEFUU.js";
|
|
33
|
+
import "./chunk-PO5LVPK3.js";
|
|
34
|
+
import "./chunk-PLY4F7QW.js";
|
|
35
|
+
import "./chunk-BGUDAULQ.js";
|
|
36
|
+
import "./chunk-EW6C27XX.js";
|
|
37
|
+
import "./chunk-22IFUCVR.js";
|
|
37
38
|
import "./chunk-64WXLC72.js";
|
|
38
|
-
import "./chunk-
|
|
39
|
-
import "./chunk-
|
|
40
|
-
import "./chunk-
|
|
39
|
+
import "./chunk-3UALQ56H.js";
|
|
40
|
+
import "./chunk-JDV3VBPY.js";
|
|
41
|
+
import "./chunk-CGEGHF2C.js";
|
|
42
|
+
import "./chunk-EJYJYJZ2.js";
|
|
41
43
|
import "./chunk-55ZMG67I.js";
|
|
42
44
|
import "./chunk-H6BD2ELD.js";
|
|
43
45
|
import "./chunk-5IFG2VC4.js";
|
|
44
|
-
import "./chunk-
|
|
46
|
+
import "./chunk-C4K3FEQ2.js";
|
|
45
47
|
import "./chunk-ZERZSAZL.js";
|
|
46
48
|
import "./chunk-QN5NZ3UQ.js";
|
|
47
49
|
import "./chunk-BR4QREVK.js";
|
|
@@ -4,41 +4,43 @@ import {
|
|
|
4
4
|
AgentHeadless,
|
|
5
5
|
ContextState,
|
|
6
6
|
templateString
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-2X2WXY6L.js";
|
|
8
8
|
import "./chunk-K5PGHDBN.js";
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-TXVGVZYR.js";
|
|
10
|
+
import "./chunk-XU5P23GN.js";
|
|
11
|
+
import "./chunk-2BIF2NVV.js";
|
|
12
|
+
import "./chunk-57XRIZVC.js";
|
|
13
|
+
import "./chunk-255L5QYW.js";
|
|
12
14
|
import "./chunk-2MPVVENX.js";
|
|
13
15
|
import "./chunk-ZTQ26VBE.js";
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-LF6BKGZT.js";
|
|
16
|
-
import "./chunk-26ZYKTYZ.js";
|
|
16
|
+
import "./chunk-GZCJS5WH.js";
|
|
17
17
|
import "./chunk-MLZQVCF3.js";
|
|
18
18
|
import "./chunk-LD2XBG6Z.js";
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-OTBK43JR.js";
|
|
20
|
+
import "./chunk-HGNSRCRB.js";
|
|
21
|
+
import "./chunk-EEEZIVFJ.js";
|
|
22
|
+
import "./chunk-PRYMDRBV.js";
|
|
23
|
+
import "./chunk-YMBWB67C.js";
|
|
24
24
|
import "./chunk-3PJXIDKI.js";
|
|
25
25
|
import "./chunk-UWCTAVOD.js";
|
|
26
26
|
import "./chunk-OFEVLU4C.js";
|
|
27
27
|
import "./chunk-OMX7CUOE.js";
|
|
28
|
-
import "./chunk-
|
|
29
|
-
import "./chunk-
|
|
30
|
-
import "./chunk-
|
|
31
|
-
import "./chunk-
|
|
32
|
-
import "./chunk-
|
|
33
|
-
import "./chunk-
|
|
28
|
+
import "./chunk-BNXANYLH.js";
|
|
29
|
+
import "./chunk-T2VDEFUU.js";
|
|
30
|
+
import "./chunk-PO5LVPK3.js";
|
|
31
|
+
import "./chunk-PLY4F7QW.js";
|
|
32
|
+
import "./chunk-BGUDAULQ.js";
|
|
33
|
+
import "./chunk-EW6C27XX.js";
|
|
34
|
+
import "./chunk-22IFUCVR.js";
|
|
34
35
|
import "./chunk-64WXLC72.js";
|
|
35
|
-
import "./chunk-
|
|
36
|
-
import "./chunk-
|
|
37
|
-
import "./chunk-
|
|
36
|
+
import "./chunk-3UALQ56H.js";
|
|
37
|
+
import "./chunk-JDV3VBPY.js";
|
|
38
|
+
import "./chunk-CGEGHF2C.js";
|
|
39
|
+
import "./chunk-EJYJYJZ2.js";
|
|
38
40
|
import "./chunk-55ZMG67I.js";
|
|
39
41
|
import "./chunk-H6BD2ELD.js";
|
|
40
42
|
import "./chunk-5IFG2VC4.js";
|
|
41
|
-
import "./chunk-
|
|
43
|
+
import "./chunk-C4K3FEQ2.js";
|
|
42
44
|
import "./chunk-ZERZSAZL.js";
|
|
43
45
|
import "./chunk-QN5NZ3UQ.js";
|
|
44
46
|
import "./chunk-BR4QREVK.js";
|
package/chunks/{anthropicContentGenerator-5S4OMMNL.js → anthropicContentGenerator-6MCH4X6S.js}
RENAMED
|
@@ -3,30 +3,31 @@
|
|
|
3
3
|
import {
|
|
4
4
|
require_abort_controller,
|
|
5
5
|
require_lib
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-RYLJU2DY.js";
|
|
7
7
|
import {
|
|
8
8
|
RequestTokenizer
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-JRVB4QUY.js";
|
|
10
10
|
import {
|
|
11
11
|
Blob,
|
|
12
12
|
File,
|
|
13
13
|
isFile,
|
|
14
14
|
isFunction
|
|
15
15
|
} from "./chunk-P3MYAZBY.js";
|
|
16
|
-
import {
|
|
17
|
-
buildRuntimeFetchOptions,
|
|
18
|
-
redactProxyError
|
|
19
|
-
} from "./chunk-42HGOMED.js";
|
|
20
16
|
import {
|
|
21
17
|
CAPPED_DEFAULT_MAX_TOKENS,
|
|
22
18
|
DEFAULT_TIMEOUT,
|
|
23
|
-
|
|
19
|
+
buildRuntimeFetchOptions,
|
|
24
20
|
hasExplicitOutputLimit,
|
|
25
21
|
parsePositiveIntegerEnvValue,
|
|
26
|
-
|
|
27
|
-
safeJsonParse,
|
|
22
|
+
redactProxyError,
|
|
28
23
|
tokenLimit
|
|
29
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-JDV3VBPY.js";
|
|
25
|
+
import {
|
|
26
|
+
convertSchema,
|
|
27
|
+
runtimeDiagnostics,
|
|
28
|
+
safeJsonParse
|
|
29
|
+
} from "./chunk-CGEGHF2C.js";
|
|
30
|
+
import "./chunk-EJYJYJZ2.js";
|
|
30
31
|
import {
|
|
31
32
|
FinishReason,
|
|
32
33
|
GenerateContentResponse
|
|
@@ -35,7 +36,7 @@ import "./chunk-H6BD2ELD.js";
|
|
|
35
36
|
import "./chunk-5IFG2VC4.js";
|
|
36
37
|
import {
|
|
37
38
|
createDebugLogger
|
|
38
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-C4K3FEQ2.js";
|
|
39
40
|
import {
|
|
40
41
|
require_ms
|
|
41
42
|
} from "./chunk-BR4QREVK.js";
|