@mmmbuto/qwen-code-termux 0.14.3-termux → 0.15.5-termux

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.
Files changed (36) hide show
  1. package/README.md +1 -1
  2. package/bundled/batch/SKILL.md +304 -0
  3. package/bundled/loop/SKILL.md +1 -0
  4. package/bundled/qc-helper/SKILL.md +1 -0
  5. package/bundled/qc-helper/docs/configuration/auth.md +13 -6
  6. package/bundled/qc-helper/docs/configuration/settings.md +158 -109
  7. package/bundled/qc-helper/docs/features/_meta.ts +4 -0
  8. package/bundled/qc-helper/docs/features/arena.md +3 -2
  9. package/bundled/qc-helper/docs/features/commands.md +67 -11
  10. package/bundled/qc-helper/docs/features/dual-output.md +593 -0
  11. package/bundled/qc-helper/docs/features/headless.md +61 -0
  12. package/bundled/qc-helper/docs/features/hooks.md +408 -120
  13. package/bundled/qc-helper/docs/features/mcp.md +100 -14
  14. package/bundled/qc-helper/docs/features/memory.md +168 -0
  15. package/bundled/qc-helper/docs/features/sandbox.md +9 -1
  16. package/bundled/qc-helper/docs/features/status-line.md +36 -10
  17. package/bundled/qc-helper/docs/features/sub-agents.md +126 -7
  18. package/bundled/qc-helper/docs/features/tips.md +54 -0
  19. package/bundled/qc-helper/docs/features/tool-use-summaries.md +178 -0
  20. package/bundled/qc-helper/docs/overview.md +4 -4
  21. package/bundled/qc-helper/docs/quickstart.md +15 -9
  22. package/bundled/qc-helper/docs/support/tos-privacy.md +1 -1
  23. package/bundled/qc-helper/docs/support/troubleshooting.md +9 -3
  24. package/bundled/review/SKILL.md +3 -2
  25. package/cli.js +241845 -206771
  26. package/locales/ca.js +2143 -0
  27. package/locales/de.js +82 -8
  28. package/locales/en.js +91 -8
  29. package/locales/fr.js +2099 -0
  30. package/locales/ja.js +81 -8
  31. package/locales/pt.js +83 -8
  32. package/locales/ru.js +81 -8
  33. package/locales/zh-TW.js +1678 -0
  34. package/locales/zh.js +88 -8
  35. package/package.json +2 -2
  36. package/bundled/qc-helper/docs/configuration/memory.md +0 -0
package/README.md CHANGED
@@ -9,7 +9,7 @@
9
9
 
10
10
  </div>
11
11
 
12
- > News (2026-04-07): `v0.14.1-termux` is rebuilt from upstream `v0.14.1` on a clean history line for the Termux fork.
12
+ > News (2026-04-10): `v0.15.5-termux` rebuilt from upstream `v0.15.5`. New: compactMode (ex verboseMode), status-line customization, `/model --fast`, plan mode improvements, review skill improvements, adaptive token escalation, qwen3.6-plus model.
13
13
 
