dsh-skin-rotation

DSH PLUGINUI 与外观

仓库 luoyuejun9/dsh-skin-rotation · npm dsh-skin-rotation

UI 与外观 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

为 DeepSeek Harness 提供皮肤随机轮换:每次启动随机换用一款已安装皮肤,并在设置→皮肤页内提供开关与立即换肤按钮。

一句话选型结论

按资料字段整理

dsh-skin-rotation 是UI 与外观类的 DSH 可安装插件,验证等级 L5 · 运行验证通过,安全审查为低风险,列出 5 项功能,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类UI 与外观 收录类型可安装插件 验证等级L5 · 运行验证通过 安全审查低风险
验证等级 L5 L5 · 运行验证通过
GitHub 星标 1 复刻 0 · 未关闭 issue 0
最近更新 2026-10-11 创建于 2026-10-06
README 11.0 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add dsh-skin-rotation@1.0.2
  1. 1
    确认版本与运行环境

    兼容的 DSH 版本为 0.2.0-rc.2;版本不匹配时安装会报错。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本0.2.0-rc.2版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名dsh-skin-rotation可用 npm view 查看包信息

能做什么

5 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-skin-rotation:为 DeepSeek Harness 每次启动随机换一款皮肤

  • 每次启动随机换肤
  • 设置页内置开关
  • 绝不连续重复同一皮肤
  • 自动排除不可用皮肤
  • 支持立即换肤与刷新

适用场景

皮肤主题

上游标签

cordiscordis-plugindeepseek-harnessdshdsh-bundledsh-pluginpluginskinskin-rotationtheme

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

上面的结论来自上游最近一次自动化验证(2026-10-08): 同一套检查会在插件发新版后重跑,页面显示的是最新一次的逐项结果。

逐项检查结果

L1 · 已找到 ✓ 通过
  • L1.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L2 · 结构化 ✓ 通过
  • L2.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L3 · 安装规范 ✓ 通过
  • L3.1_INSTALL_COMMAND_PARSED 安装命令已解析 方式:安装规范解析
  • L3.2_DSH_VERSION_DECLARED DSH 版本已声明 方式:DSH 版本声明
L4 · 安装已测 ✓ 通过
  • L4.1_INSTALL_EXECUTED_CONFINED 受限沙盒内执行安装 方式:沙盒安装执行
  • L4.2_INSTALL_SUCCESS 沙盒安装成功 方式:沙盒安装执行
  • L4.3_ARTIFACT_CONFIRMED 安装产物已确认 方式:沙盒安装执行
L5 · 运行已测 ✓ 通过
  • L5.1_INSTALL_PASSED_SANDBOXED 沙盒安装通过 方式:沙盒安装执行
  • L5.2_WEB_BOOT_READY Web 启动就绪 方式:Web 启动
  • L5.3_HTTP_SERVED HTTP 服务响应 方式:HTTP 请求
  • L5.4_PLUGIN_INVENTORY_ACTIVE 插件清单中已激活 方式:插件清单查询

风险详情

  • 审查结论 通过
  • 结论说明 vet 静态分析未发现可疑行为,判定为干净(clean)。
  • 风险计数 严重 0 / 高 0 / 中 0
  • 风险详情 未发现严重或警告级问题。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 验证等级 L5:安装和运行都在沙盒里跑通过,装完能直接用的概率高。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。
  • 标注了兼容的 DSH 版本(0.2.0-rc.2),按版本装不容易报错。
  • 列出了 5 项功能,能直接看出它解决什么问题。

先想清楚的地方

  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在UI 与外观场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-skin-rotation当前 L5 · 运行验证通过 低风险 1 0.2.0-rc.2 有
nuwa-skill 未做沙盒验证 未标注 3.8 万 未标注 有
awesome-dsh-plugin L4 · 沙盒安装通过 低风险 1.8 万 0.1.1-rc.2 有
deepseek-balance-whale-widget L4 · 沙盒安装通过 低风险 4,492 0.1.7-rc.2 等 2 个 有
dsh-better-sidebar L4 · 沙盒安装通过 低风险 4,112 0.1.7-rc.2 等 10 个 有
dsh-deep-whale L4 · 沙盒安装通过 低风险 2,470 未标注 有

