dsh web 插件市场空白打不开:和桌面端差在哪、端口、认证与缓存的三步排查及完整恢复顺序
dsh web 打开了,侧边栏也在,只有插件市场一块是白的——这个画面最容易被误判成「Hub 坏了」,但桌面端往往一切正常。 两端用的是不同 profile、不同页面链路,Web 端空白更可能是「web profile 没装 Hub」「认证失效」「前端资源对不上」这三类(浏览器令牌认证说明)。这篇按分诊表走:先分清端与症状,再查三层,最后按代价排序恢复。入口在 DSH Plugin Hub 的「设置 → 插件市场」。
先分清 Web 端与桌面端:DeepSeek Harness 插件市场的差异
Web 端与桌面端不是同一个运行环境:它们各有 profile,插件装在哪一端,只在哪一端出现。 桌面端正常、Web 端空白,第一反应应该是「web profile 里有没有 Hub」,而不是重装。
| 对比项 | dsh web | 桌面端 |
|---|---|---|
| 启动方式 | npx @deepseek-ai/dsh web 或 dsh web | 桌面应用启动 |
| profile | web profile | 桌面端自己的 profile |
| 插件来源 | 装进 web profile 的插件 | 装进桌面 profile 的插件 |
| 默认地址 | 127.0.0.1:3080 | 应用内界面 |
- 在终端跑
dsh plugin --profile web list,确认 Hub 是否在 web profile 里。 - 不在列表里,先按 Web 端的方式装 Hub,再刷新页面。
- 在列表里但页面空白,继续往下查端口、认证与缓存。
- 同时确认桌面端装的是不是另一个 profile,避免把两端的现象混在一起。
先分清端,能排除一半「插件坏了」的误判。两端的插件列表不共享,一端正常不代表另一端也正常。
空白还是加载中:DSH Plugin Hub 的两种症状
空白和加载中是两种问题:前者是「该出现的东西没出现」,后者是「请求还没回来」。 看一眼页面骨架和开发者工具,就能分开。

