keman-ai/dsh-skin-market
Skin marketplace for DeepSeek Harness — search and install community skins from dsh.a2hmarket.ai right in the settings page
项目介绍Project Overview
DSH 皮肤市场是 DeepSeek Harness 的 web profile 插件,在设置页提供皮肤搜索、一键安装、启用/停用与卸载,并显示预构建或源码构建等待成本;适合不想回终端、想图形化管理社区皮肤时使用。需 DSH 0.1.0-rc.6+、Node 20+、pnpm,且安装仅支持本机 loopback 访问。
DSH Skin Market is a DeepSeek Harness web-profile plugin that adds a settings page for searching community skins, one-click installation, and enabling, disabling, or removing installed skins. It shows whether a skin is prebuilt or built from source. Use it when you want to manage DSH skins graphically instead of through terminal commands. It requires DSH 0.1.0-rc.6+, Node 20+, pnpm, and local loopback access for installation.
请帮我了解并安装插件:【dsh-skin-market】【https://github.com/keman-ai/dsh-skin-market】
把上面这条消息直接发给当前会话里的 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-market 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
DSH Skin Market
在 DeepSeek Harness 里搜皮肤、点一下装上。
装一次,之后换皮肤不用再回终端。
dsh.a2hmarket.ai —— 皮肤目录来自这里,免登录
如果喜欢就给个 Star 鼓励我们一下吧
三个页签
|
|
发现搜索、排序、一键安装。卡片上标着这套皮肤是预构建包还是源码构建——点下去要等几秒还是几分钟,在点之前就知道。 |
已安装版本、主题 id、启用 / 停用、卸载。读的是本机 profile,断网也能管;连预览图都走本地,不额外联网。 |
诊断 · pnpm、profile 路径、集市连通性、上次安装的完整输出 —— 装不上时先看这一屏,比截图有用得多
本站官方皮肤的源码都在 dsh-skin-pack。
安装
dsh plugin --profile web add -w github:keman-ai/dsh-skin-market
重启一次 dsh,打开 设置 → 皮肤市场。
dsh --profile web
此后装皮肤只要刷新页面,不用再重启,也不用再敲命令。
-w不能省。 profile 目录自带pnpm-workspace.yaml,pnpm 因此认定它是 workspace 根并拒绝安装(ERR_PNPM_ADDING_TO_ROOT)。-w就是「我确实要装到根」的声明;dsh plugin会把它原样转发给 pnpm。pnpm 8 和 10 都需要。
仓库里带着构建产物(lib/),也没有 prepare 脚本,所以从 git 源安装时 pnpm 不需要执行任何构建脚本,你不必为它授权 allowBuilds。
从 harness 源码运行的话,把上面两条 dsh 换成在 harness 目录里跑 pnpm dsh。
卸载
dsh plugin --profile web remove dsh-skin-market
用市场装的皮肤不会跟着消失 —— 它们是 profile 里独立的依赖,在市场页的「已安装」里单独卸。
运行环境
只逛只要有 dsh 和网络。要装皮肤才需要那几个命令行工具,因为安装本质上就是替你跑 pnpm。
| 依赖 | 要求 | 少了会怎样 |
|---|---|---|
| DeepSeek Harness | 0.1.0-rc.6+(实测 rc.7) |
更早的版本没有 settings.section 与浏览器模块表,插件挂不上 |
| profile | 必须是 web profile | headless / tui 组合里没有 webServer,插件不会激活 |
| Node.js | >= 20(实测 24) |
dsh 自己的要求,插件不额外抬高 |
| pnpm | 在 PATH 上(实测 8.15 与 10) |
只影响安装。诊断页标红,安装按钮明确报错,浏览和搜索照常 |
| git | 装 GitHub 源皮肤才要 | 目录里多数皮肤已改用 Release tarball(不需要 git),只有少数仍是 github:owner/repo 源 |
| 网络 | dsh.a2hmarket.ai;装 GitHub 源皮肤还要 github.com |
集市连不上会回落到缓存 / 随包快照并在页面说明 |
| 浏览器 | 装皮肤要求本机直连(loopback) | 远程访问时能逛能搜,安装被拒 |
插件自身只有一个运行时依赖:yaml,用来读写 profile 的 patch 文件。
配置
插件默认不需要配置。要改的话,在 profile 的 cordis.patch.yml($DSH_HOME/profiles/web/cordis.patch.yml)里追加一段,按 id 覆盖本插件那一行:
- id: skin-market
name: dsh-skin-market
config:
# 换一个集市(自建目录服务时用)。注意要带 context-path。
catalogOrigin: https://dsh.a2hmarket.ai/dsh-skin
# 关掉后市场只读:能逛能搜,安装按钮不再动你的机器。
allowInstall: true
开发
pnpm install
pnpm build # → lib/index.js(host 半)+ lib/client.js(浏览器半)
pnpm check # 类型检查
pnpm test # 单元测试
改完代码重新 pnpm build,然后重启 dsh。插件以 link: 装进 profile 时不必重新 add。
lib/ 是故意提交进仓库的:用户从 git 源安装时 pnpm 默认不执行构建脚本,不带产物的包会因缺入口文件让 dsh 起不来。所以改完代码要把 pnpm build 的产物一并提交。
两半
| 文件 | 职责 | |
|---|---|---|
| host | src/index.ts |
在 ctx.webServer 上挂 /skin-market/api/*:目录代理与缓存、已装清单、安装/卸载(SSE 回流 pnpm 输出)、诊断 |
| client | src/client/index.ts |
注册 settings.section,画列表、搜索、安装交互 |
两半之间走同源 HTTP,不走 ctx.remote —— remote 的能力集在 api-remotes 构建期就固定了,第三方插件加不进去。
lib/client.js 是闭包工厂形态的 CJS(window.__ModuleLoader__.load({ id, factory })),React 等外部依赖由宿主注入的 require 从模块表取,不打进包里。这个形状由 dsh 的模块表规定,tsdown.config.ts 复刻了它。
harness 的类型
types/dsh.d.ts 自带了用到的那部分 harness API 声明,照 0.1.0-rc.7 的源码抄写,每处标了出处 —— 这些模块运行时全是 external,而 npm 上的 @deepseek-ai/dsh-client-* 依赖链目前不完整装不下来。宿主行为与声明对不上时,先回那个文件核对。
相关
| dsh.a2hmarket.ai | 皮肤目录站,作者在这里上架。本插件的目录就是从这里拉的 |
| dsh-skin-pack | 官方皮肤的源码,一个仓库全在里面 |
Star 趋势
许可
MIT © 2026 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