Skip to content

[Bug] 0.12.0 把 dshmarket 基线钉在 1.65.1,但该版本被自身的 peer 兼容门禁拒绝,市场 UI 崩溃 #735

Closed

Description

@unclelossway

[Bug] 0.12.0 把 dshmarket 基线钉在 1.65.1,但该版本被自己的兼容门禁拒绝,市场 UI 崩溃

环境

  • DSH Desktop 0.12.0(Windows x64),从 0.9.0 升级上来
  • 宿主:dsh 0.2.0-rc.2
  • profile:%APPDATA%\dsh-desktop\harness\profiles\web

现象

  1. 升级后进入「插件市场」,市场页崩溃(React error fix(test): align runtime environment expectation with pnpm config options #130,栈在 dshmarket/client.js 的 MarketSection)。
  2. profile 里的 dshmarket 仍是 1.45.1(旧版,peer 只声明 @deepseek-ai/dsh-settings ^0.1.x),与 0.2.0-rc.2 的宿主 UI 不兼容,所以一渲染就崩。
  3. 重启时桌面端会尝试安装基线版本,但每次都失败。

日志证据

[plugin-upgrade] installing dshmarket@1.65.1 into the shared profile…
dsh: installation rejected: Plugin dshmarket@1.65.1 declares Harness peerDependencies
  {"@deepseek-ai/dsh-settings":"^0.1.0-rc.7 || ^0.1.1-rc.2 || ^0.1.2-alpha.2"}
  that do not include dsh 0.2.0-rc.2. Compatibility is unverified…
[desktop] market baseline deferred, keeping the installed market

也就是说:0.12.0 指定的市场基线 1.65.1 自己就过不了 0.2.0 的 peer 门禁,而旧版 1.45.1 又与新版 UI 不兼容,用户就卡在「市场不可用」。

建议

  1. 把市场基线提升到 ≥1.66.31(从 1.66.31 起 peer 声明包含 ^0.2.0-rc.1)。
  2. 或:基线安装失败时,回退到“从 npm 取最新兼容版本”(按 peer 范围筛选),而不是保留旧版。
  3. 另注意 .desktop-market-install-pending.json 里的 previousManifest 回滚会恢复旧清单(可能把其它插件从 bundles 里丢掉),建议失败回滚时以“当前磁盘清单”为准。

本机临时解法(已验证)

# 管理员/普通权限均可,弹出 UAC 时允许
powershell -NoProfile -Command "dsh plugin --profile web add dshmarket@1.66.35"

装完后重启应用,市场恢复正常(本机已从 1.45.1 → 1.66.35,市场可正常浏览/更新插件)。

相关但不同

Activity

  1. yaojin3616 commented on Oct 28, 2026

    @yaojin3616
    Contributor

    已核对 DSH Desktop v0.13.0 的发布代码,此问题对应的修复/版本更新已随正式版交付。

    已发布版本的市场基线为 1.66.47,内置 Harness 为 0.2.1-rc.3,已替换本报告中旧的 1.65.1 基线组合。

    发布代码:相关实现。

    请升级后重启并打开插件市场核对实际版本。此处关闭旧基线问题,不宣称所有第三方插件兼容;本报告提及的插件丢失/回滚副作用继续由 #775 等独立问题追踪。

    按已发布的修复关闭此 issue。请升级至 v0.13.0 后复测;如果同一问题仍出现,欢迎在此回复或重开,并提供 Desktop/Harness/插件版本、操作系统及脱敏日志(不要上传 token、账号凭据或完整会话)。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions