## Bug 5 · `storages/workspace.json` 是内存缓存 —— 改文件无效、无通知、无重载 **严重度**:中 —— 外部工具(脚本、CLI、运维)无法安全地修改工作区归属 ### 症状 外部工具(脚本 / CLI / 运维任务)修改 `storages/workspace.json` 之后, **宿主不认这次修改** —— 无错误、无警告、无日志。读回仍是旧值。 调用方以为成功,实际完全无效。 ### 最小复现(实测) ``` 直接编辑 storages/workspace.json,把一个 sessionId 加入某工作区的 sessionIds → 磁盘回读:7 个会话 ✅(写入成功) → workspaceRegistry.list() 读回:6 个会话 ❌(仍是旧值) → 无任何日志、无任何警告 ``` ### 根因 宿主把工作区记录**缓存在内存**(`workspaceRegistry`), **不监听 `storages/workspace.json` 的文件变化**。 文件写入成功,但内存态不被更新,也不会被回写。 (此条**未定位到具体源码位置**,结论由行为反推 —— 见「实测」。) ### 期望 - 要么监听文件变化并重载 - 要么**明确拒绝**外部编辑(例如加锁 / 校验 / 文档声明「此文件只允许进程内修改」) - 至少:**文档里写明它不可外部编辑** **现状是最坏的一种:接受写入、静默忽略。** ### 影响面 任何在工作区归属上做外部自动化的人或工具(批量整理、迁移脚本、运维任务)。 **现状下这类工具无法安全实现** —— 它们会「成功」,而结果无效。 --- --- **被测版本**:DSH Desktop `0.9.0`(内核 `@deepseek-ai/* = 0.1.5-rc.2`) · macOS / Apple Silicon (arm64)
Activity
yaojin3616 commentedon Oct 28, 2026
这里说明一下:workspace.json 是运行时管理的内部数据,暂不支持在程序运行中直接修改文件并自动重载。这类修改不能作为可靠的工作区管理方式,热加载需求先按不计划支持关闭。谢谢反馈。