* feat(storage): support configurable runtime output directory (#2014)
Add `advanced.runtimeOutputDir` setting and `QWEN_RUNTIME_DIR` env var
to redirect runtime output (temp files, debug logs, session data, todos,
insights) to a custom directory while keeping config files at ~/.qwen.
- Introduce `Storage.setRuntimeBaseDir()` / `getRuntimeBaseDir()` with
tilde expansion and relative path resolution
- Add `AsyncLocalStorage`-based `runWithRuntimeBaseDir()` for concurrent
session isolation in ACP integration
- Update all runtime path methods to use `getRuntimeBaseDir()` instead
of `getGlobalQwenDir()` (temp, debug, ide, projects, history dirs)
- Config paths (settings, oauth, installation_id, etc.) remain pinned
to `~/.qwen` regardless of runtime dir configuration
- Add comprehensive tests covering path resolution, env var priority,
async context isolation, and config path stability
* fix(core/storage): 支持 Windows 风格波浪号路径
扩展 setRuntimeBaseDir 以支持 Windows 风格的波浪号路径 (~\),
使用统一的路径分割逻辑处理 Unix 和 Windows 风格的路径分隔符
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
* fix(core/debugLogger): runtime base dir 变更时创建新 debug 目录
添加 ensuredDebugDirPath 追踪变量,当 runtime base dir 发生变更时,
确保在新的目录下创建 debug 子目录
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
* feat(cli/acp): 支持 ACP runtime output dir 配置
新增 runWithAcpRuntimeOutputDir 辅助函数,在 ACP Agent 的
loadSession 和 listSessions 操作中应用配置的 runtimeOutputDir
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
* docs(vscode-ide-companion/acpConnection): 补充 this 别名的使用说明
为 self = this 的用法添加解释性注释,说明在嵌套回调中需要使用 this
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
* feat(cli): add runtime output directory configuration support
* fix(core): update test to use getUserSkillsDirs method
Update storage.test.ts to call getUserSkillsDirs() instead of the
non-existent getUserSkillsDir() method. The method was renamed to
return an array of skill directories.
* fix(core/todoWrite): use path.join for cross-platform path assertion in test
Replace hardcoded forward-slash path `.qwen/todos/` with `path.join('.qwen', 'todos')` to fix Windows CI failure where paths use backslashes.
Made-with: Cursor
---------
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Allow users to ask quick "by the way" questions that use the current
conversation context but don't pollute the main conversation history.
Closes#2370
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Previously, `generateQualitativeInsights` used `Promise.all` with a
`generate` helper that re-threw errors. A single LLM call failure
(timeout, rate limit, JSON parse error) caused the entire `qualitative`
object to become `undefined`, hiding all detailed report sections.
Now individual `generate` calls catch errors and return `undefined`
instead of throwing. The `QualitativeInsights` interface fields are
made optional so partial results render correctly — each React section
component already guards against missing data with `if (!field) return
null`.
Made-with: Cursor
### Shell & Interactive Terminal Improvements
- PTY shell is now enabled by default instead of disabled
- Improved shell output rendering, process termination, and added fallback warning
- Background commands now properly capture subprocess PIDs on non-Windows
### Coding Plan Improvements
- Simplified auth message, added /model tip, improved system info display
- Reordered model list to prioritize glm-5, kimi-k2.5, MiniMax-M2.5
- Model selection is now preserved when updating if the model still exists
### Other Changes
- Added shared symlink utility; debug logs now have latest alias
- Unknown settings warnings go to debug log instead of user-facing warnings
- Fixed subagent confirmation state detection
- Removed debug UI from AgentCreationWizard
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Moves export-html and insight templates from cli/assets to a new
dedicated web-templates package. Updates Dockerfile and build scripts
to use consolidated bundle/prepare:package/pack workflow.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Single-line layout with muted bar, accent stage text
- Inline
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>... in stage messages for cleaner code
- Simplify command intro text
- Generate date-stamped filenames (insight-YYYY-MM-DD.html)
- Append timestamp for multiple runs same day (insight-YYYY-MM-DD-HHMMSS.html)
- Create insight.html alias pointing to latest report
- Use symlink when possible, fallback to copy for cross-platform compatibility
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Add share card theme selection (light/dark) with contextual export controls
- Update heatmap colors to GitHub green palette and fix time ranges
- Limit bar charts to 10 items, use full Qwen Code name
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Update totalMessages to count only user messages and slash commands
- Update heatmap to reflect only user interactions
- Update activeHours to reflect only user interactions
- Update tests to verify slash commands are counted correctly
This ensures the insight report accurately reflects actual user engagement
rather than including internal tool calls and system events.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Filter sessions to only include those with both user and assistant
records when generating facets. This prevents system-only logs from
being analyzed, ensuring more accurate session insights.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Introduces a new Arena system for running multiple AI agents in parallel
terminal sessions with support for iTerm and Tmux backends.
Core:
- Add ArenaManager and ArenaAgentClient for orchestrating multi-agent sessions
- Add terminal backends (ITermBackend, TmuxBackend) with feature detection
- Add git worktree service for isolated agent workspaces
- Add arena event system for real-time status updates
CLI:
- Add /arena command with start, stop, status, and select subcommands
- Add Arena dialogs (Select, Start, Status, Stop)
- Add ArenaCards component for displaying parallel agent outputs
- Consolidate message components into StatusMessages and ConversationMessages
- Add MultiSelect component for agent selection
Config:
- Add arena-related settings to schema and config
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Add Twitter/X-optimized share card component for exporting insights as an
image. Include Vite dev setup for local development with hot reload. Increase
DataProcessor timeout and concurrency for better reliability with large
datasets.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>