You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Bug] Desktop update can drop third-party plugin registration and block recovery / 桌面版更新可能丢失第三方插件登记并阻塞恢复
#13374
After updating the Windows Desktop build of DeepSeek Harness, a previously working third-party plugin became unusable. The plugin was no longer recognized by the plugin manager/runtime, and reinstalling it from the DSH UI also failed because the running Desktop process kept the plugin directory open.
更新 DeepSeek Harness Windows 桌面版后,一个原本正常工作的第三方插件失效。插件管理器/运行时无法识别该插件;从 DSH 界面卸载并重新安装也失败,因为正在运行的桌面进程仍占用插件目录。
With the plugin not loaded, OpenCode Go requests failed with:
插件未加载时,OpenCode Go 请求报错:
400: {"message":"Request is missing x-opencode-session and cannot be routed efficiently","type":"MissingSessionID","param":"","code":null}
The DSH plugin manager also reported that Windows could not replace the plugin directory because files were still open by DeepSeek Harness. Removing and immediately reinstalling the plugin from the UI produced the same failure.
DSH 插件管理器同时报告 Windows 无法替换插件目录,因为文件仍被 DeepSeek Harness 打开。通过界面卸载后立即重新安装仍然失败。
What we found / 定位结果
The plugin files could still be present, but the active Desktop profile no longer contained the plugin dependency in its package.json / lockfile, even though the plugin patch configuration was present. The patch row therefore existed without the package actually being loaded.
This is easy to miss because the files on disk can make the plugin appear installed while the active profile has lost its dependency or bundle registration.
After fully closing DeepSeek Harness, the official CLI command below restored the Desktop profile. Replace <DSH_INSTALL_DIR> with the local DSH installation directory:
dsh plugin --profile desktop list recognized the package. dsh plugin --profile desktop list 能识别该插件。
The Desktop profile contained the dependency and bundle entry.
Desktop profile 恢复了依赖和 bundle 登记。
The plugin debug log showed successful injection of x-opencode-session.
插件调试日志确认成功注入 x-opencode-session。
OpenCode Go requests could proceed again.
OpenCode Go 请求恢复正常。
Expected behavior / 期望行为
When DSH Desktop is updated, it should:
更新 DSH Desktop 后,系统应当:
Preserve or migrate third-party plugin dependencies, lockfile entries, bundle entries, and patch rows together.
一并保留或迁移第三方插件的依赖、lockfile、bundle 和 patch 登记。
Show the exact reason when a plugin is not loaded, such as a missing dependency, denied compatibility, broken link, or missing bundle.
插件未加载时,明确显示具体原因,例如依赖缺失、兼容性拒绝、链接失效或 bundle 缺失。
Release or stop the host process before replacing plugin files on Windows, or provide a clear restart workflow.
Windows 下替换插件文件前释放或停止宿主进程,或提供明确的重启流程。
Keep the previous working installation intact when an update fails, whenever possible.
更新失败时尽可能保留原有可工作的安装。
The exact old/new Desktop version pair is no longer available in the UI. The failure was observed immediately after a Desktop update, reproduced through the Desktop plugin manager, and recovered only after fully exiting DSH and using the CLI against the desktop profile.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Summary / 摘要
After updating the Windows Desktop build of DeepSeek Harness, a previously working third-party plugin became unusable. The plugin was no longer recognized by the plugin manager/runtime, and reinstalling it from the DSH UI also failed because the running Desktop process kept the plugin directory open.
更新 DeepSeek Harness Windows 桌面版后,一个原本正常工作的第三方插件失效。插件管理器/运行时无法识别该插件;从 DSH 界面卸载并重新安装也失败,因为正在运行的桌面进程仍占用插件目录。
Affected plugin / 受影响插件
Symptoms / 现象
With the plugin not loaded, OpenCode Go requests failed with:
插件未加载时,OpenCode Go 请求报错:
The DSH plugin manager also reported that Windows could not replace the plugin directory because files were still open by DeepSeek Harness. Removing and immediately reinstalling the plugin from the UI produced the same failure.
DSH 插件管理器同时报告 Windows 无法替换插件目录,因为文件仍被 DeepSeek Harness 打开。通过界面卸载后立即重新安装仍然失败。
What we found / 定位结果
The plugin files could still be present, but the active Desktop profile no longer contained the plugin dependency in its
package.json/ lockfile, even though the plugin patch configuration was present. The patch row therefore existed without the package actually being loaded.插件文件可能仍然存在,但实际使用的 Desktop profile 已不再在
package.json/ lockfile 中登记该插件依赖,尽管插件 patch 配置仍然存在。因此 patch 行还在,但插件包实际上没有被加载。This is easy to miss because the files on disk can make the plugin appear installed while the active profile has lost its dependency or bundle registration.
这个问题容易被忽略:磁盘上的文件仍会让插件看起来像是已安装,但实际 profile 已丢失依赖或 bundle 登记。
Recovery / 恢复方式
After fully closing DeepSeek Harness, the official CLI command below restored the Desktop profile. Replace
<DSH_INSTALL_DIR>with the local DSH installation directory:完全退出 DeepSeek Harness 后,使用下面的官方 CLI 命令恢复了 Desktop profile。请将
<DSH_INSTALL_DIR>替换为本机 DSH 安装目录:After restarting DSH / 重启 DSH 后:
dsh plugin --profile desktop listrecognized the package.dsh plugin --profile desktop list能识别该插件。Desktop profile 恢复了依赖和 bundle 登记。
x-opencode-session.插件调试日志确认成功注入
x-opencode-session。OpenCode Go 请求恢复正常。
Expected behavior / 期望行为
When DSH Desktop is updated, it should:
更新 DSH Desktop 后,系统应当:
一并保留或迁移第三方插件的依赖、lockfile、bundle 和 patch 登记。
插件未加载时,明确显示具体原因,例如依赖缺失、兼容性拒绝、链接失效或 bundle 缺失。
Windows 下替换插件文件前释放或停止宿主进程,或提供明确的重启流程。
更新失败时尽可能保留原有可工作的安装。
Related discussions / 相关讨论:
x-opencode-sessionReproduction details / 复现信息
The exact old/new Desktop version pair is no longer available in the UI. The failure was observed immediately after a Desktop update, reproduced through the Desktop plugin manager, and recovered only after fully exiting DSH and using the CLI against the
desktopprofile.目前无法从界面取得具体的升级前后版本号。问题是在桌面版更新后立即出现的,可通过桌面版插件管理器复现;只有完全退出 DSH 后,针对
desktopprofile 使用 CLI 才能恢复。All reactions