[Windows] Web UI 启动后"内测声明"确认保存失败:safe-delete trash 操作报错 #750
Unanswered
1424249962
asked this question in
Q&A
Replies: 1 comment
你的观察是对的,但那个
|
| 检查项 | 结果 |
|---|---|
字面量 safe-delete 出现在多少个文件里 |
0(rc.6 那一版、rc.7、rc.8、以及当前最新 0.1.7-rc.1,都是 0) |
| lockfile 里有没有 trash / safe-delete 这类依赖 | 没有 |
| DSH 自己的原子写怎么删锁 | 普通 fs.rm(lockPath, { force: true })——直接删,不走回收站 |
(顺便提醒:如果你自己在源码里 grep trash,会命中十来个文件,但那些全是垃圾桶图标——IconTrashOutline16、ic_ds_trash_outline_16 之类。这也是我最初看过一眼后误判的原因。)
3. 那它是谁
[safe-delete] 操作失败: … 这个形状是插件命名空间前缀([<插件名>] 消息);而 Error during a \trash` operation: Unknown { description: "Some operations were aborted" }是 **Rust 风格**的错误渲染,正是原生 trash 实现(npm 上trash` 那一族)的典型输出。
⇒ 你的 profile 里有什么东西在对 settings.yaml.lock 做"安全删除/送回收站"。 可能是你装过的第三方插件,也可能是本地改过的安装。
4. 怎么把它揪出来(不启动也能查)
dsh --profile web --dump-config
这个命令只解析 YAML、不导入插件,所以卡在内测声明时也能跑。输出里每条 # == <label> 注释会写明那一行是哪个文件贡献的——重点看不是 @deepseek-ai/* 的那些条目。另外看一眼 ~/.dsh/profiles/web/package.json 的 dsh.profile.bundles 与 dependencies。
5. 关于"升级能不能解决"
我不打算承诺"升级就好",因为那个操作不是 DSH 的代码做的——如果是插件导致的,升级不会动它。但两件事仍然值得做:
- 先试一次刷新:值已经落盘了,界面重新读取后有可能直接放你过去(这一步最快,且能验证"只是响应被判失败");
- 然后升级(你现在
0.1.0-rc.6已经很旧):注意别装latest(npm 上它还停在0.1.5-rc.3),用npm i -g @deepseek-ai/dsh@next # 当前 = 0.1.7-rc.1 - 如果升级后仍然报同样的
[safe-delete],那就等于确认了是插件/本地改动——把上面第 4 步的清单贴出来,就能定位到具体是谁。
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Windows 上首次 Web UI 启动踩坑:内测确认状态保存失败(safe-delete / trash 报错)
背景
通过官方推荐的
npx @deepseek-ai/dsh web安装(版本0.1.0-rc.6),Node v22.22.2,npm 10.9.7,Windows 11(10.0.26200)。服务正常起在http://127.0.0.1:3080。进入页面后弹出「内测声明」对话框,点击「继续」后始终失败。
现象
服务端实际响应(前端抓取)
RPC
settings.mutate返回:{ "type": "server-response", "result": { "ok": false, "error": { "code": "settings-rejected", "message": "[safe-delete] 操作失败: ERROR C:\\Users\\18090\\.dsh\\settings.yaml.lock: Error during a `trash` operation: Unknown { description: \"Some operations were aborted\" }", "details": { "ns": "ui-onboarding" } } } }关键观察
C:\Users\<user>\.dsh\settings.yaml实际已被正确写入,内容为:也就是说:文件写入本身没问题。失败发生在 DSH 在写完之后执行的 "safe-delete" 操作(把旧的
settings.yaml.lock扔进回收站),Windows 上的 trash 操作抛出Some operations were aborted,导致整个 RPC 被判定为失败。已排除的因素
C:\Users\<user>\.dsh目录可写,正常读写settings.yaml.lock当前不存在(锁文件已被处理,仍报 trash 失败)推测根因
trash实现(疑似基于 Windows 回收站 / Shell API)在我的环境下不可用或被安全软件拦截safe-delete失败导致settings.yaml已成功写入的确认被整体拒绝临时绕过
dsh --profile headless "任务"(CLI 模式)不受影响,可以正常启动,仅在缺DEEPSEEK_API_KEY时提示配置建议
trash操作失败原因(兼容性 / 回退策略)safe-delete失败时降级为fs.unlink,或允许配置跳过 safe-deleteok: falseReported on 2026-08-14, dsh 0.1.0-rc.6 (developer preview), Windows 11.
All reactions