14
14
  Qwen Code Termux is a clean fork of [QwenLM/qwen-code](https://github.com/QwenLM/qwen-code), rebuilt release-by-release from upstream and patched only where Android/Termux needs different behavior.
15
15
 
@@ -0,0 +1,304 @@
1
+ ---
2
+ name: batch
3
+ description: Execute batch operations on multiple files in parallel. Automatically discovers files, splits into chunks, and processes with parallel worker agents. Use `/batch` followed by operation and file pattern.
4
+ argument-hint: '<operation> <file-pattern>'
5
+ allowedTools:
6
+ - task
7
+ - glob
8
+ - grep_search
9
+ - read_file
10
+ - edit
11
+ - write_file
12
+ - run_shell_command
13
+ - ask_user_question
14
+ ---
15
+
16
+ # /batch - Parallel Batch Operations
17
+
18
+ You are orchestrating a batch operation across multiple files. Your job is to:
19
+
20
+ 1. Parse the user's request to understand the target files and operation
21
+ 2. Discover matching files using glob
22
+ 3. Split files into chunks for parallel processing
23
+ 4. Launch multiple worker agents to process files concurrently
24
+ 5. Aggregate results and present a summary
25
+
26
+ ## Step 1: Parse Intent and Discover Files
27
+
28
+ First, parse the user's request to identify:
29
+
30
+ - **Target pattern**: glob pattern for files (e.g., `src/**/*.ts`, `**/*.js`)
31
+ - **Operation**: what to do with each file (e.g., "add JSDoc comments", "convert to TypeScript")
32
+
33
+ If the user didn't specify a pattern, infer it from context or ask for clarification.
34
+
35
+ Use the `glob` tool to discover matching files.
36
+
37
+ **If no files match the pattern**:
38
+
39
+ - Inform the user that no files were found for the given pattern
40
+ - Suggest checking the pattern or broadening the search scope
41
+ - Do not proceed with an empty batch
42
+
43
+ Apply these common exclusions automatically:
44
+
45
+ - `node_modules/**`
46
+ - `dist/**`
47
+ - `build/**`
48
+ - `.git/**`
49
+ - `**/*.test.ts`, `**/*.test.js`
50
+ - `**/*.spec.ts`, `**/*.spec.js`
51
+ - `**/__tests__/**`
52
+ - `**/test/**`, `**/tests/**`
53
+ - `**/package-lock.json`
54
+ - `**/yarn.lock`
55
+ - `**/*.min.js`
56
+ - Binary files (images, fonts, etc.)
57
+ - Files larger than 500KB (check size if needed)
58
+
59
+ **Important**: If more than 50 files match, inform the user with the exact count and the file list, then proceed. The user can cancel (Ctrl+C) if needed. If the count exceeds 100 files, warn the user and suggest a more specific pattern instead of proceeding.
60
+
61
+ ## Step 2: Chunk Files for Parallel Processing
62
+
63
+ Split the discovered files into chunks based on these rules:
64
+
65
+ | Total Files | Chunk Count | Files Per Chunk |
66
+ | ----------- | ----------- | --------------- |
67
+ | 1-5 | 1 | All files |
68
+ | 6-15 | 2 | 3-8 each |
69
+ | 16-30 | 3 | ~10 each |
70
+ | 31-50 | 4 | ~10-12 each |
71
+ | 51-75 | 5 | ~10-15 each |
72
+ | 76-100 | 5 | ~15-20 each |
73
+
74
+ **Chunking algorithm**:
75
+
76
+ - Minimum chunk size: 3 files (avoid over-parallelization for small batches)
77
+ - Maximum chunk size: 15 files (ensure reasonable work per agent)
78
+ - Maximum parallel agents: 5 (API rate limit consideration)
79
+
80
+ Example: 24 files → 3 chunks of ~8 files each
81
+
82
+ ## Step 3: Launch Parallel Worker Agents
83
+
84
+ Launch worker agents **in parallel** by invoking the `task` tool (the Agent tool) multiple times in a **SINGLE message**.
85
+
86
+ **Note**: The `task` tool in allowedTools is the Agent tool used to spawn worker agents.
87
+
88
+ Each worker agent should receive:
89
+
90
+ - The list of files to process (full paths)
91
+ - The operation to perform
92
+ - Clear instructions to report success/failure per file
93
+
94
+ Use the `general-purpose` subagent type for workers.
95
+
96
+ **CRITICAL**: All Agent tool calls MUST be in a single response to enable parallel execution. The system automatically runs multiple Agent calls concurrently.
97
+
98
+ ### Agent Prompt Template
99
+
100
+ For each chunk, use this prompt format:
101
+
102
+ ```
103
+ You are a worker agent processing a batch of files.
104
+
105
+ **Operation**: [describe the operation, e.g., "Add JSDoc comments to all exported functions"]
106
+
107
+ **Files to process**:
108
+ - [file1.ts]
109
+ - [file2.ts]
110
+ - ...
111
+
112
+ **Instructions**:
113
+ 1. Process each file independently
114
+ 2. For each file, report one of:
115
+ - SUCCESS: [file path] - [brief description of change]
116
+ - FAILED: [file path] - [reason for failure]
117
+ - SKIPPED: [file path] - [reason for skipping]
118
+ 3. If a file fails or is skipped, continue with the next file - do not abort
119
+ 4. At the end, provide a summary of what was done
120
+
121
+ **Constraints**:
122
+ - Do not modify test files unless explicitly requested
123
+ - Preserve existing code style and formatting
124
+ - Make minimal necessary changes to accomplish the operation
125
+ ```
126
+
127
+ ### Example Invocation Pattern
128
+
129
+ ```
130
+ <Agent tool call 1>
131
+ description: "Process batch chunk 1/3"
132
+ prompt: "You are a worker agent... [full prompt as above]"
133
+ subagent_type: "general-purpose"
134
+ </Agent tool call 1>
135
+
136
+ <Agent tool call 2>
137
+ description: "Process batch chunk 2/3"
138
+ prompt: "You are a worker agent... [full prompt as above]"
139
+ subagent_type: "general-purpose"
140
+ </Agent tool call 2>
141
+
142
+ <Agent tool call 3>
143
+ description: "Process batch chunk 3/3"
144
+ prompt: "You are a worker agent... [full prompt as above]"
145
+ subagent_type: "general-purpose"
146
+ </Agent tool call 3>
147
+ ```
148
+
149
+ ## Step 4: Aggregate Results
150
+
151
+ After all worker agents complete, aggregate their results into a clear summary.
152
+
153
+ ### Output Format
154
+
155
+ ```markdown
156
+ ### Batch Operation Complete
157
+
158
+ **Operation**: [description of what was done]
159
+ **Files discovered**: [total count]
160
+ **Chunks processed**: [number of parallel agents]
161
+ **Total time**: [duration if tracked]
162
+
163
+ | Status | Count |
164
+ | ------- | ----- |
165
+ | Success | [N] |
166
+ | Failed | [N] |
167
+ | Skipped | [N] |
168
+
169
+ **Successful files**:
170
+
171
+ - [file1.ts] - [brief description]
172
+ - [file2.ts] - [brief description]
173
+ ...
174
+
175
+ **Failed files** (if any):
176
+
177
+ - [file.ts]: [reason for failure]
178
+
179
+ **Skipped files** (if any):
180
+
181
+ - [file.ts]: [reason for skipping]
182
+ ```
183
+
184
+ ### Handling Partial Failures
185
+
186
+ If some files failed but others succeeded:
187
+
188
+ - Clearly report which files succeeded
189
+ - List failures with specific reasons
190
+ - Suggest follow-up actions if appropriate
191
+
192
+ If all files failed:
193
+
194
+ - Report the common failure pattern
195
+ - Suggest potential fixes
196
+
197
+ ## Step 5: Error Handling
198
+
199
+ ### During Batch Processing
200
+
201
+ 1. **Single file failure**: Don't abort the batch. The worker agent records the error and continues.
202
+ 2. **Agent failure**: If a worker agent fails completely (timeout, crash), note the chunk as failed with reason.
203
+ 3. **User cancellation**: If the user sends Ctrl+C, the system will cancel all pending agents gracefully.
204
+
205
+ ### Error Reporting
206
+
207
+ For each failed file, include:
208
+
209
+ - File path
210
+ - Specific error message or reason
211
+ - Suggested fix if obvious
212
+
213
+ ## Usage Examples
214
+
215
+ ### Example 1: Add License Headers
216
+
217
+ ```
218
+ /batch Add Apache 2.0 license header to all .ts files in src/
219
+ ```
220
+
221
+ **Flow**:
222
+
223
+ 1. glob `src/**/*.ts` → find 45 files
224
+ 2. Split into 4 chunks
225
+ 3. Launch 4 parallel agents
226
+ 4. Each agent adds the license header to its assigned files
227
+ 5. Summary: 45 files processed, 45 succeeded, 0 failed
228
+
229
+ ### Example 2: Convert JavaScript to TypeScript
230
+
231
+ ```
232
+ /batch Convert all .js files in utils/ to TypeScript
233
+ ```
234
+
235
+ **Flow**:
236
+
237
+ 1. glob `utils/**/*.js` → find 12 files
238
+ 2. Split into 2 chunks
239
+ 3. Launch 2 parallel agents
240
+ 4. Each agent converts files and renames to .ts
241
+ 5. Summary: 12 files processed, 10 succeeded, 2 failed (complex dynamic patterns)
242
+
243
+ ### Example 3: Fix Lint Errors
244
+
245
+ ```
246
+ /batch Fix all @typescript-eslint/no-explicit-any errors in src/
247
+ ```
248
+
249
+ **Flow**:
250
+
251
+ 1. Use `grep_search` to find files containing `: any` pattern in `src/`
252
+ 2. Filter to relevant files
253
+ 3. Split into chunks and launch parallel agents
254
+ 4. Each agent fixes the specific lint issue (replace `any` with proper types)
255
+ 5. Summary: 8 files fixed
256
+
257
+ ## Constraints and Limits
258
+
259
+ | Constraint | Value | Reason |
260
+ | ------------------- | ----- | ---------------------------- |
261
+ | Max files per batch | 100 | Prevent resource exhaustion |
262
+ | Max parallel agents | 5 | API rate limit consideration |
263
+ | Min files per agent | 3 | Avoid over-parallelization |
264
+ | Max files per agent | 15 | Ensure meaningful work |
265
+ | File size limit | 500KB | Avoid context overflow |
266
+
267
+ ## Dry-Run Mode
268
+
269
+ If the user wants to preview what will be changed without actually modifying files (e.g., "preview", "show me what would change", "dry run"):
270
+
271
+ 1. Discover and list all matching files with counts
272
+ 2. Show the planned operation for each file
273
+ 3. Display the chunking strategy
274
+ 4. Ask the user if they want to proceed with the actual changes
275
+ 5. If user confirms, execute the batch operation
276
+
277
+ **Example**:
278
+
279
+ ```
280
+ /batch preview adding JSDoc comments to src/**/*.ts
281
+ ```
282
+
283
+ **Expected output**:
284
+
285
+ ```
286
+ ### Dry-Run Preview
287
+
288
+ **Operation**: Add JSDoc comments to all .ts files in src/
289
+
290
+ **Files discovered**: 24 files
291
+
292
+ **Chunking plan**:
293
+ | Chunk | Files |
294
+ |-------|-------|
295
+ | 1 | src/utils/a.ts, b.ts, c.ts, ... (8 files) |
296
+ | 2 | src/components/x.ts, y.ts, ... (8 files) |
297
+ | 3 | src/services/m.ts, n.ts, ... (8 files) |
298
+
299
+ **Planned operation per file**:
300
+ - Add JSDoc comments to all exported functions
301
+ - Preserve existing code style
302
+
303
+ Proceed? (y/n)
304
+ ```
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: loop
3
3
  description: Create a recurring loop that runs a prompt on a schedule. Usage - /loop 5m check the build, /loop check the PR every 30m, /loop run tests (defaults to 10m). /loop list to show jobs, /loop clear to cancel all.
4
+ argument-hint: '[interval] <prompt> | list | clear'
4
5
  allowedTools:
5
6
  - cron_create
6
7
  - cron_list
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: qc-helper
3
3
  description: Answer any question about Qwen Code usage, features, configuration, and troubleshooting by referencing the official user documentation. Also helps users view or modify their settings.json. Invoke with `/qc-helper` followed by a question, e.g. `/qc-helper how do I configure MCP servers?` or `/qc-helper change approval mode to yolo`.
4
+ argument-hint: '<question>'
4
5
  allowedTools:
5
6
  - read_file
6
7
  - edit_file
@@ -2,18 +2,20 @@
2
2
 
3
3
  Qwen Code supports three authentication methods. Pick the one that matches how you want to run the CLI:
4
4
 
5
- - **Qwen OAuth**: sign in with your `qwen.ai` account in a browser. Free with a daily quota.
5
+ - **Qwen OAuth**: sign in with your `qwen.ai` account in a browser. **Free tier discontinued on 2026-04-15** — switch to another method.
6
6
  - **Alibaba Cloud Coding Plan**: use an API key from Alibaba Cloud. Paid subscription with diverse model options and higher quotas.
7
7
  - **API Key**: bring your own API key. Flexible to your own needs — supports OpenAI, Anthropic, Gemini, and other compatible endpoints.
8
8
 
9
- ## Option 1: Qwen OAuth (Free)
9
+ ## Option 1: Qwen OAuth (Discontinued)
10
10
 
11
- Use this if you want the simplest setup and you're using Qwen models.
11
+ > [!warning]
12
+ >
13
+ > The Qwen OAuth free tier was discontinued on 2026-04-15. Existing cached tokens may continue working briefly, but new requests will be rejected. Please switch to Alibaba Cloud Coding Plan, [OpenRouter](https://openrouter.ai), [Fireworks AI](https://app.fireworks.ai), or another provider. Run `qwen auth` to configure.
12
14
 
13
15
  - **How it works**: on first start, Qwen Code opens a browser login page. After you finish, credentials are cached locally so you usually won't need to log in again.
14
16
  - **Requirements**: a `qwen.ai` account + internet access (at least for the first login).
15
17
  - **Benefits**: no API key management, automatic credential refresh.
16
- - **Cost & quota**: free, with a quota of **60 requests/minute** and **1,000 requests/day**.
18
+ - **Cost & quota**: the free tier has been discontinued as of 2026-04-15.
17
19
 
18
20
  Start the CLI and follow the browser flow:
19
21
 
@@ -327,8 +329,9 @@ You'll see a selector with arrow-key navigation:
327
329
  ```
328
330
  Select authentication method:
329
331
 
330
- > Qwen OAuth - Free · Up to 1,000 requests/day · Qwen latest models
331
332
  Alibaba Cloud Coding Plan - Paid · Up to 6,000 requests/5 hrs · All Alibaba Cloud Coding Plan Models
333
+ API Key - Bring your own API key
334
+ Qwen OAuth - Discontinued — switch to Coding Plan or API Key
332
335
 
333
336
  (Use ↑ ↓ arrows to navigate, Enter to select, Ctrl+C to exit)
334
337
  ```
@@ -338,9 +341,10 @@ Select authentication method:
338
341
  | Command | Description |
339
342
  | ---------------------------------------------------- | ------------------------------------------------- |
340
343
  | `qwen auth` | Interactive authentication setup |
341
- | `qwen auth qwen-oauth` | Authenticate with Qwen OAuth |
342
344
  | `qwen auth coding-plan` | Authenticate with Alibaba Cloud Coding Plan |
343
345
  | `qwen auth coding-plan --region china --key sk-sp-…` | Non-interactive Coding Plan setup (for scripting) |
346
+ | `qwen auth api-key` | Authenticate with an API key |
347
+ | `qwen auth qwen-oauth` | Authenticate with Qwen OAuth (discontinued) |
344
348
  | `qwen auth status` | Show current authentication status |
345
349
 
346
350
  **Examples:**
@@ -355,6 +359,9 @@ qwen auth coding-plan
355
359
  # Set up Coding Plan non-interactively (useful for CI/scripting)
356
360
  qwen auth coding-plan --region china --key sk-sp-xxxxxxxxx
357
361
 
362
+ # Set up API key (ModelStudio Standard or custom provider)
363
+ qwen auth api-key
364
+
358
365
  # Check your current auth configuration
359
366
  qwen auth status
360
367
  ```