編集者注

DarkskyX15/dsh-client-ui-m3-theme

Material 3 theme plugin for DeepSeek Harness: derives the full --dsw-* color token set from one primary color, with separate light/dark palettes (per-mode chroma, fixed contrast surfaces), plus a settings panel with color picker, presets and live preview.

これは DeepSeek Harness(DSH)プラグインです。当サイトは GitHub README、インストール情報、メンテナンス状況、公開セキュリティシグナルをまとめています。

dsh-client-ui-m3-theme

DeepSeek Harness 的 Material 3 主题插件(双面包):由单一主色推导整套 --dsw-* color token,亮/暗模式各自成板,附带设置面板用于启用主题与选色。

English

功能

  • 约 65 个可见 --dsw-* color token 全量映射(表面 / 描边 / 文字 / 品牌 / 按钮 / 交互态 / Markdown / 滚动条 / 状态色 / 组件专项 / Toast / Tooltip)。
  • 亮色与暗色模式使用各自色板:
    • 暗色中性面 / 描边 chroma 略高(表面层次感,M3 dark scheme 惯例);
    • 暗色主色板提 chroma(补偿暗背景下主色的饱和感损失);
    • tooltip 为恒定反向表面(气泡文字为静态白),两种模式背景均取深色;
    • 文字五级层级(primary → secondary → tertiary → caption → dimmed)与 官方明度梯级对齐。
  • 设置面板「M3 主题」:
    • 启用 / 禁用整套令牌层的开关;
    • 颜色来源开关:浏览器本地颜色(localStorage)或本机配置 (settings.yaml 注入值);
    • 单一自定义主要色选择器;
    • 主色来源优先级说明卡;
    • zh/en i18n —— 面板与导航文案随界面语言切换。
  • 持久化:
    • 浏览器选择 → localStoragedsh.m3-theme.primary(即时生效、跨标签页同步);
    • 本机配置 → settings.yamlm3-theme 命名空间(Host 半边注册,注入 页面为 window.__DSH_M3_THEME_PRIMARY__);
    • 开关 → dsh.m3-theme.enabled'0' 禁用令牌层)与 dsh.m3-theme.useLocal'0' 忽略 localStorage,直接采用注入值)。

主色来源优先级

useLocal 开关解析顺序
开启(默认)localStorage → settings.yaml 注入值 → 内置默认紫 #6750a4
关闭settings.yaml 注入值 → 内置默认紫 #6750a4(忽略 localStorage)

面板选色只写入 localStorage,不会回写 settings.yaml。

安装到 DSH profile

  1. 在 profile 的 package.json 增加 git 依赖:

    {
      "dependencies": {
        "dsh-client-ui-m3-theme": "github:DarkskyX15/dsh-client-ui-m3-theme#v0.2.0"
      }
    }
    

    跟随分支可用:"github:DarkskyX15/dsh-client-ui-m3-theme#main"

  2. 在 profile 的 cordis.patch.yml 插入条目:

    - insert:
        - id: ui-m3-theme
          name: dsh-client-ui-m3-theme
    
  3. 重新安装依赖并重启 DSH:

    pnpm install
    

    (Host 半边注册设置命名空间并注入启动主色,client bundle 在启动时扫描, 因此需要重启 DSH 进程。)

使用

  • 设置 → M3 主题:开关主题、选择颜色来源、挑选主要色。

  • 外部配置 —— 编辑 ~/.dsh/settings.yaml

    m3-theme:
      primary: "#39c500"
    

    「使用浏览器本地颜色」开启时浏览器本地选择优先于该值;关闭该开关则 直接采用该值。

结构

  • lib/index.js — Host 半边:注册 m3-theme 设置命名空间(schema 校验)、 经 webServer.tapIndex 注入启动主色。
  • lib/client.js — 浏览器半边:window.__ModuleLoader__.load 注册, token 推导(hex↔HSL、tone 步进、按模式色板)、设置面板与 zh/en 字典。
  • 无构建步骤:lib/ 即发布物,改动直接提交。

开发

node --check lib/client.js   # 语法检查
node --check lib/index.js

浏览器 bundle 由 /plugins/<id>/client.js 路由每次请求从磁盘读取 (cache-control: no-cache),因此只改 lib/client.js 时刷新页面即可生效; 改 lib/index.js(Host 半边)或 package.json 需要重启 DSH。

License

MIT

REPOSITORY SIGNALS

セキュリティとインストールエビデンス

このスコアは公開リポジトリメタデータと当サイトに登録されたインストールエビデンスのみに基づくもので、コードセキュリティ監査とは異なります。

出所の追跡可能性

公開プラグインカタログから取得し、公開 GitHub リポジトリにリンクしています。

ライセンス

リポジトリは MIT ライセンスを宣言しています。

メンテナンス活動

過去180日以内にコードの更新があります。

インストールエビデンス

再現可能な正確なインストールメタデータはまだ登録されていません。リポジトリの説明に従って手動で確認してください。

インストールライフサイクルスクリプト

確認したパッケージメタデータにインストールライフサイクルスクリプトは宣言されていません。