🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

主题配色预设 MicroSharpAnt/dsh-theme-presets

DeepSeek Harness
MicroSharpAnt36 天前有提交已提供中文文档扫描:含敏感能力

为界面叠加 Nord、Dracula 等配色家族

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/29 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add MicroSharpAnt/dsh-theme-presets
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · market
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
数据截至 2026/11/04·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 36 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-theme-presets(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/8 08:46:06

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 24 处,展示前 19 条)
  • 读取本地文件
    src/plugin.mjs:38
    const stat = statSync(presetsPath)
  • 读取本地文件
    src/plugin.mjs:95
    const stat = statSync(presetsPath)
  • 读取本地文件
    build-client.mjs:21
    const pkg = JSON.parse(readFileSync(join(here, 'package.json'), 'utf8'))
  • 写入本地文件
    build-client.mjs:77
    mkdirSync(dirname(outPath), { recursive: true })
  • 写入本地文件
    build-client.mjs:78
    writeFileSync(outPath, bundle)
  • 读取本地文件
    bundle-test.mjs:36
    const source = readFileSync(join(here, 'lib', 'client.js'), 'utf8')
  • 读取本地文件
    e2e-test.mjs:31
    const found = candidates.find(candidate => existsSync(join(candidate, '.dsh-build')))
  • 读取本地文件
    e2e-test.mjs:42
    const entry = existsSync(store)
  • 读取本地文件
    e2e-test.mjs:43
    ? readdirSync(store).filter(name => /^playwright@\d/.test(name)).sort().pop()
  • 读取本地文件
    e2e-test.mjs:73
    const logs = readdirSync(buildDir)
  • 读取本地文件
    e2e-test.mjs:75
    .map(name => ({ name, mtime: statSync(join(buildDir, name)).mtimeMs }))
  • 读取本地文件
    e2e-test.mjs:78
    const found = /token=([A-Za-z0-9_-]+)/.exec(readFileSync(join(buildDir, name), 'utf8'))?.[1]
  • 读取本地文件
    schema-test.mjs:28
    if (existsSync(entry)) return entry
  • 读取本地文件
    verify-contract.mjs:81
    if (existsSync(candidate)) {
  • 读取本地文件
    verify-contract.mjs:83
    const name = JSON.parse(readFileSync(candidate, 'utf8')).name
  • 读取本地文件
    verify-contract.mjs:124
    const pkg = JSON.parse(readFileSync(located.path, 'utf8'))
  • 读取本地文件
    verify-contract.mjs:133
    check(existsSync(clientPath), 'client bundle exists on disk', clientPath)
  • 读取本地文件
    verify-contract.mjs:135
    if (existsSync(clientPath)) {
  • 读取本地文件
    verify-contract.mjs:136
    const bundle = readFileSync(clientPath, 'utf8')
扫描于 2026/11/4(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 叠加多种配色主题

README

由 DeepSeek 最新模型翻译生成
dsh-theme-presets DSH Web GUI 的主题预设插件:在内置的 浅色 / 深色 / 跟随系统 之外,再叠一层配色家族。 安装 在 DSH 的插件安装界面里填: https://github.com/MicroSharpAnt/dsh-theme-presets.git 也可以用 github:MicroSharpAnt/dsh-theme-presets 或 git+ssh://git@github.com/MicroSharpAnt/dsh-theme-presets.git。 不要用 git@github.com:... 这种 scp 语法:DSH 的预检会放行,但 pnpm 把它按 name@range 拆成「包名 git + 版本 github.com:...」,于是只装出一个悬空的 node_modules/git 软链,日志特征是 added 0,实际什么都没装上。 安装后无需构建:浏览器端产物 lib/client.js 随仓库提交,本包也没有任何运行时依赖。 仓库已从 DSH-simple-theme-plugin 更名为 dsh-theme-presets。旧地址仍会重定向,但建议直接用上面的新地址。 从本地目录安装(开发时) 插件安装界面也接受绝对路径,指向工作副本即可,改完代码后重启 dsh web 生效。
展开完整文档(README 剩余 1 节)
dsh-theme-presets

DSH Web GUI 的主题预设插件:在内置的 浅色 / 深色 / 跟随系统 之外,再叠一层配色家族。

安装

在 DSH 的插件安装界面里填:

https://github.com/MicroSharpAnt/dsh-theme-presets.git

也可以用 github:MicroSharpAnt/dsh-theme-presets 或 git+ssh://git@github.com/MicroSharpAnt/dsh-theme-presets.git。

不要用 git@github.com:... 这种 scp 语法:DSH 的预检会放行,但 pnpm 把它按 name@range 拆成「包名 git + 版本 github.com:...」,于是只装出一个悬空的 node_modules/git 软链,日志特征是 added 0,实际什么都没装上。

安装后无需构建:浏览器端产物 lib/client.js 随仓库提交,本包也没有任何运行时依赖。

仓库已从 DSH-simple-theme-plugin 更名为 dsh-theme-presets。旧地址仍会重定向,但建议直接用上面的新地址。

从本地目录安装(开发时)

插件安装界面也接受绝对路径,指向工作副本即可,改完代码后重启 dsh web 生效。

用法

设置 → 通用 → 主题预设,点一个色块。

- 预设只决定配色家族,明暗仍由上一行的「外观」控制,两者正交。
选了 Nord 之后,「浅色」= Snow Storm,「深色」= Polar Night,「跟随系统」则跟着系统在两者之间切。
- 每个色块显示当前明暗模式下该预设的底色 / 强调色 / 正文色,会随「外观」一起变。
- 默认 = DSH 自带配色,不做任何覆盖。
- 选择写进当前 Web profile 的 cordis.patch.yml 中 theme-presets.config.preset,跨刷新、跨重启保留。

十一个预设

| id | 名称 | 浅色变体 | 深色变体 |
| nord | Nord | Snow Storm | Polar Night |
| dracula | Dracula | Alucard | Dracula |
| catppuccin | Catppuccin | Latte | Mocha |
| tokyonight | Tokyo Night | Day | Night |
| onedark | One Dark | One Light | One Dark |
| gruvbox | Gruvbox | Light | Dark |
| solarized | Solarized | Light | Dark |
| github | GitHub | Light | Dark |
| everforest | Everforest | Light | Dark |
| kanagawa | Kanagawa | Lotus | Wave |
| rosepine | Rosé Pine | Dawn | Moon |

配色取自各主题自己发布的调色板,不是凭印象配的近似值。每个主题的 15 个语义锚点(底色 / 表面 / 文字 / 边框 / 强调 / 四种状态)定义在 presets.mjs,其余 92 个 --dsw-alias-* token 由统一的 deriveTokens() 用 color-mix() 从这些锚点派生。

改配色

presets.mjs 是唯一数据源。

1. 改 PRESETS 里某个预设的 light / dark 锚点(各 15 个颜色),或整段新增一个预设;
2. npm run build 重新生成 lib/client.js;
3. 浏览器刷新。

只调配色不需要重启;改了 host.js 或 src/plugin.mjs 则要重启 dsh web。

测试

npm test # 进程外的五个套件,不需要运行中的 dsh
node e2e-test.mjs # 可选:真实浏览器端到端(22 项),需要运行中的 dsh web + 本机 Chrome

e2e-test.mjs 结束时会恢复进入时的预设,不会改掉你的选择;
dsh 检出不在默认位置时用 DSH_CHECKOUT=/path/to/dsh 覆盖。

实现细节

首屏无闪烁的三层接管机制、宿主端加载的三条约束、为什么自带一份 Config schema,以及各测试套件的覆盖范围:见 docs/internals.md。
预览分享卡片长什么样 ↓MicroSharpAnt/dsh-theme-presets
分享 · DeepSeek Harness Hub
MicroSharpAnt/dsh-theme-presets

为界面叠加 Nord、Dracula 等配色家族

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部