keman-ai/dsh-skin-market 预览 preview

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.

或使用命令行安装(适合开发者)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 —— 皮肤目录来自这里,免登录

Stars Latest release MIT License

如果喜欢就给个 Star 鼓励我们一下吧

三个页签

发现:搜索社区皮肤,卡片上标着来源与等待成本 已安装:启用 / 停用 / 卸载,读本机 profile

发现

搜索、排序、一键安装。卡片上标着这套皮肤是预构建包还是源码构建——点下去要等几秒还是几分钟,在点之前就知道。

已安装

版本、主题 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 官方皮肤的源码,一个仓库全在里面

DSH 皮肤集市:社区皮肤一览,看效果、读说明、复制一行命令装上

Star 趋势

Star History Chart

许可

MIT © 2026 Science Roam Limited


如果喜欢就给个 Star 鼓励我们一下吧

上一个 Prev dsh-browser4 下一个 Next dsh-zen-remote