keman-ai/dsh-skin-pack
A full set of skins for DeepSeek Harness — one repository, each theme installable on its own
项目介绍Project Overview
DSH Skin Pack 是 DeepSeek Harness 的皮肤合集仓库,内含 30 套独立发布的暗色/浅色主题,每套含配色、新会话封面与预览。想更换 DSH 界面外观、在多套风格间切换时使用;可经皮肤市场插件安装,也可按 Release 的 .tgz 单装。注意不能用 github:keman-ai/dsh-skin-pack 直接装,pnpm 不支持从 git 子目录安装。
DSH Skin Pack is a collection of 30 independently distributed dark and light themes for DeepSeek Harness, each with its own color scheme, new-session cover, and preview. Use it when you want to restyle the DSH interface or switch between visual styles; install via the skin-market plugin or individual Release .tgz packages. Note that github:keman-ai/dsh-skin-pack does not work, because pnpm cannot install from a git repository subdirectory.
请帮我了解并安装插件:【dsh-skin-pack】【https://github.com/keman-ai/dsh-skin-pack】
把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.
或使用命令行安装(适合开发者)Or use CLI install (for developers)
命令行安装CLI Install
dsh plugin --profile web add -w github:keman-ai/dsh-skin-market
把 keman-ai/dsh-skin-pack 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
DSH Skin Pack
给 DeepSeek Harness 的一整套皮肤。
一个仓库,一批主题,各自独立安装。
dsh.a2hmarket.ai —— 在集市里看效果、读说明、一键安装(免登录)
如果喜欢就给个 Star 鼓励我们一下吧
怎么装
先在 DSH 皮肤集市 上逛一遍——每套皮肤都有整屏预览图和设计说明,免登录。
最省事的装法是先装一次皮肤市场插件,之后所有皮肤都在 dsh 界面里搜索、安装、切换:
dsh plugin --profile web add -w github:keman-ai/dsh-skin-market
重启一次 dsh,打开设置 → 皮肤市场,搜索、安装、切换,全部不用再回终端。
也可以直接装单个皮肤——在 Releases 里找到对应版本,复制那个 .tgz 的地址:
dsh plugin --profile web add -w https://github.com/keman-ai/dsh-skin-pack/releases/download/<tag>/<包名>-<版本>.tgz
-w不能省:profile 目录自带pnpm-workspace.yaml,pnpm 因此认定它是 workspace 根并以ERR_PNPM_ADDING_TO_ROOT拒绝安装。这个 flag 就是「我确实要装到根」。
为什么不是 github:keman-ai/dsh-skin-pack:pnpm 没有「从 git 仓库子目录安装」这回事,指向本仓库的 git spec 会把整个仓库当成一个包装进你的 profile。所以这里发的是每套皮肤各自的 tarball。
皮肤一览
共 30 套皮肤,本段由 scripts/readme.mjs 生成,请勿手改。
开发
pnpm install
pnpm verify # 一致性闸:三处 id 对齐、files 覆盖入口、主题 id 不撞
pnpm check # 类型检查
pnpm build # 全量构建(每个包约 0.1 秒,全仓几秒钟)
皮肤之间零依赖,所以不做增量构建——全量太快了,增量的复杂度换不来什么。
改一套皮肤要发布时,把它 package.json 的 version 提一格即可:CI 按「版本号有没有对应的 Release tag」决定发谁,没提版本的包一律跳过。
pnpm release --dry # 看这次会发哪些,不动远端
目录约定
packages/<name>/ ← 包名固定是 dsh-<name>,脚本与集市数据都依赖这个映射
├── skin.json ← 皮肤自描述;它的 id 必须与 cordis.patch.yml、THEME_ID 三处一致
├── cordis.patch.yml ← 把自己插进 Loader 树,没有它插件永远不会被加载
├── package.json ← dsh.bundle.patch 指向 patch;files 决定哪些进 tarball
├── src/ ← host 半 (src/index.ts) + client 半 (src/client/)
├── preview/ ← 预览图,集市与本页截图墙用
└── lib/ ← 构建产物,不进 git,由 CI 构建后打进 tarball
lib/ 不提交是与独立仓时代最大的区别:那时皮肤靠 github:owner/repo 安装,装的就是仓库里的产物,不提交别人装到的是空壳。改走 Release tarball 之后 npm pack 会把构建好的 lib/ 按 files 打进包,提交它只会让仓库白白变大。
想自己做一套?
照着 packages/ 里任意一套改最快 —— 每套的结构都一样,
skin.json / cordis.patch.yml / src/client/tokens.ts 三个文件就是全部入口。
做好了欢迎上架到 DSH 皮肤集市,免登录就能浏览安装。
Star 趋势
License
MIT © Science Roam Limited
如果喜欢就给个 Star 鼓励我们一下吧






























nexu-io/open-design
freestylefly/awesome-gpt-image-2
anywhere-labs/dsh-desktop
walkinglabs/learn-harness-engineering
awesome-dsh-plugin/awesome-dsh-plugin
MemTensor/MemOS