中文EN

dsh-icon-theme

theme装不上npmMIT

为 DSH 设置和侧边栏自动分配并支持自定义的 Fluent 风格图标,离线内置 SVG,默认保留插件原图标。

下载量 / Downloads
788
测试时间 / Tested
2026-11-07
DSH 版本 / Version
0.2.2-rc.1

安装

dsh plugin --profile web add dsh-icon-theme

沙箱测试结果

阶段结果
1 安装✗
2 列装—
3 挂载—
4 启动—
第一条错误
dsh: initialized profile web at /home/node/.dsh/profiles/web

四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。

README

dsh-icon-theme

[English](README.md) | 简体中文

为 DeepSeek Harness 的设置导航和侧边栏功能自动分配统一图标,并支持逐项手动更改。

为什么做这个插件

dsh-icon-theme 从实时插槽账本发现功能,优先保留可信原图标,用一套精简的 Fluent 风格图标补齐缺口,并允许逐项覆盖。0.3 版已迁移到 DSH 官方配置表单;宿主提供官方设置图标插槽时,会自动使用该接口。

  • 通用识别实时生效且经过优先级遮蔽后的 settings.section 和 sidebar.footer.action;只有侧边栏部分渲染、无法按顺序对应时,才使用经过审核的插件兼容记录。
  • 用 settings.section:market 这样的稳定键保存选择,不依赖中文、英文或 DOM 顺序。
  • 内置 50 个 Fluent UI 16 Regular 图标、70 个 DSH 官方 UI 图标,以及经过审核的 dsh-market 单色原图标(共 121 个)。
  • 运行时不请求图标 CDN、Iconify、GitHub、webfont,也不扫描其他插件包。
  • 卸载或热重载时完整恢复宿主 SVG 和插件添加的 DOM 标记。
  • 明确区分“当前未渲染”和“非图标卡片”,不会假装已经更改成功。
  • 目标既没有可信匹配、也没有原图标时,统一使用设置齿轮回退。

安装

dsh plugin --profile web add dsh-icon-theme

重启 dsh web,打开“设置 → 图标”。

从源码安装:

git clone https://github.com/yzke/dsh-icon-theme.git
cd dsh-icon-theme
npm ci
npm run build
dsh plugin --profile web add link:"$PWD"

需要 Node.js 24.9+。engines.dsh 和 DSH peer 范围明确限定为已测试的 0.2.1-rc.5 || 0.2.2-alpha.3,不会默认放行其他预览版本。使用 DSH 0.1 的用户请保留 dsh-icon-theme@0.2.3。

DSH 版本 · 设置导航图标 · 配置持久化

0.2.1-rc.5(本次发布时 npm latest) · 可逆 DOM 适配器 · 官方 configForms

0.2.2-alpha.3(预览版) · 官方 settings.section.icon 插槽 · 官方 configForms

桌面版:通过桌面应用的插件管理器安装;或彻底退出应用后,使用桌面版自带的 dsh 命令管理插件。desktop 是桌面版专用 profile,npm 安装的 CLI 不能管理它。本插件已适配桌面版和网页版共享的客户端及 Host API,但尚未完成 Windows/macOS 原生桌面安装包的端到端实测。详见官方桌面版安装归属说明。

卸载

dsh plugin --profile web remove dsh-icon-theme

重启 dsh web。插件卸载时会恢复所有宿主 SVG,并移除自身添加的 DOM 标记和样式。

使用方式

图标页会列出所有已发现目标、稳定键、兼容状态和当前图标来源。可以按功能名、ID 或图标搜索,也可以筛选设置、侧边栏、未识别和已自定义项目;支持逐项选择、逐项恢复自动和全部恢复自动。

解析顺序固定为:

1. 用户手动覆盖。

2. 已审核并随包附带的插件原图标。

3. 可信的 DSH / 插件现有图标。

4. 稳定 ID 精确预设。

5. 稳定 ID 的无歧义语义推断。

6. 宿主已有回退图标;完全没有原图标时使用设置齿轮。

中英文名称只用于展示和搜索,不参与持久化映射。

侧边栏如何处理

状态 · 行为

已渲染的图标按钮 · 可以更改,默认优先保留原图标。

已注册但当前未渲染 · 显示“可预设”,出现时自动应用。

非图标卡片 · 明确报告,但不破坏卡片布局。

未知或结构变化的 DOM · 保持不动;只有唯一且经过审核的兼容记录才会匹配。

侧边栏 footer 和 rc.5 设置导航继续使用范围小、可逆、遇到歧义就停的适配器。alpha.3 设置导航改用官方图标贡献,保留其他插件的原图并在卸载时恢复。新增的 sidebar.panellist 等表面不属于本插件的支持范围。详见[设计文档](docs/design.md)。

同时安装 dsh-better-sidebar 时,其设置页自身图标会被视为可信原图标并默认保留;只有用户选择“替换通用回退图标”或手动覆盖时才会被替换。

外部插件兼容验证

测试固定抽取了真实开源项目的注册源码片段,包括 dsh-full-remote、dsh-context、dsh-openpencil、dsh-approve-for-me 和 dsh-composer-polish。它们证明:未安装过的设置页插件仍能被通用发现,而其他插槽上的功能不会被误认成设置或侧边栏入口。来源和固定提交见[生态兼容记录](docs/ecosystem-compatibility.md)。侧边栏回退指纹同样固定到上游提交,若这些插件后续调整 DOM,需要定期更新。

开发与发布门槛

npm ci
npm run qa
npm run test:web
npm pack --dry-run

可选的真实 DSH 冒烟测试:

DSH_E2E_URL='http://127.0.0.1:3184/?token=TEST_PROFILE_TOKEN' npm run test:web -- -t @real-dsh

完整测试分层见 [TESTING.md](TESTING.md),图标来源和许可证见 [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md)。

隐私与安全

自动识别只读取 DSH 插槽元数据和两个受支持界面的当前 DOM,不读取用户文件,也不解析其他插件的编译产物。配置通过官方共享 configForms 服务写入 dsh-icon-theme Host 条目。网页版和桌面版均由 DSH 负责鉴权、版本冲突检测、持久化和断线恢复;插件不再提供私有 HTTP 接口,也不在浏览器保存另一份偏好配置。

MIT 许可证。

以上内容来自 npm 上的 README,我们只做格式化,不改内容。

版本

npm 上共发布:7,最后更新 2026-11-04

链接

GitHub · Homepage · npm

同类插件