npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

dsh-skin-center

v2.1.0-rc.2

Published

DeepSeek Harness Skin as an out-of-tree plugin bundle: 21 skins, one-image custom themes, runtime chrome stamping — no host source patches

Readme

dsh-skin-center | DeepSeek Harness 皮肤中心(官方插件)

给 DeepSeek Harness 换肤的官方插件:一行命令安装,不改宿主源码,npx 用户可用。

35 套内置皮肤(含 14 套开发者经典配色)+ 一张图自定义 + 皮肤包导入/导出,多标签实时同步,首屏零闪屏。

An out-of-tree plugin bundle for DeepSeek Harness: 21 built-in skins plus one-image custom themes. One command to install, zero host source patches.

快速开始 · 功能 · 它长这样 · 内置 21 套 · 工作原理 · 致谢与许可

🌐 在线皮肤画廊:35 套皮肤逐一预览 + 一键复制安装命令 → harnessskins.com

归因:本仓库是 HeiGeAi/deepseek-harness-skin(MIT)的插件化再实现——21 套皮肤、取色算法与共享 chrome 样式源自原项目并保留其许可与素材登记(见 THIRD_PARTY_NOTICES.mdASSET_PROVENANCE.md);插件架构(DOM 运行时盖章、自有路由与持久化、__ModuleLoader__ 浏览器半)为本仓库新增。向原项目致谢,换肤想法与皮肤设计属于它的作者。

快速开始

要求:DeepSeek Harness 0.1.0-rc.6 及以上、机器上有 pnpm。

dsh plugin --profile web add dsh-skin-center
dsh web

没有全局 dsh 命令就先 npx @deepseek-ai/dsh@latest,或把第一行换成 npx @deepseek-ai/dsh plugin --profile web add dsh-skin-center。装完打开 http://127.0.0.1:3080,设置 → 通用设置 → 皮肤,点一下就换。

升级与卸载同样一行:

dsh plugin --profile web update dsh-skin-center   # 升级
dsh plugin --profile web remove dsh-skin-center   # 卸载(选择与自定义图保留在 ~/.dsh/skins/)

功能

  • 加法安装:官方外观行(浅色/深色/跟随系统)原样保留,皮肤行出现在它下面;默认「默认」,装完不改变任何现有外观。
  • 零宿主源码改动:不覆盖任何宿主文件、不打源码补丁。界面钩子(消息气泡、会话面板、视图页签、主按钮、详情栏、应用框架)由插件在浏览器运行时盖章;宿主升级最坏情况是个别效果暂时退化为纯换肤,不会装不上。
  • 35 套皮肤:ACG 系(QQ 怀旧、初音、原神、火影等 21 套,源自上游项目)+ 开发者经典 14 套(Gruvbox、Nord、Dracula、Tokyo Night、Solarized、One Dark/Light、Rosé Pine、Catppuccin——全部为开源配色)。
  • 皮肤包导入/导出:一个 JSON 就是一套皮肤(四色种 + 外观 + 边框),导入即用、导出即分享——社区可以互相传皮肤包。
  • 一张图自定义:传一张自己的图,取色派生全自动。
  • 首屏零闪屏:换肤选择持久化在 ~/.dsh/skins/selection.json,Host 在 HTML 里内联首屏配色与属性。
  • 多标签同步:BroadcastChannel,一个标签换肤,所有标签实时跟随。
  • QQ/XP 标题栏:chrome 皮肤激活时出现,可收起、可开合侧栏。

它长这样

侧栏、输入框、会话列表都是 DSH 原生控件,功能一点没动。

| QQ 2008 · 粉 | 初音未来 | | --- | --- | | QQ 2008 粉色皮肤 | 初音未来皮肤 |

| 原神 · 璃月夜 | 鸣潮 · 黑青 | | --- | --- | | 原神璃月夜皮肤 | 鸣潮黑青皮肤 |

| 皮肤选择器 | 自定义(选图) | | --- | --- | | 皮肤选择器与版本条 | 自定义皮肤效果 |

用一张图做你自己的皮肤

皮肤选择器的第一项就是「自定义(选图)」,选一张 PNG、JPG 或 WebP,剩下的全自动:浏览器本地 96px 采样取色、按画面明暗自动调蒙版浓度保证文字可读、1920px 长边重编码成 WebP 按内容哈希存进 ~/.dsh/skins/原图不出本机,上传只走同一台机器上的 DSH Host。

