Changelog v0.4.29 - 2026-07-03
更新日期: 2026-07-03
修复 (Bug Fixes)
飞书 Bad Case 修复(9 条)
-
BC-005: Provider 更新丢失类型
UpdateProviderRequest增加type字段,更新 provider 时不再清空接口格式类型。
-
BC-006: Windows
C:\workspace路径未重定向- Agent Host 提示词注入当前工作区物理路径与
C:\workspace重定向警告。 - Shell 工具执行前将
C:\workspace重写为真实工作区路径。
- Agent Host 提示词注入当前工作区物理路径与
-
BC-007: Shell 环境回退与 PowerShell 转义不一致
ShellExecutor彻底禁用cmd.exe,统一降级到 PowerShell。runtime_execution按目标 shell family 选择正确的命令转义方式。- 修复 Windows 上
Path(PosixPath)导致的崩溃。
-
BC-008: 新建工作区模板选择位置靠后
- 新建工作区对话框中,模板选择块前移到运行环境配置之前。
-
BC-009: 子 Agent 流式输出被拆成多条消息
- 同一子 Agent 任务的多段
subagent_content流式输出合并为单条 ChatItem。 - 备注:此为过渡方案,完整对话迁到 tab 页的方案已认领为后续任务。
- 同一子 Agent 任务的多段
-
BC-011: 默认工作区路径/ID 不直观
- 默认存储路径改为
~/AIASys/{data,logs,workspaces}。 - 工作区 ID 格式改为
YYYYMMDD-HHMMSS-XXXX。 - 存储设置增加默认路径展示与“恢复默认”按钮。
- 默认存储路径改为
-
BC-012: Web 端显示无效的“打开文件所在目录”菜单
- Web 端文件树右键仅在桌面 IPC 可用时显示“打开文件所在目录”等菜单项。
-
BC-014: 前端未展示版本号
- 桌面端新增
getVersion()/openExternal()IPC。 - 设置页新增“关于 AIASys”区域,展示版本号与手动检查更新入口。
- 桌面端新增
-
BC-017: 能力列表图标单一
CapabilityPanel能力列表按kind显示不同图标。
其他修复
- Shell 解释器识别
ShellExecutor._detect_family_from_name()支持sh.exe/bash.exe等带.exe后缀的解释器,避免被误判为custom。
回退与待决策
- BC-013: thinking/reasoning 输出处理
- 已回退 v0.4.28 中新增的
thinking_disabled字段、UI 开关和<think>标签剥离逻辑。 - 原因:不同厂商实现差异大,直接剥离
<think>标签可能误伤正常输出,需产品层面明确策略后再处理。 - 详见本地 issue:
design-draft/bug-discovery/BC-013-thinking-rendering-strategy.md。
- 已回退 v0.4.28 中新增的
后续认领任务
- 子 Agent 输出迁到 tab 页
- 目标:子 Agent 完整对话仅展示在 tab 页,主对话保留轻量入口卡片。
- 详见:
design-draft/requirement-thinking/subagent-output-to-tab-only.md。
文档完善 (Documentation)
- 新增本版本变更记录
docs/changelog/v0.4.29_2026-07-03.md。 - 新增修复总结报告
design-draft/archive/bad-case-fix-summary-v0.4.28.md。
测试 (Tests)
tests/test_runtime_execution.py: 11 passed。- LLM 相关测试 (
-k "llm_config or llm"): 97 passed。 - workspace / storage / ids 相关测试: 277 passed。
- 全量后端测试: 1427 passed, 6 failed(均为 Windows 环境 pre-existing 问题)。
- 前端
type-check通过。
文件变更清单
| 文件路径 | 变更类型 | 说明 |
|---|---|---|
apps/backend/app/api/routes/llm_config.py |
修改 | BC-005: UpdateProviderRequest 增加 type 字段 |
apps/backend/app/agents/local_sandbox_agent_config/general_host_prompt.md |
修改 | BC-006: 注入工作区物理路径与 C:\workspace 重定向警告 |
apps/backend/app/agents/tools/shell_tool.py |
修改 | BC-006: C:\workspace 路径重写 |
apps/backend/app/services/runtime/runtime_execution.py |
修改 | BC-007: shell family 转义与 uv PATH 注入 |
apps/backend/app/services/shell_executor.py |
修改 | BC-007: .exe 后缀解释器识别 |
apps/backend/app/core/config.py |
修改 | BC-011: 默认存储路径调整 |
apps/backend/app/utils/ids.py |
修改 | BC-011: 工作区 ID 格式 |
apps/backend/app/services/runtime_storage_settings.py |
修改 | BC-011: 返回 default_path |
apps/backend/app/api/routes/system.py |
修改 | BC-011: settings 接口增加 default_path |
apps/backend/app/services/agent/config.py |
修改 | BC-006: prompt env 注入 |
apps/backend/tests/test_shell_tool.py |
修改 | 修复 shell 测试回归 |
apps/backend/tests/test_workspace_file_routes.py |
修改 | Windows 写文本测试修正 |
apps/backend/tests/test_workspace_registry_route.py |
修改 | 工作区 ID 格式断言更新 |
apps/web/src/components/NewWorkspaceDialog/index.tsx |
修改 | BC-008: 模板选择位置 |
apps/web/src/pages/WorkspacePage/hooks/useCodeExecutor/useStreamEventHandler.ts |
修改 | BC-009: 子 Agent 消息合并 |
apps/web/src/pages/WorkspacePage/hooks/useCodeExecutor/sessionRegistry.ts |
修改 | BC-009: subagentMessageIds 映射 |
apps/web/src/components/settings/StorageSettingsDialog.tsx |
修改 | BC-011: 恢复默认按钮 |
apps/web/src/lib/api/runtimeStorage.ts |
修改 | BC-011: default_path 类型 |
apps/web/src/components/layout/WorkspaceSidebar/FileTreeContextMenus.tsx |
修改 | BC-012: 隐藏无效菜单 |
apps/web/src/components/layout/WorkspaceSidebar/FileTreeView.tsx |
修改 | BC-012: 桌面 IPC 判断 |
apps/desktop/src/main.cjs |
修改 | BC-014: getVersion / openExternal IPC |
apps/desktop/src/preload.cjs |
修改 | BC-014: getVersion / openExternal IPC |
apps/web/src/types/desktop.d.ts |
修改 | BC-014: IPC 类型声明 |
apps/web/src/components/settings/global-settings/index.tsx |
修改 | BC-014: 关于 AIASys 区域 |
apps/web/src/components/CapabilityPanel/CapabilityListPanel.tsx |
修改 | BC-017: kind 图标 |
package.json |
修改 | 版本号 0.4.28 → 0.4.29 |
apps/web/package.json |
修改 | 版本号 0.4.28 → 0.4.29 |
apps/desktop/package.json |
修改 | 版本号 0.4.28 → 0.4.29 |
apps/backend/pyproject.toml |
修改 | 版本号 0.4.27 → 0.4.29 |
docs/changelog/v0.4.29_2026-07-03.md |
新增 | 本版本变更记录 |