仓库档案

UI 与外观
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方luoyuejun9仓库 dsh-skin-rotation · 默认分支 main
分类UI 与外观skin
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言JavaScript仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue1 / 0 / 0收录时的数值,非实时
创建 / 更新2026-10-06 · 2026-10-11最后推送 2026-10-11
本站收录2026-10-07首次进入本站目录的时间

README 全文

11.0 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-skin-rotation
DeepSeek Harness 智能皮肤轮换 —— 随机 / 顺序 / 加权 / 固定四种策略,可筛选候选池、可查轮换历史、配置写入崩溃安全。纯本地运行,不需要额外 AI API。

English | 中文


它做什么

你装了四个皮肤,四个都喜欢,但每次只用其中一个。

dsh-skin-rotation 会在每次启动 DeepSeek Harness 时按你选的轮换策略启用一个皮肤,控制项都在「设置 → 皮肤」页里:

策略 行为
random 随机 每次启动换一个,可选避开最近 2 / 3 次用过的
sequential 顺序 按你的顺序依次轮换,重启后从正确位置继续
weighted 加权 按权重比例抽取(权重不必凑成 100)
fixed 固定 始终使用指定皮肤,不做自动切换

它同时是可解释、可恢复的:哪些皮肤在候选池里、其余为什么被排除、什么时候换过什么、上一次成功的皮肤是哪一只(一键恢复)。

第 1 次启动 → 深海女仆工坊      第 2 次启动 → 虎鲸链路      第 3 次启动 → 鲸鱼娘昼夜工坊

不只是"随便抽一个"

  • 真正的候选池:每个已安装皮肤都会被标为 compatible(参与)/ excluded(你排除的)/ incompatible(宿主不兼容)/ unavailable(读不到)。排除 ≠ 卸载,插件绝不碰你已安装的文件。
  • 只抽宿主真能加载的皮肤:DSH 会拒绝 @deepseek-ai/dsh* peer 范围不含当前运行时的插件行(补丁写着启用、但行根本不启动),naive 的随机可能抽到"死皮肤"导致一个皮肤都没有。本插件复刻了这道准入判定,并读取 profile 的 compatibility.json 放行记录。
  • 可读的轮换历史:时间、从哪只到哪只、触发原因(startup / manual / restore)、策略、结果。失败会如实记为失败,且不会进入"最近使用"集合。
  • 恢复上一皮肤:一键回到最近一次成功、且当前仍在候选池里的皮肤。
  • 崩溃安全的配置写入:轮换要改两层补丁文件,事务日志保证被中断的写入在下次启动时要么补完、要么回滚;对于"变了但不是它改的"文件,它拒绝覆盖并给出诊断。
  • 带版本的状态文件:schemaVersion + 向前迁移,升级不丢偏好。

安装

从 GitHub 一行装:

dsh plugin --profile web add github:luoyuejun9/dsh-skin-rotation

从 npm 装:

dsh plugin --profile web add dsh-skin-rotation

或者用 最新 Release 上的预构建 tarball——不需要构建,也不会触发 allowBuilds 授权:

dsh plugin --profile web add https://github.com/luoyuejun9/dsh-skin-rotation/releases/latest/download/dsh-skin-rotation.tgz

重启一次,然后打开「设置 → 皮肤」,轮换卡片就在这个页面底部。

> 装进桌面端而不是 web profile?把 --profile web 换成 --profile desktop 即可,两边都能用。

设置卡片

