DeepSeek Harness 的理念是「一切皆插件」。如果你安装了多个主题皮肤,每次启动手动切换会消耗时间。dsh-skin-rotation 插件解决了这个问题,它提供了一套完整的皮肤轮换策略,并保证配置写入的安全性。
核心功能¶
该插件提供以下能力:
- 多种轮换策略:支持随机、顺序、权重和固定四种模式。
- 皮肤池管理:可以为每个皮肤设定状态(兼容、排除、不兼容、不可用)。
- 历史记录:记录轮换的时间戳、触发方式和结果。
- 故障安全写入:使用日志和临时文件机制,防止写入中断导致配置损坏。
- 版本化状态迁移:升级时自动迁移配置,避免偏好设置丢失。
- 本地优先:无需额外 API,完全在本地运行,可恢复。
安装与启用¶
在 DeepSeek Harness 环境中安装此插件。
1. 安装命令
dsh plugin --profile web add github:luoyuejun9/dsh-skin-rotation
2. 环境要求
- DeepSeek Harness 版本需
>=0.2.0-rc.2。 - 至少安装两个皮肤才有轮换的意义。
3. 启用
安装后重启 DSH。打开 Settings(设置) -> Skins(皮肤),在页面底部即可看到该插件的控制卡片。
如果使用桌面端应用,请将命令改为
dsh plugin --profile desktop add github:luoyuejun9/dsh-skin-rotation。
使用方法¶
在 Settings -> Skins 页面底部的皮肤轮换卡片中进行操作:
1. 启用自动轮换
点击 “Rotate on launch”(启动时轮换) 开关。关闭后,启动时将保持当前皮肤不变,但依然可以手动触发轮换。
2. 选择轮换模式
在模式下拉框中选择一种策略:
* random:每次随机选择,可选择避免最近使用的皮肤。
* sequential:按顺序轮换,重启后从上次的位置继续。
* weighted:根据权重概率选择,权重越高被选中的概率越大。
* fixed:固定使用某一张皮肤,不进行自动切换。
3. 手动操作
- Shuffle now:立即切换到新的皮肤。
- Restore previous:恢复到上次成功轮换的皮肤。
- Avoid recent:在随机模式下,跳过最近 2-3 次成功轮换的皮肤。
- 调整权重:在
weighted模式下,可以通过输入数字调整每个皮肤的权重(0 表示移出轮换池)。
4. 排除皮肤
通过复选框管理皮肤池。取消勾选会将皮肤设为“排除”状态(不参与轮换),但这不会卸载皮肤文件。对于标记为“不兼容”的皮肤,一旦被排除,无法通过插件重新启用。
工作原理¶
- 主机决策:轮换逻辑在 DSH 进程启动时执行一次。热重载插件不会触发轮换,只有完全重启才会重新计算。
- 编辑补丁层:插件不修改皮肤文件本身,而是重写配置文件中
# --- dsh-skin managed ---代码块的内容。它同时修改profile下的cordis.patch.yml和DSH_HOME下的cordis.patch.yml(后者优先级更高)。 - 兼容性校验:插件会检查皮肤是否满足
@deepseek-ai/dsh*版本范围以及compatibility.json的要求,确保不会加载导致崩溃的皮肤。
注意事项¶
- HTTP 限制:插件提供的 HTTP 接口(
/api/dsh/skin-rotation)仅限于同源请求。 - 不兼容处理:被标记为不兼容且已排除的皮肤,无法在插件中重新启用,除非手动编辑配置文件。
- 仅编辑补丁:插件仅修改补丁层,不会触碰
skin.json文件或皮肤管理器自身的状态文件。