Commit graph

4838 commits

Author SHA1 Message Date
mingholy.lmh
45495e44b1 chore: reduce DEFAULT_OUTPUT_TOKEN_LIMIT from 32768 to 32000 for legacy model support
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-17 17:47:26 +08:00
tanzhenxin
78faa365cb feat(tools): allow read-file access to OS temp directory
- Add os.tmpdir() to allowed paths in read-file tool
- Add tests for reading files from OS temp directory
- Add terminal capture scenario for PR review testing

This supports the PR review workflow which saves context to temp files.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-17 17:13:23 +08:00
mingholy.lmh
4f58306a15 fix: improve max_tokens handling with conservative defaults
- Increase DEFAULT_OUTPUT_TOKEN_LIMIT from 16K to 32K
- Remove auto-detection from modelsConfig, apply at provider level
- Use conservative default (min of model limit and 32K) when user hasn't configured max_tokens
- Respect user configuration but cap at model's max output limit to avoid API errors

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-17 17:01:41 +08:00
tanzhenxin
1a977b62f3 refactor(skills): improve PR review workflow for better agent coordination
- Checkout PR branch instead of remote viewing for full file access
- Save PR context to temp file to avoid repeating in agent prompts
- Add guidance to prevent 4x diff duplication across agents
- Include environment restoration step after review

This enables agents to read files directly and use git diff against base branch,
improving review quality and reducing prompt bloat.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-17 16:50:25 +08:00
qqqys
1788be9c57 refactor(search): implement backend fuzzy search and improve file handling
- Removed client-side filtering for search queries; fuzzy search is now handled by the backend.
- Enhanced file search initialization and caching mechanisms in FileMessageHandler.
- Added file watchers for cache invalidation on file system changes.
- Updated completion trigger logic to prioritize '@' over '/' for path-like queries.
- Reset last query on file selection to ensure fresh search results.

This refactor improves search efficiency and maintains accurate file references in the application.
2026-03-17 16:38:14 +08:00
tanzhenxin
e133627e8a feat(core): execute task tools concurrently for improved performance
Task tools spawn independent sub-agents with no shared mutable state,
making them safe to run in parallel. This change executes all task
tools concurrently while keeping other tools sequential to preserve
any implicit ordering the model may rely on.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-17 15:45:17 +08:00
tanzhenxin
12293033b4 refactor(agents): remove outputFile from tool result events
Remove unused outputFile property from AgentToolResultEvent and its
associated test case. This property is not needed for agent tool
result handling.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-17 14:29:02 +08:00
LaZzyMan
2506276ae5 fix test ci 2026-03-17 14:16:53 +08:00
DragonnZhang
7886ec6c8d fix(keypress): handle unsupported Kitty CSI-u keys and recover plain text
- Add helper functions for better code organization (createPrintableKey,
  getCompleteCsiSequenceLength, parsePlainTextPrefix)
- Drop unsupported Kitty CSI-u keys without blocking subsequent input
- Recover plain text that arrives in same chunk after unsupported CSI-u keys
- Add comprehensive tests for edge cases (CAPS_LOCK, event metadata variants)

Improves robustness of Kitty keyboard protocol parsing by gracefully
handling unsupported key codes and ensuring plain text input is not lost.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-17 14:02:41 +08:00
tanzhenxin
edd8388b27 Merge branch 'main' into feature/arena-agent-collaboration 2026-03-17 14:00:47 +08:00
tanzhenxin
dbfa5b3e8e
Merge pull request #2423 from QwenLM/test/shell-and-encoding-utilities
Some checks failed
Qwen Code CI / Lint (push) Failing after 3s
Qwen Code CI / CodeQL (push) Failing after 3s
Qwen Code CI / Test (push) Has been skipped
Qwen Code CI / Test-1 (push) Has been skipped
Qwen Code CI / Test-2 (push) Has been skipped
Qwen Code CI / Test-3 (push) Has been skipped
Qwen Code CI / Test-4 (push) Has been skipped
Qwen Code CI / Test-5 (push) Has been skipped
Qwen Code CI / Test-6 (push) Has been skipped
Qwen Code CI / Test-7 (push) Has been skipped
Qwen Code CI / Test-8 (push) Has been skipped
E2E Tests / E2E Test (Linux) - sandbox:docker (push) Failing after 4s
E2E Tests / E2E Test (Linux) - sandbox:none (push) Failing after 3s
Qwen Code CI / Post Coverage Comment (push) Has been skipped
E2E Tests / E2E Test - macOS (push) Has been cancelled
fix(shell): resolve Windows encoding issues for non-ASCII output
2026-03-16 23:07:40 +08:00
tanzhenxin
c3f5dd353d docs(tools): document file encoding and platform-specific behavior
Add documentation for encoding detection, default encoding settings,
CRLF handling for batch files, and UTF-8 BOM for PowerShell scripts on
Windows.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-16 23:03:50 +08:00
tanzhenxin
17939baa66 feat(core): auto-detect UTF-8 BOM for PowerShell scripts on Windows
- Add needsUtf8Bom() to detect when UTF-8 BOM is needed based on file
  extension and system code page