设置 → 皮肤
├── 已安装皮肤                 ← 皮肤管理器自己的页面
└── 🎲 皮肤轮换                ← 本插件
├── [开关] 启动时自动轮换     轮换模式:[随机 ▾]   近期不重复:[避开最近 2 个 ▾]
├── 当前皮肤:虎鲸链路 · 候选池 2 个
├── ☑ 虎鲸链路        · 权重 [3]
├── ☐ 深海女仆工坊    (已排除)
├── ☐ 不兼容皮肤      (不兼容,已排除)
├── [立即换一个] [恢复上一皮肤] [重新读取]
├── 最近轮换
│     2026-10-11 21:04 · 启动 · 官方默认 → 虎鲸链路 · 成功
└── ▸ 高级设置   (权重说明、恢复默认配置)
控件 作用
启动时自动轮换 关闭后启动不改动皮肤;「立即换一个」仍然可用。
轮换模式 random / sequential / weighted / fixed。fixed 下你指定皮肤,不再自动切换。
近期不重复 优先避开最近 2 / 3 次成功轮换用过的皮肤。这只是偏好、不是阻塞:当候选池里全是"最近用过"的,它照样会选一个并如实说明。
皮肤勾选框 是否参与轮换。取消勾选 = 排除,不是卸载;不兼容的皮肤不可被勾选。
权重 仅 weighted 模式显示;填 0 表示不参与抽取,留空表示默认权重 1。
恢复上一皮肤 回到最近一次成功且仍在候选池中的皮肤,并在历史里记为一次 restore。

在皮肤管理器里手动切换皮肤依然有效——直到下次启动,这正是这个插件的意义。

工作原理

flowchart LR
A[宿主启动] --> B{轮换开启?}
B -- 否 --> Z[保持当前皮肤]
B -- 是 --> C[发现已安装皮肤]
C --> D[排除宿主会拒绝的皮肤]
D --> E[随机抽一个,且不与上次相同]
E --> F[改写 profile patch + home patch 里的dsh-skin managed 区段]
F --> G[DSH 的 HMR 监听器重新组合插件树]
G --> H[页面打开时已经是抽中的皮肤]
  • 轮换是宿主侧的决定,一次启动只做一次。 进程级 boot key 保证插件被热重载时不会重复抽签,真正重启才会重抽;浏览器刷新不会重掷骰子。
  • 它改的是补丁层,不是皮肤。 插件改写的是皮肤管理器自己也在用的那段 # --- dsh-skin managed --- 互斥区段,profile patch 与优先级更高的 home patch 一起改。区段之外的一切——手写行、注释、DSH 自己追加的设置行——原样保留,写入走临时文件 + rename 的原子替换。
  • 只抽宿主真能加载的皮肤。 DSH 会拒绝那些 @deepseek-ai/dsh* peer 范围不含当前运行时的插件行:补丁里写着 disabled: false,行却根本不会启动,结果是一个皮肤都没有。本插件用自己的语义化版本求值器复刻了这道准入判定,并读取 profile 的 compatibility.json 放行记录,因此随机结果不会落到死皮肤上。
  • 浏览器半区只有一张卡片。 它监听 DOM,往皮肤管理器页面根节点追加一个容器,把卡片渲染进去;不注册自己的设置页、不留全局状态,卸载时清掉自己创建的 observer、定时器和样式。
  • 不碰皮肤文件、skin.json,也不接管管理器自己的状态。

写入的文件

路径 内容
/cordis.patch.yml 共用 dsh-skin managed 互斥区段
/cordis.patch.yml 同一区段——优先级更高,必须一起改
/.dsh-skin-rotation.json 本插件自己的偏好:开关、上次抽中的皮肤、启动标识、客户端回报

HTTP 接口:GET/POST /api/dsh/skin-rotation,仅同源,跨站请求直接拒绝。