- 看侧边栏与会话区:都在、只有市场空,是局部问题;全白,是整页问题。
- 看市场区域有没有转圈:转几秒变空白,通常是请求超时或被拒。
- 打开开发者工具的 Console,看有没有脚本报错或资源 404。
- 看 Network 里市场请求的状态码:404 是路由或资源,401 是认证,200 空响应是数据层。
- 记录现象:局部/整页、转圈/直接空白、状态码,三项决定下一步。
症状分得越细,后面越省时间。最怕的是「看起来空白」就直接清缓存,结果把认证失败的证据一起清掉了。
端口、认证、缓存三层怎么查:DeepSeek Harness 的排查顺序
三层按「端口 → 认证 → 缓存」查:端口决定你能不能到,认证决定让不让你拿数据,缓存决定拿到的是不是旧页面。 顺序反了,会在错误的层反复试。
- 端口:确认访问的是
http://127.0.0.1:3080,换过端口就用新地址;dsh web拒绝绑定0.0.0.0。 - 认证:用终端本次启动打印的带
?token=地址访问一次,让它把令牌换成 cookie。 - 认证细节:cookie 绑定 hostname 与 port,换端口或换 hostname 后旧 cookie 不匹配,要重新换一次。
- 缓存:强制刷新页面,或在开发者工具里禁用缓存后再加载一次。
- 资源:看 Network 里脚本、样式是否 404;升级后旧 chunk 不存在,会出现这种 404。
令牌 URL 属于进程凭据,别贴到聊天窗口或 Issue 里。认证与端口的完整机制见 dsh web 认证与 3080 端口。
图片能打开不代表认证通过
静态资源与非 index 资源可能保持公开,图片能显示只说明网络通,不说明会话有效。看到图标正常就跳过认证检查,会漏掉 cookie 失效这一层;判断标准是市场数据请求的返回码,不是页面有没有图标。
恢复顺序:DSH Plugin Hub 从刷新到桌面端对照
恢复按代价从小到大:刷新、带 token URL 重新认证、清缓存、最后用桌面端对照隔离变量。 每一步只改一个变量,改完立刻复现。
- 先普通刷新一次页面,确认不是一次性加载失败。
- 回终端,用本次启动打印的带
?token=地址重新访问,完成令牌换 cookie。 - 仍然空白时,强制刷新或清站点缓存,再重新加载。
- 清缓存后还空白,换一个干净浏览器配置复现,排除扩展拦截。
- 最后打开桌面端对照:桌面端正常,说明问题在 Web 端链路;桌面端也空白,才回头查 Hub 本身。
顺序的价值是保留证据。先清缓存,你就无法判断原来是不是认证失效;先换浏览器,也无法判断是不是端口变化。每一步都记下「改了什么、结果如何」。
| 步骤 | 代价 | 适用情况 |
|---|---|---|
| 刷新 | 最低 | 一次性加载失败 |
| 带 token URL | 低 | 认证失效或换过端口 |
| 清缓存 | 中,会丢现场 | 资源 404 或旧 chunk |
| 桌面端对照 | 高,换环境 | 仍无法定位时 |
还不行时的取证清单:dsh plugin market 日志怎么看
四类证据收齐再动手:CLI 列表、Console、Network、两端版本;证据指向同一层,结论才可靠。 只凭「页面空白」一个现象,很容易在错误的方向重装。
dsh plugin --profile web list的输出,确认 Hub 与目标插件在不在。- Console 里的脚本报错与资源 404 路径,截图保存。
- Network 里市场请求的状态码与响应体,区分 401、404、200 空数据。
- Hub 版本与
dsh --version,对照兼容声明。 - 去「设置 → 插件市场 → 系统日志」导出本次操作的记录。
四类证据里,Network 的状态码信息量最大:401 指向认证,404 指向资源或路由,200 空数据指向目录拉取。拿到结论后,再决定是重新认证、清缓存还是重装 Hub。
取证的目标不是证明「谁坏了」,而是让下一步动作有依据。相邻的空白排查可以对照 插件市场打不开 与 Hub 空白但 CLI 正常。
常见问题
DeepSeek Harness 里先怀疑 Web 端,因为两端使用不同 profile、不同的页面链路。桌面端正常说明 Hub 本身能工作,Web 端空白更可能是 web profile 没装 Hub、页面没拿到目录数据,或浏览器缓存与资源版本对不上;先用 CLI 确认 web profile 里有没有 Hub。
DeepSeek Harness 里看页面骨架:侧边栏和会话区都在、只有市场区域空,是局部问题;整个页面全白,是整页问题。再看开发者工具的 Network,请求有没有发出、返回的是 200 空数组还是 404,能直接把「渲染失败」和「数据为空」分开。
DeepSeek Harness 的 dsh web 默认绑在 127.0.0.1:3080,换端口用 --port 参数。浏览器 cookie 绑定 hostname 与 port,换端口后旧 cookie 不再匹配,页面会退回认证状态;这时要用新打印的带 token URL 重新换一次 cookie,插件市场才可能恢复。
DeepSeek Harness 的 Web UI 用启动令牌换 cookie,没有有效 cookie 的请求会收到 401。空白页可能是认证失效后前端拿不到数据,也可能是静态资源公开但接口被拒;先用终端新打印的带 token 地址访问一次,再判断是不是认证问题。
DeepSeek Harness 里恢复按代价从小到大排:刷新最轻,带 token URL 重新认证次之,清缓存会丢现场,桌面端对照用于隔离变量。顺序反了会把简单问题复杂化,比如先清缓存,之后就无法判断原来是不是认证失效。
相关术语
- dsh web
- dsh web 是 DeepSeek Harness 启动 Web UI 的命令,等价于 dsh --profile web,默认绑定 127.0.0.1:3080。它加载 web profile 里的插件,与桌面端的 profile 不共享。— https://github.com/deepseek-ai/deepseek-harness
- 启动令牌
- 启动令牌是 DeepSeek Harness 每次启动 Web UI 时生成的随机凭据,只通过首启打印的带 ?token= 地址换取浏览器 cookie。没有有效 cookie 的请求会收到最小 401。— https://github.com/deepseek-ai/deepseek-harness/blob/master/.agents/notes/implemented/architecture/2026-08-24-browser-token-authentication.zh.md
- web profile
- web profile 是 dsh web 启动时加载的配置栈,位于 $DSH_HOME/profiles/web,决定 Web UI 里出现哪些插件。插件必须装进这个 profile 才会在 Web 端显示。— https://github.com/deepseek-ai/deepseek-harness
- 陈旧缓存
- 陈旧缓存是浏览器保留的旧页面资源与旧数据,升级后最容易出现。它会让页面结构与新版本不匹配,表现为空白或部件缺失。— https://github.com/dshplugin/dsh-plugin-hub
来源
- deepseek-ai/deepseek-harness(源码仓库)· GitHub
- Agent Note:浏览器启动令牌认证· deepseek-ai
- DSH Plugin Hub 插件页· dsh-plugin.org