READMESource: main@a48ac132
DSH-Version-Inspector
DSH 版本信息插件。在 DSH 的设置面板中新增一个「版本信息」页面,以树状结构展示 DeepSeek Harness、插件及其依赖的版本号。样式沿用 DSH 主题(--dsw-alias-* 变量),自动适配 day / dark 模式。
功能
- 设置面板新增「版本信息」页面(
settings.section,replaceRisk: none) - 树状结构,分三组,节点可展开 / 折叠:
- DeepSeek Harness(dsh):
@deepseek-ai/dsh版本号 + 顶层依赖(默认折叠) - 插件:从 Cordis Loader 读到的其他已挂载插件及其版本(不含本插件)
- 当前插件:本插件自身的版本 +
dependencies/peerDependencies子树
- DeepSeek Harness(dsh):
- 每个依赖项展示:名称、已解析版本(安装的真实版本)、声明范围(
^x.y.z)、所属 section(依赖 / 对等依赖 / 可选依赖)与解析路径 - 宿主解析不到的依赖(如客户端专用的
react、未安装的可选依赖)以警示色标注,并显示声明范围 - 紧凑多列布局:版本项以自适应多列网格(
auto-fill)密集排布,长列表横向铺开、少滚动 - 搜索过滤:按包名或版本过滤,快速定位目标包(结果按 Harness / 插件 / 当前插件分组显示并计数)
- 设置页导航中的最后一个条目(
order 1000) - 样式与现有设置页一致,使用 DSH 主题令牌(CSS 变量),自动适配 day / dark
数据来源
全部数据由 Host 侧只读收集,通过一个同源控制路由 GET /version-info(回环校验)提供给客户端:
| 项 | 来源 |
|---|---|
| Harness 版本 | @deepseek-ai/dsh/package.json(模块解析) |
| 插件列表 | Cordis Loader(ctx.get("loader").entries(),尽力而为;可用时列出已挂载插件) |
| 各插件版本 | 各插件包 package.json(createRequire 解析) |
| 依赖版本 | 各包声明依赖的 package.json(直接解析优先,回退到模块入口向上查找) |
客户端只在页面打开时做一次同源 fetch("/version-info"),之后仅在内存中展开/折叠。
安装
需要 dsh CLI(0.1.0-rc.6 及以上)。
从 GitHub 仓库安装:
dsh plugin --profile web add github:NEVSTOP-LAB/dsh-version-inspector
[!NOTE]
--profile web是默认 profile。桌面版(DSH Desktop)用--profile desktop;其他 profile 把web换成对应名字即可。
建议锁定提交,避免后续更新改变实际内容:
dsh plugin --profile web add github:NEVSTOP-LAB/dsh-version-inspector#<commit-sha>
也可以从 Releases 下载 tarball 安装:
dsh plugin --profile web add ./dsh-version-inspector-0.1.2.tgz
安装后确认组合层里出现该插件:
dsh --profile web --dump-config
启动后,打开设置面板,「版本信息」页面出现在设置页列表。
卸载:
dsh plugin --profile web remove dsh-version-inspector
目录结构
dsh-version-inspector/
├── .github/workflows/ # CI / Release
├── doc/design.md # 设计文档
├── index.js # Host half(版本收集 + /version-info 路由)
├── lib/client.js # Client half(设置页树状 UI,__ModuleLoader__ bundle)
├── package.json # bundle manifest(dsh.bundle + dsh.client)
├── cordis.patch.yml # 组合层:插入插件行
└── scripts/pack.mjs # tarball 打包
License
MIT
No comments yet. Be the first to write one.