环境要求

  • DeepSeek Harness web profile,>=0.2.0-rc.2 <0.3.0-0(声明在 engines.dsh)。
  • 至少装两个皮肤轮换才有意义。皮肤的判定沿用生态约定:包内带合法 skin.json(id、package、bodyAttr、wiring.id)。
  • 卡片挂在皮肤管理器的皮肤页(settings.section id dsh-skins)里;没有管理器时轮换依然工作,只是改用路由开关。
  • 不依赖任何 @deepseek-ai/* 运行时包:无需解析、无需构建、安装时不执行任何脚本。
  • Windows 与 POSIX 都适用:写入用临时文件 + rename,恢复日志是纯 JSON。
  • 已被 dsh.so 独立收录:安全审计通过(低风险),安装验证 L5(已在 dsh 0.2.0-rc.2 上实机跑通)。

开发

node --test                       # 29 个用例
npm pack --pack-destination dist  # 打包发布用的 tarball
测试 覆盖内容
test/host.test.mjs 区段改写(含区段外记录保留)、真实 profile 的发现、随机规则、启动一次性、双层写入与回滚、路由防护
test/client-card.test.mjs 整棵卡片渲染树,通过桩模块加载器 + 桩 React 驱动,不需要浏览器
test/semver-oracle.test.mjs 与真实 node-semver 的差分验证,覆盖生成的组合矩阵(本机没装时自动跳过)
tools/e2e-rotation.sh 在独立 DSH_HOME 下真实启动宿主多次,断言抽中的皮肤就是浏览器实际拿到的那个

端到端脚本是里面最有意思的一个:它不验证插件「自认为」做了什么,而是去取浏览器实际收到的 boot graph,确认里面只有一个皮肤模块。

FAQ

会和皮肤管理器打架吗? 不会。两边用同一套规则写同一段区段;本插件只在启动时轮换,之后完全不插手。

浏览器刷新会重抽吗? 不会——每个宿主进程只抽一次,否则每次刷新都换皮肤。

只装了一个皮肤呢? 轮换等于不换,区段照样会被规范化。

能一直用我现在这个皮肤吗? 关掉开关即可,启动不再改动皮肤,手动切换也不受影响。

项目边界

本插件只管在你已安装的皮肤之间轮换:候选池、策略、历史记录与配置写入的可靠性。它刻意不做皮肤的安装、下载、卸载和预览,也不取代皮肤管理器或插件市场——那些已经有成熟项目,本插件与它们并存。

路线图

  • 轮换方案(Presets)已支持保存与一键切换;可视化的方案编辑器暂不在计划内。
  • 状态文件里保留了随机种子(seed)字段,用于可复现的运行;暂未在 UI 暴露。
  • 会话级主题(不同会话用不同皮肤)未实现:DSH 当前没有公开、稳定的会话级主题切换接口,因此它留在路线图里,而不是用不可靠的 DOM 手段假装做到。

License

MIT © luoyuejun9

常见问题

8 问
答案由本站依据条目字段整理,不引用上游原文
dsh-skin-rotation 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add dsh-skin-rotation@1.0.2` 即可。对应的 npm 包名是 `dsh-skin-rotation`。

dsh-skin-rotation 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-skin-rotation 安全吗?

低风险。vet 静态分析未发现可疑行为,判定为干净(clean)。

dsh-skin-rotation 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-skin-rotation 支持哪些 DSH 版本?

上游记录的兼容版本包括 0.2.0-rc.2。

dsh-skin-rotation 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

dsh-skin-rotation 有哪些功能?

每次启动随机换肤、设置页内置开关、绝不连续重复同一皮肤、自动排除不可用皮肤、支持立即换肤与刷新。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

UI 与外观
按星标排序,可作替代方案

nuwa-skill

nuwa-skill

女娲 DSH plugin 只需输入一个名字,就自动调研、提炼并验证任何人的心智模型、决策启发式与表达 DNA,生成可直接调用的思维视角 S

未标注验证等级 3.8 万 星

awesome-dsh-plugin

awesome-dsh-plugin

A curated list of plugins for DeepSeek Harness (dsh) · DeepSeek Harnes

L4 · 沙盒安装通过 1.8 万 星

deepseek-balance-whale-widget

DeepSeek-Balance-Whale-Widget

DSH 界面右下角的常驻小鲸鱼余额挂件,实时显示 DeepSeek 账户余额、今日已用与每轮对话消耗,支持拖拽吸附、Q 弹动画与音效,开箱即

L4 · 沙盒安装通过 4,492 星

dsh-better-sidebar

DSH-better-sidebar

面向 DeepSeek Harness 的服务化侧边栏工作台插件,把文件编辑、终端、Git 变更、子代理任务与侧边对话整合进右侧栏与底部面板

L4 · 沙盒安装通过 4,112 星

dsh-deep-whale

dsh-deep-whale

DSH Web 鲸鱼娘皮肤系列(深海女仆工坊 maid-atelier)。

L4 · 沙盒安装通过 2,470 星

deepseek-design

deepseek-design

可视化设计工作室,支持网站、App 原型、海报、信息卡、报告和杂志的模板创建、元素编辑、选区级 AI 草稿衔接与导出。

L4 · 沙盒安装通过 1,438 星

luoyuejun9 的其它插件

4 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 2026-10-08。