YangAtC / dsh-theme

목록에 있음

DSH (DeepSeek Harness) 主题自定义插件:背景图 + 界面透明度调节,开箱即用

master기타 소스 보기

설치

npm install @yangatc/dsh-theme

이 명령은 GitHub 저장소 주소에서 생성됩니다. 실행 전에 업스트림 README와 소스를 검토하고 재현성이 필요하면 release 또는 commit을 고정하세요.

README

유지 관리자가 작성한 문서 스냅샷입니다.

GitHub에서 보기 ↗
커밋 1db7d0c동기화 2026. 8. 18.

@yangatc/dsh-theme

DSH(DeepSeek Harness)主题自定义插件:为网页版设置一个「主题」面板,支持:

  • 上传背景图片,三种显示模式:拉伸铺满(cover)、适应(contain)、居中(center)
  • 调节各界面层透明度:应用背景 / 面板表面 / 侧边栏 / 浮层,即时生效
  • 开箱即用:内置默认预设(背景图 + 透明度),新设备安装后无需任何配置即可看到主题效果
  • 设置持久化到磁盘,重启 DSH 后依然保留

主界面中消息文本、行内代码、代码块(含标题栏)、工具结果、任务清单、输入框、菜单、气泡等表面层背景均随「面板表面」滑杆半透明,露出背景图片。


原理

DSH 的 Web 端是 Cordis 组合。本插件是持久化的 profile 插件(不是一次性动态插件):

  • Host 半区lib/index.js,运行在 DSH Node 进程):
    • 通过 ctx.connection.rpc.handle('/theme-custom', ...) 注册私有 RPC 通道,提供 get / save / upload / deleteBg 四个端点
    • 配置写入 $DSH_HOME/profiles/web/theme-config.json
    • 上传的背景图存到 $DSH_HOME/profiles/web/theme-assets/,通过 /theme-assets 前缀路由静态提供
    • 开箱即用:首次运行把包内 assets/default-bg.jpg 复制到 theme-assets/,并把 presets/default-config.json 作为默认配置,用户改动后以用户配置为准
  • Client 半区lib/client.js,运行在浏览器):
    • settings.section 插槽注册「主题」面板(id theme-custom,order 35)
    • 插件级 apply() 常驻应用背景图(独立 position: fixed 背景层,z-index -1,露出半透明表面)与 theme.overrideTokens(...) 透明度覆盖,面板开关不会撤销
    • 透明度通过 @deepseek-ai/dsh-client-ui-themeoverrideTokens(source, tokens) 写入 token(如 --dsw-alias-bg-base--dsw-specific-tip--dsw-alias-markdown-code-block 等),由 ui-layout 的 ThemePresenter 投射到 document.body 内联样式

安装

方式 A:npm 安装(推荐)

# 1. 把包装到 DSH web profile 的依赖里
cd "$DSH_HOME/profiles/web"
npm install @yangatc/dsh-theme

# 2. 把插件行挂到 cordis 组合(cordis.patch.yml)

$DSH_HOME/profiles/web/cordis.patch.ymlpatches 里追加一行:

patches:
  - insert:
      - '@yangatc/dsh-theme'

DSH 会热重载(或重启 DSH 生效),浏览器刷新后「设置 → 主题」即可使用。

方式 B:便携拷贝

把整个项目(lib/assets/presets/package.json)拷到:

$DSH_HOME/profiles/web/node_modules/@yangatc/dsh-theme/

然后同样在 cordis.patch.yml- insert: '@yangatc/dsh-theme' 行。

$DSH_HOME 默认是 ~/.dsh(Windows:C:\Users\<你>\.dsh)。


使用

  1. 打开网页版 DSH → 设置(侧栏齿轮)→ 主题
  2. 背景图片:点「上传图片」选择本地图片;「拉伸铺满 / 适应 / 居中」切换显示模式;「移除背景」删除
  3. 界面透明度:四个滑杆(应用背景 / 面板表面 / 侧边栏 / 浮层)实时调节,100% 为完全不透明,越低越透出背景图
  4. 设置即时生效并自动保存

数据存放位置

内容路径
主题配置$DSH_HOME/profiles/web/theme-config.json
背景图片$DSH_HOME/profiles/web/theme-assets/
静态服务GET /theme-assets/<file>
包内默认预设(只读)<pkg>/assets/default-bg.jpg<pkg>/presets/default-config.json

开箱即用:首次运行(用户从未配置过)时,插件自动把包内默认背景图复制到 theme-assets/ 并以默认透明度生效;用户上传新图或调整后,以用户配置为准。


开发

# 工作区装依赖后直接改 lib/ 下源码,无需构建(host 直接 ESM,client 为手写 __ModuleLoader__ bundle)

client bundle 由 DSH 的 client-modules 自动按 exports["./client"] 重建,文件变化后浏览器硬刷新(Ctrl+Shift+R)即可加载新 bundle(rev 自动变化)。


License

MIT

저장소 정보

언어
JavaScript
라이선스
MIT
마지막 업데이트
2026. 8. 17. AM 10:00

신중하게 설치하기

소스 코드, 권한, 수명 주기 스크립트, 의존성 및 네트워크 접근을 검토하고 신뢰하지 않는 플러그인은 격리 환경에서 테스트하세요.