内置 21 套皮肤

| # | 皮肤 | 外观 | 边框风格 | | --- | --- | --- | --- | | 1 | QQ 2007 | 浅色 | flat | | 2 | QQ 2008 · 粉 | 浅色 | glass | | 3 | 初音未来 | 浅色 | neon | | 4 | 原神 · 蒙德 | 浅色 | glass | | 5 | 原神 · 璃月夜 | 深色 | neon | | 6 | 恋与深空 · 星海 | 浅色 | glass | | 7 | 恋与深空 · 星际 | 深色 | neon | | 8 | 火影 · 鸣人 | 深色 | glass | | 9 | 火影 · 佐助 | 深色 | neon | | 10 | 鸣潮 · 黑青 | 深色 | neon | | 11 | 鸣潮 · 深紫 | 深色 | glass | | 12 | 龙珠 · 筋斗云 | 浅色 | glass | | 13 | 龙珠 · 超赛 | 浅色 | neon | | 14 | 大佬 · 烟灰 | 深色 | glass | | 15 | DeepSeek 娘 · 深海 | 深色 | neon | | 16 | DeepSeek 娘 · Q 版 | 浅色 | glass | | 17 | DeepSeek 青春版 | 浅色 | glass | | 18 | 内测大佬 | 深色 | neon | | 19 | 别影响 AGI | 浅色 | glass | | 20 | 峰哥骑鲸 | 浅色 | flat | | 21 | 梁圣 · 静音 | 浅色 | glass |

QQ 2007 / QQ 2008 是纯配色皮肤(零位图,构建期由四个色种推导整条色阶),其余 19 套各配一张背景图。

开发者经典包(v2.1 起,14 套)

Gruvbox Dark · Gruvbox Light · Nord · Dracula · Tokyo Night · Tokyo Night Storm · Solarized Dark · Solarized Light · One Dark · One Light · Rosé Pine · Rosé Pine Dawn · Catppuccin Mocha · Catppuccin Latte

全部采用开源社区经典配色,纯色阶、零位图、零 IP 风险——终端美学路线。皮肤包本体可通过「导出皮肤包」一键拿到 JSON,改四个色种就是你的新皮肤,再导入回来即可。

皮肤是怎么实现的

一套皮肤 = 一份 JSON(四个色种 + 外观 + 边框风格)。构建期从色种保对比度推导出完整色阶(OKLab 空间计算,保持与原生色板每级的对比关系),21 套 × 8 项对比度契约不达标直接构建失败;所有规则收口在 body[data-dsh-skin] 属性下,切回「默认」即刻还原、零残留;背景层固定视口,开会话、滚长对话、开合侧栏都不动。

想加皮肤:往 src/styles/skins/themes/ 扔一份 JSON,跑 npm run build:skins && npm run build

插件架构三件事:

  1. 宿主半(Node):注册皮肤 CSS / 背景图 / 选择读写 / 更新检查四组路由,并在 index HTML 里内联首屏配色(tapIndex,先于任何 JS)。
  2. 浏览器半:__ModuleLoader__ 包裹的 CJS bundle,经官方浏览器名册(/plugins/<id>/client.js)加载;负责设置行(settings.general.item 插槽)、DOM 盖章、标题栏 DOM 岛与跨标签广播。
  3. 持久化:自有文件 ~/.dsh/skins/selection.json(宿主的浏览器 settings RPC 目前对第三方命名空间白名单关闭,插件自带状态通道)。

版本与更新检查

设置面板底部显示「皮肤系统 vX.Y.Z · DSH <宿主版本>」,「检查更新」由 Host 侧代理请求 GitHub Releases(浏览器不直连第三方);发现新版时按钮变为「复制更新指令」,粘出来就是一条 dsh plugin --profile web update dsh-skin-center

从源码构建

npm install       # esbuild 等构建依赖
npm run build     # → lib/(宿主半 ESM + 浏览器半包裹 bundle + 拍平的 skins.css)
npm run build:skins  # 改了 themes/*.json 后重新生成

本地试装:dsh plugin --profile web add file:$(pwd)

致谢与许可