Repository navigation
Replies: 2 comments
|
报错出在启动后第一次带 cookie 的 GET,不在 RPC 层。
先数 cookie,一步定因。Windows PowerShell: $p = "$env:APPDATA\@deepseek-ai\dsh-desktop\Network\Cookies"
$s = [Text.Encoding]::ASCII.GetString([IO.File]::ReadAllBytes($p))
([regex]::Matches($s, 'dsh-auth-')).Count数出来 60–70 条:就是 #11408 那条原因。桌面端每次启动换随机端口( 恢复三步,先退出应用:
数出来只有几条,那就不是这条原因,你说的第 (2) 步 401 才成立:把计数和 crash 日志 以上是只读源码(master |
|
pnpm install dsh-cookie-cleaner ① 先看现状(客户端开着也能跑,只会告诉你读不到)& "$env:USERPROFILE.dsh\profiles\desktop\node_modules.bin\dsh-cookie-cleaner.cmd" ② 完全退出客户端:托盘图标 → 退出,并确认进程列表已无 DeepSeek HarnessGet-Process | Where-Object { $_.ProcessName -match 'DeepSeek|dsh' } # 应当没有输出 ③ 清理(先看会删几条,再真删)& "$env:USERPROFILE.dsh\profiles\desktop\node_modules.bin\dsh-cookie-cleaner.cmd" --clean --dry-run |
Uh oh!
There was an error while loading. Please reload this page.
环境
现象
双击桌面端可执行文件启动,每次都在启动阶段失败,必现。恢复界面显示:
崩溃日志(%APPDATA%@deepseek-ai\dsh-desktop\logs\crash-*-host.log):
重启、禁用所有第三方插件、清理 profile patch 均无效,每次启动都会复现。
失败位置
main.js:12189-12195 连续执行以下步骤:
第 (1) 步是成功的——否则报的会是另一条错误 "Desktop Host authentication failed"。
第 (2) 步对同一个 ready.url 再发一次 GET,返回 401,于是 8886 行抛出异常。
Host 侧判定规则(dsh-client-connection 的 authorizeIndex):
直接探测同一个 Host,证明 Host 本身是健康的:
可见 Host、启动 token、凭据存储都正常。
问题在于第 (2) 次请求既没有带上正确的 token,也没有带上第 (1) 步拿到的 cookie——
Node 侧的 fetch 和 Electron 的 net.fetch 之间没有共享鉴权状态。
预期
启动完成并进入工作区。
实际
启动每次都卡在 welcome 鉴权这一步失败。
规避方案(可稳定使用)
直接以纯 Node 方式启动 Host 完全正常(本机实测):
它会打印
dsh web: http://127.0.0.1:PORT/?token=...,在浏览器打开该 URL 即可正常进入工作区。也就是说,只有桌面壳的 welcome 路径坏了。
可能的修复方向
让第 (2) 步复用第 (1) 步取得的鉴权——例如发送不带过期 token 的
ready.url并同时携带hostCookie,或在调用connectDesktopWelcome之前,先把authenticateWebHost返回的
set-cookie写入 Electron 的 cookie jar。All reactions