Commit graph

4785 commits

Author SHA1 Message Date
tanzhenxin
85ed1a801d
Merge pull request #2527 from QwenLM/docs/rename-qwen-to-agents
docs: rename QWEN.md to AGENTS.md to follow community best practices
2026-03-20 13:44:45 +08:00
Qwen Code Bot
b67bd19317 docs: rename QWEN.md to AGENTS.md to follow community best practices 2026-03-20 13:16:29 +08:00
tanzhenxin
5d02260c84
Merge pull request #2521 from LaZzyMan/fix/bundled-skills-missing-from-publish
fix: include bundled skills directory in published package
2026-03-20 11:52:44 +08:00
tanzhenxin
f9b5bc5317
Merge pull request #2501 from qqqys/fix/vscode_proxy
fix(vscode-ide-companion): pass proxy configuration to CLI
2026-03-20 11:52:24 +08:00
tanzhenxin
572fa81f38
Merge pull request #2472 from QwenLM/fix/acp-connection-state-cleanup-1780
fix: clean up ACP connection state when child process exits
2026-03-20 11:51:14 +08:00
LaZzyMan
c406d2768f fix: include bundled skills directory in published package
The bundled skills directory (dist/bundled/) was missing from the published
npm package because it was not listed in the files array of the generated
dist/package.json.