- PowerShell 5.1 on non-UTF-8 Windows systems (e.g. GBK) requires BOM
  to read scripts correctly
- Remove default UTF8 encoding; undefined now triggers auto-detection
- Add tests for needsUtf8Bom() covering Windows/non-Windows scenarios

This ensures PowerShell scripts are written with UTF-8 BOM on systems
that need it, fixing character encoding issues for non-ASCII content.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-16 22:44:53 +08:00
zach
46b9c75f83 fix(cli): show newest-first history for Ctrl+R command search 2026-03-16 14:16:03 +00:00
tanzhenxin
82e0064871 refactor(core): use dynamic terminal dimensions for replay
- Remove hardcoded REPLAY_TERMINAL_COLS/ROWS/SCROLLBACK constants
- Pass actual terminal dimensions to replayTerminalOutput()
- Increase scrollback buffer to 10000 for better output capture

This ensures terminal replay uses the actual terminal size instead of
fixed dimensions, improving output accuracy.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-16 21:16:20 +08:00
LaZzyMan
d4608afc2d feat: init claw skill 2026-03-16 21:15:20 +08:00
tanzhenxin
922fca51af test(services): simplify os module mock in fileSystemService tests
Refactor the vi.mock for 'os' to use a simpler direct mock object
instead of the importOriginal pattern, making the test setup more concise.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-16 20:35:48 +08:00
tanzhenxin
9b1bd731d7 refactor(core): improve platform-specific encoding and shell utilities
- Make CRLF conversion for .bat/.cmd files Windows-only
- Extract PowerShell UTF-8 prefix into reusable function
- Replace custom UTF-8 validation with Node.js built-in isUtf8()