copy_bundle_assets.js correctly copies bundled skills to dist/bundled/ during
the bundle step, but prepare-package.js omitted 'bundled' from the files
whitelist. This caused SkillManager to find an empty bundled skills directory
at runtime after installation, since npm excluded it during publish.
2026-03-20 11:16:51 +08:00
tanzhenxin
602a5db119
Merge pull request #2476 from Br1an67/feat/agents-skills-path
feat: add .agents/skills as a skill provider directory
2026-03-20 09:57:21 +08:00
Br1an67
5aa5041dfd
feat: replace .agent with .agents as skill provider directory
Replace `.agent` with `.agents` (plural) as the standard skill provider
directory, following the cross-tool convention (agentskills/agentskills#15).

SKILL_PROVIDER_CONFIG_DIRS is now [".qwen", ".agents"]. Precedence order:
.qwen > .agents (first match wins in deduplication).
2026-03-19 21:51:02 +08:00
顾盼
b8dda154df
Merge pull request #2283 from QwenLM/feat/support-permission
Some checks failed
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 / Lint (push) Failing after 8s
E2E Tests / E2E Test (Linux) - sandbox:none (push) Failing after 3s
Qwen Code CI / Post Coverage Comment (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
Qwen Code CI / CodeQL (push) Failing after 4s
E2E Tests / E2E Test (Linux) - sandbox:docker (push) Failing after 10s
E2E Tests / E2E Test - macOS (push) Has been cancelled
Feat: support permission
2026-03-19 21:07:13 +08:00
qqqys
a7dec25a50 refactor(tests): improve proxy configuration handling in QwenConnectionHandler tests 2026-03-19 20:48:18 +08:00
qqqys
3ba30a8576 fix(vsocde-ide-companion): fix proxy error 2026-03-19 20:31:26 +08:00
tanzhenxin
0864b481ce
Merge pull request #2473 from kkhomej33-netizen/fix/openai-logging-modalities
fix: preserve modalities during OpenAI logging request conversion
2026-03-19 20:05:22 +08:00
tanzhenxin
e14d08357a
Merge pull request #2495 from Br1an67/fix/tos-link
fix: update TOS link in VS Code extension README
2026-03-19 19:50:21 +08:00
LaZzyMan
b59864f554 Merge branch 'main' into feat/support-permission 2026-03-19 19:08:55 +08:00
DennisYu07
58bc7a5198
Merge pull request #2203 from QwenLM/feat/hook_sessionstart_sessionend
feat(hooks): Implement 10 core event hooks for session lifecycle and tool execution
2026-03-19 18:57:07 +08:00
DennisYu07
5bd18c757e seperate doc for another PR 2026-03-19 18:12:25 +08:00
Br1an67
c825d573ee
fix: update TOS link in VS Code extension README
The link pointed to a non-existent path (docs/tos-privacy.md) resulting
in a 404. Updated to the correct docs site URL matching the one already
used in AuthDialog.tsx.

Closes #1066
2026-03-19 17:36:32 +08:00
DennisYu07
cdffbd9078 adapt subagent type 2026-03-19 17:27:27 +08:00
DennisYu07
6f914e4f4e merge main 2026-03-19 17:12:19 +08:00
Mingholy
7492af725b
Merge pull request #2470 from QwenLM/fix-minimax-context
fix: correct token limits for MiniMax-M2.5 and GLM models
2026-03-19 16:57:42 +08:00
Mingholy
a2a33b9323
Merge pull request #2328 from QwenLM/mingholy/feat/export-data
feat(export): add metadata and statistics tracking
2026-03-19 16:57:19 +08:00
mingholy.lmh
7d52c74a33 fix: correct GLM output token limit from 128k to 16k per ref.json
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-19 15:03:55 +08:00
mingholy.lmh
699bf4a0a5 fix: correct MiniMax-M2.5 contextWindowSize from 1000000 to 196608
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-19 15:03:55 +08:00
mingholy.lmh
9060663f60 refactor(export): clean up unnecessary fields and simplify data structure
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-19 14:33:33 +08:00
mingholy.lmh
8e221a3606 feat: optimize export data structure and UI display
- Simplify export data by removing filesRead stat, keep only written files count and paths
- Restore lines-related statistics (linesAdded and linesRemoved)
- Update HTML display to show only file operation stats instead of total files count
- Change 'Written' label to 'Files modified'
- Remove distinction between requestId and sessionId, always display sessionId
- Remove Session ID and Export Time from Header (already shown in MetadataSidebar)
- Display Project field with raw value and support multiline display
- Fix filesWritten calculation to count unique files instead of operations

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-19 14:10:41 +08:00
mingholy.lmh
a24400ccfc fix(export): correct export metadata accuracy issues
Fix four accuracy bugs in export metadata/sidebar feature:

1. File read counting: Now properly counts read_file operations by checking
   functionResponse.name and args.absolute_path, instead of relying on
   resultDisplay which returns string for reads.

2. Unique file tracking: Uses full file path from args.file_path or
   args.absolute_path instead of basename-only fileName, preventing
   collision between same-named files in different directories.

3. TaskTool token aggregation: Includes tokens from TaskTool executionSummary
   in total token count, fixing under-reporting when subagents are used.

4. Context window display: Removes hardcoded '128k' fallback in HTML sidebar,
   now only displays context usage when contextWindowSize is actually defined.

Also fixes lint errors (Array<T> type annotations) and applies formatting.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-19 14:10:40 +08:00
mingholy.lmh
186103fe4e feat(export): enhance JSONL and Markdown formatters with comprehensive metadata
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-19 14:10:40 +08:00
mingholy.lmh
ccecc472dc feat(export): refactor HTML export components and improve metadata
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-19 14:10:39 +08:00
mingholy.lmh
d59e668729 feat(export): add metadata and statistics to export data
- Add ExportMetadata type with session info, token stats, file operation stats
- Track response_id from LLM API for telemetry correlation
- Collect usageMetadata from assistant messages
- Calculate file stats (files read/written, lines added/removed)
- Calculate token stats (total tokens, context usage percentage)
- Add metadata sidebar to HTML export template
- Support metadata in JSONL and Markdown formatters
- Update chatRecordingService to record response_id

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-19 14:10:38 +08:00
沐目
a6e8aec7f4 fix: destroy both stdin and stdout on shutdown, guard against duplicate signals
- Close stdout in addition to stdin to prevent hanging writes during shutdown
- Add shuttingDown guard to ensure cleanup runs only once

Made-with: Cursor
2026-03-19 11:53:13 +08:00
LaZzyMan
598c438dde Merge branch 'main' into feat/support-permission 2026-03-19 11:52:24 +08:00
LaZzyMan
98d8364b7e fix merge problem 2026-03-19 11:50:37 +08:00
zach
e975e4f416 Preserve modalities in OpenAI logging request conversion 2026-03-19 11:50:06 +08:00
沐目
2e6ab6562b fix: handle SIGTERM/SIGINT in ACP mode for graceful shutdown (#1884)
The ACP process was ignoring SIGTERM because signal handlers registered
elsewhere in the CLI startup path (e.g., stdin raw mode restoration)
override Node.js's default exit behavior. This caused the process to
remain alive after the IDE sends SIGTERM, leading to zombie connections
and exit code 143 errors in JetBrains IntelliJ IDEA.

Add explicit SIGTERM/SIGINT handlers in runAcpAgent() that destroy
stdin, which closes the ndjson stream and resolves connection.closed,
allowing the process to exit gracefully.

Made-with: Cursor
2026-03-19 11:46:57 +08:00
LaZzyMan
f9d9a985ce Merge branch 'main' into feat/support-permission 2026-03-19 11:24:30 +08:00
顾盼
27356c1bac
Merge pull request #2440 from QwenLM/feat/claw-skill
Some checks failed
Qwen Code CI / Lint (push) Failing after 6s
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
Qwen Code CI / CodeQL (push) Failing after 3s
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
feat: add `auth` CLI command and Qwen Code Claw skill
2026-03-19 11:07:48 +08:00
沐目
692e063cd7 fix: address PR review feedback
- Add exitCode fallback in startup failure message to handle edge case
  where exit event hasn't fired yet
- Add guard check in exit handler to avoid redundant cleanup if
  disconnect() already ran
- Add JSDoc for onDisconnected callback
- Add comment explaining exit code 143 (SIGTERM) in test

Made-with: Cursor
2026-03-19 11:07:29 +08:00
LaZzyMan
4b67e60e63 fix lint 2026-03-19 10:47:30 +08:00
LaZzyMan
ee5e3026c3 Merge branch 'main' into feat/claw-skill 2026-03-19 10:42:48 +08:00
沐目
f231830b9f fix: improve ACP exit diagnostics and add onDisconnected callback
- Record lastExitCode/lastExitSignal for better error messages on startup failure
- Reset exit info on reconnect to avoid stale data
- Add onDisconnected callback so upper layers can react to process exit
- Add clarifying comment on ensureConnection defense-in-depth checks
- Expand tests: onDisconnected contract, disconnect kill verification, exit info init

Made-with: Cursor
2026-03-19 10:41:35 +08:00
沐目
75b94b63eb fix: clean up ACP connection state when child process exits (#1780)
When the ACP child process exits unexpectedly (e.g., user cancels execution),
the connection state (sdkConnection, sessionId, child) was not being cleaned up.
This caused subsequent message sends to fail with cryptic errors instead of
a clear "Not connected" message.

Changes:
- Clear sdkConnection/sessionId/child in the exit handler
- Check child.exitCode in isConnected to detect spontaneous exits
- Add isConnected check to ensureConnection as defense-in-depth
- Add unit tests for isConnected, ensureConnection, and disconnect cleanup

Made-with: Cursor
2026-03-19 10:37:52 +08:00
顾盼
fda4e85503
Merge pull request #2202 from QwenLM/feature/support-agents-directory-skills
feat: support skills in .agents directory and other provider directories
2026-03-19 10:36:43 +08:00
tanzhenxin
59f167b552
Merge pull request #2469 from qqqys/fix/fix_test_case
fix(test): update LoadingIndicator snapshot for correct output alignment
2026-03-19 10:30:26 +08:00
qqqys
200a29832e fix(test): fix loadingindicator test case 2026-03-19 10:09:16 +08:00
pomelo
06bee05cc4
Merge pull request #1835 from QwenLM/feat/context-usage
Some checks failed
Qwen Code CI / Lint (push) Failing after 6s
Qwen Code CI / Test (push) Has been skipped
Qwen Code CI / Test-8 (push) Has been skipped
Qwen Code CI / CodeQL (push) Failing after 3s
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
E2E Tests / E2E Test (Linux) - sandbox:docker (push) Failing after 3s
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
feat: add /context command to display context window token usage breakdown
2026-03-18 21:58:15 +08:00
qqqys
de0f09c459
Merge pull request #2457 from qqqys/fix/vscode_file_path
fix(vscode-ide-companion): update URI handling for Windows paths
2026-03-18 21:45:41 +08:00
易良
ef640ba698
feat(vscode-ide-companion): add Tab key fill-only behavior for completions (#2431)
* feat(vscode-ide-companion): add Tab key fill-only behavior for completions

- Separate Tab and Enter key handling in CompletionMenu
- Tab now inserts completion text without executing (useful for slash commands)
- Enter/click continues to select and execute immediately
- Allow users to append arguments after Tab-filling slash commands

* feat(vscode-ide-companion): add Tab key fill-only behavior for completions

- Separate Tab and Enter key handling in CompletionMenu
- Tab now inserts completion text without executing (useful for slash commands)
- Enter/click continues to select and execute immediately
- Allow users to append arguments after Tab-filling slash commands

Co-authored-by: Mingholy <14246397+Mingholy@users.noreply.github.com>

* feat: add command selection behavior logic and tests

Co-developed-by: Aone Copilot <noreply@alibaba-inc.com>

* feat(vscode-ide-companion): add Tab key completion fill behavior with tests

- Add onCompletionFill prop to InputForm for Tab key handling
- Distinguish Tab (fill) and Enter (select) completion behaviors
- Add keyboard handling tests for completion items
- Remove 'skills' command from non-interactive CLI allowed list

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>

* refactor: add itemId variable for command handling in App component

Co-developed-by: Aone Copilot <noreply@alibaba-inc.com>

* refactor: remove unused command selection behavior utils and tests

---------

Co-authored-by: Mingholy <14246397+Mingholy@users.noreply.github.com>
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-18 21:45:11 +08:00
qqqys
28148d36c3
Merge pull request #2445 from qqqys/feat/token_display
feat(ui): Display token usage in the loading/progress indicator
2026-03-18 21:44:20 +08:00
qqqys
27f4a3ee3d
Merge pull request #2437 from qqqys/feat/vsocde_file_search
refactor: Refactors the VS Code file completion system to use fuzzy search
2026-03-18 21:43:21 +08:00
qqqys
b66b390d55
Merge branch 'main' into feat/token_display 2026-03-18 21:40:16 +08:00