This ensures .bat/.cmd files are only converted on Windows where cmd.exe
actually requires CRLF, and reduces code duplication for shell encoding.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-16 20:29:21 +08:00
tanzhenxin
08c1ce94c0 chore(shell): remove Codex CLI reference from comment
This removes an unnecessary external reference from the codebase.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-16 19:21:10 +08:00
tanzhenxin
aa8afbad9d test(encoding): remove Windows encoding e2e tests
This removes the Windows-specific encoding integration tests that are
no longer needed after consolidating the encoding utilities.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-16 19:10:23 +08:00
qwen-code-ci-bot
bcbd82d2d4
chore: bump version to 0.12.5 (#2422)
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-16 19:05:05 +08:00
tanzhenxin
d8dab9acd7 docs(encoding): clarify detectEncodingFromBuffer responsibility
Update JSDoc to make clear that detectEncodingFromBuffer only performs
chardet statistical detection and returns null on failure. Callers like
getCachedEncodingForBuffer are responsible for providing fallback logic.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-16 18:57:01 +08:00
tanzhenxin
f93e5f0d46 refactor(encoding): consolidate system encoding fallback logic
Move system encoding fallback from detectEncodingFromBuffer into
getCachedEncodingForBuffer for clearer responsibility. Remove unused
WINDOWS_UTF8_CODE_PAGE export and inline the value.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-16 18:53:51 +08:00
tanzhenxin
e9facac111 test(encoding): replace manual Windows test scripts with automated e2e tests
Add integration-tests/windows-encoding.test.ts with automated tests for:
- ASCII shell output
- PowerShell CJK output via UTF-8 prefix
- GBK directory listings and file content
- UTF-8 file round-trip with CRLF preservation
- GBK file edit preserving encoding

Remove obsolete manual test scripts from test-shell/ and test-windows-encoding/.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-16 18:49:14 +08:00
tanzhenxin
89e452c1a7 test(encoding): simplify Windows encoding test plan
Reduce test count from 8 to 7, remove script dependencies, and use
system-created test files instead. Tests now focus on real-world
scenarios: GBK dir listings, file content, PowerShell UTF-8 prefix,
and late CJK detection after ASCII output.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-16 18:24:58 +08:00
Mingholy
9391779cd0
Merge pull request #2410 from QwenLM/test/simplify-sdk-integration-tests
test(sdk): simplify integration tests for reliability
2026-03-16 17:43:10 +08:00
tanzhenxin
3dd0bacb8d fix(shell): force UTF-8 output for PowerShell on Windows
- Prefix PowerShell commands with [Console]::OutputEncoding=UTF8
- Re-detect encoding on full buffer after streaming completes
- Move system encoding fallback into detectEncodingFromBuffer

This ensures CJK and other non-ASCII characters are correctly decoded
on Windows systems with non-UTF-8 system codepages (e.g., GBK/CP936).

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-16 17:39:47 +08:00
Mingholy
f9016165c7
Merge pull request #2356 from netbrah/fix/auto-detect-max-output-tokens
fix: auto-detect max_tokens from model when not set by provider
2026-03-16 17:34:35 +08:00
Mingholy
b4b0041a34
Merge pull request #2411 from QwenLM/fix-default-output-limit
Increase DEFAULT_OUTPUT_TOKEN_LIMIT from 8K to 16K
2026-03-16 17:34:22 +08:00
mingholy.lmh
6f67b12446 fix: lint error 2026-03-16 17:21:32 +08:00
mingholy.lmh
7f0942066b fix(models): improve max_tokens auto-detection source tracking and add tests
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>

- Fix generationConfigSources to preserve existing source info when auto-detecting max_tokens

- Add unit tests for max_tokens fallback logic
2026-03-16 17:21:04 +08:00
netbrah
6e34b3102b fix: auto-detect max_tokens from model when not set by provider
When modelProviders config does not specify samplingParams.max_tokens,
requests to non-Qwen models (Claude, GPT, Gemini, etc.) omit max_tokens
entirely. Many APIs default to a small value (e.g., Anthropic via
VertexAI defaults to 4096), causing long responses to be truncated
mid-generation — often breaking tool call parameters.

Fix: apply tokenLimit(model, 'output') as a fallback in
applyResolvedModelDefaults(), following the same pattern already used
for contextWindowSize and modalities auto-detection.

Output limits from tokenLimits.ts:
  - Claude Opus 4.6: 128K
  - Claude Sonnet 4.6 / fallback: 64K
  - GPT-5.x: 128K
  - Gemini 3.x: 64K
  - Qwen 3.5: 64K

Made-with: Cursor
2026-03-16 17:21:04 +08:00
tanzhenxin
21014a5a44 test(encoding): add Windows encoding test plan and scripts
Add comprehensive test plan and scripts for verifying encoding detection
on Windows systems with non-UTF-8 codepages (e.g., GBK/CP936).

This provides manual test cases for output decoding, file round-trips,
PTY behavior, and edge cases like large output with late CJK content.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-16 16:25:09 +08:00
tanzhenxin
9b822958dc refactor(encoding): try UTF-8 first in buffer encoding detection
- Rename outputEncoding to detectedEncoding for clarity
- Add isValidUtf8 helper using TextDecoder in fatal mode
- Restructure detection: UTF-8 → chardet → system encoding
- Update tests to use non-UTF-8 bytes for accurate testing

This prevents misclassifying UTF-8 output as legacy codepages on systems
where the system encoding (e.g., GBK) could also decode those bytes.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-16 16:15:06 +08:00
tanzhenxin
dca3ea1c95 refactor(shell): remove Windows encoding wrapper logic
Remove wrapCommandForWindowsEncoding and forceUtf8Output parameter,
relying solely on getCachedEncodingForBuffer for encoding detection.

This simplifies the shell execution flow by removing the chcp 65001
command prefixing approach.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-16 15:32:35 +08:00
pomelo
02ac895544
Merge pull request #2372 from ShihaoShenDev/docs/add-acp-registry
Some checks are pending
Qwen Code CI / Post Coverage Comment (push) Blocked by required conditions
Qwen Code CI / Lint (push) Waiting to run
Qwen Code CI / Test (push) Blocked by required conditions
Qwen Code CI / Test-1 (push) Blocked by required conditions
Qwen Code CI / Test-2 (push) Blocked by required conditions
Qwen Code CI / Test-3 (push) Blocked by required conditions
Qwen Code CI / Test-4 (push) Blocked by required conditions
Qwen Code CI / Test-5 (push) Blocked by required conditions
Qwen Code CI / Test-6 (push) Blocked by required conditions
Qwen Code CI / Test-7 (push) Blocked by required conditions
Qwen Code CI / Test-8 (push) Blocked by required conditions
Qwen Code CI / CodeQL (push) Waiting to run
E2E Tests / E2E Test (Linux) - sandbox:docker (push) Waiting to run
E2E Tests / E2E Test (Linux) - sandbox:none (push) Waiting to run
E2E Tests / E2E Test - macOS (push) Waiting to run
docs(integration): add ACP Registry for Zed and JetBrains integration docs
2026-03-16 14:45:28 +08:00
pomelo
ddcbe9c99d
Merge pull request #1642 from kiri-chenchen/docs/docker-java-runtime
docs: explain Docker sandbox runtime and Java usage
2026-03-16 14:45:16 +08:00
pomelo-nwu
282dd5b51b docs: move Java troubleshooting to sandbox.md
Move the Docker sandbox Java documentation from docs-site to the
appropriate location in docs/users/features/sandbox.md under the
Troubleshooting section.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-16 14:42:05 +08:00
DennisYu07
4c7694daa8
Merge pull request #1904 from Sakuranda/fix/1892-windows-path-env
fix(core): normalize Windows PATH-like env keys for shell execution
2026-03-16 14:34:23 +08:00
tanzhenxin
7f915be881 fix(shell): ensure CRLF line endings for .bat/.cmd files
- Add automatic LF to CRLF conversion when writing .bat/.cmd files
- Handle null encoding detection gracefully in shellExecutionService
- Add comprehensive tests for CRLF conversion edge cases

This ensures Windows batch files work correctly, as cmd.exe requires
CRLF line endings for proper parsing of multi-line constructs.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-16 14:29:31 +08:00
pomelo-nwu
93a1253976 docs(integration): use CDN URLs for images and fix formatting
- Replace local image paths with Alibaba Cloud CDN URLs
- Fix formatting issues (extra blank lines, capitalization)
- Remove local image files (now served from CDN)

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-16 14:12:48 +08:00
mingholy.lmh
b9baf183b0 feat: add qwen fallback pattern with 8k output token limit
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-16 14:00:38 +08:00
tanzhenxin
15b5f0224b fix(shell): force UTF-8 output decoding after codepage switch
Return forceUtf8Output flag from wrapCommandForWindowsEncoding to
signal that output should be decoded as UTF-8 when we've switched
the codepage to 65001. This ensures consistent encoding for both
command input and output on Windows with non-UTF-8 system codepage.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-16 12:45:26 +08:00
tanzhenxin
f8f189ebc2 fix(shell): always switch codepage on Windows for consistency
Simplify wrapCommandForWindowsEncoding to always prefix with chcp 65001
on Windows with non-UTF-8 codepage, rather than only for non-ASCII
commands. This ensures script files written by qwen-code are also
interpreted correctly by cmd.exe.

Add WINDOWS_UTF8_CODE_PAGE constant and update test script for
PowerShell 5.1 compatibility.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-16 12:37:18 +08:00
tanzhenxin
b917cf8e3c fix(shell): resolve Windows GBK encoding for non-ASCII commands
Add wrapCommandForWindowsEncoding() to prefix non-ASCII commands with
chcp 65001 on Windows with non-UTF-8 codepages. Fix CP936 mapping from
gb2312 to gbk (GBK is the correct superset). Update Windows encoding
test scripts to demonstrate the fix.

This ensures Chinese and other non-ASCII characters display correctly
when running commands on Windows systems with GBK/CP936 codepage.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-16 12:10:29 +08:00
LaZzyMan
9c51a313ab remove docs 2026-03-16 12:08:08 +08:00
LaZzyMan
939d6a6f32 fix: trust user-level extension dirs for read_file and ls permissions
User-level extensions (~/.qwen/extensions/) were not included in the
trusted path list, causing read_file and ls to prompt for confirmation
when a skill inside a user-installed extension tries to access files
within its own directory (e.g. reference docs bundled with the extension).

Project-level extensions (<project>/.qwen/extensions/) were already
covered implicitly by isPathWithinWorkspace(). The gap was only for
user-scope extensions.

Changes:
- packages/core/src/config/storage.ts: add static getUserExtensionsDir()
- packages/core/src/tools/read-file.ts: include userExtensionsDir in the
  allow path for getDefaultPermission()
- packages/core/src/tools/ls.ts: same, plus add missing Storage import
2026-03-16 12:06:35 +08:00
tanzhenxin
810ea025e1 test: add shell and Windows encoding test utilities
- Add Python scripts for generating large text output (2000 lines)
- Add Chinese progress bar shell script for testing terminal output
- Add Windows GBK encoding reproduction tests for qwen-code

These utilities help debug shell output handling and Windows encoding issues.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-16 11:45:23 +08:00
LaZzyMan
d129ddc489 Merge branch 'main' into feat/support-permission 2026-03-16 11:42:37 +08:00
LaZzyMan
02ea2ed70c fix settings 2026-03-16 11:28:05 +08:00