前言¶
DeepSeek Harness(DSH)的 Web 界面默认走通用主题 token,长时间对着同一套配色和布局,对习惯在终端或 IDE 里「换肤」的开发者来说缺少一点氛围感。社区里「趣味换装」类插件的作用,就是在不改动 Harness 核心逻辑的前提下,把配色、装饰层和可选背景接到现有 theme / slots 体系上。下面介绍维护者 lh15626127422-cloud 发布的 dsh-cp2077-theme(包名 @local/cp2077-theme,当前版本 2.0.2,MIT):面向 DSH 0.2.x Web GUI 的赛博朋克 2077 风格主题,夜之城配色、HUD 切角、CRT 扫描线与可选 Wallpaper Engine 壁纸均可从设置面板调节。
这是什么¶
dsh-cp2077-theme 是挂在 DSH Web profile 上的本地主题插件,通过 Cordis patch 注入客户端主题服务(@deepseek-ai/dsh-client-ui-theme),覆盖 130+ 主题 token,并叠加切角面板、网格、扫描线、自定义光标等装饰。它不替代 Harness 的对话与工具能力,只改变 Web 端的视觉与壁纸背景;未安装 Wallpaper Engine 或 ffmpeg 时,主题本体仍可用,仅壁纸相关能力受限。
- 目录页:SkillHub 插件页
- 源码与说明:GitHub — lh15626127422-cloud/dsh-cp2077-theme
- 分类:趣味换装(社区目录条目,与 DeepSeek / 幻方无官方从属关系)
核心功能¶
资料中明确列出的能力如下,可按需在面板里开关或调强度。
夜之城配色与双主题
黑紫底搭配 2077 黄 #FCEE0A、霓虹青 #00E5FF 与品红,暗色与浅色各一套 token。输入框、代码块、气泡、发送按钮统一切角;四角青色角标、全高渐隐网格、CRT 扫描线、低频扫描光束可在 设置 → 赛博朋克主题 中关闭或调节。
赛博朋克光标
箭头、指针、文本插入符三套 SVG,尺寸可调;浅色背景下带深色描边以保证可见。
Logo 动效
鲸鱼呼吸辉光,以及 wordmark 的像素级撕裂(SVG feTurbulence + feDisplacementMap,非整块平移)。
Wallpaper Engine 壁纸背景
自动识别 Steam 创意工坊库(App ID 431960 对应目录);可将壁纸铺成整窗背景。视频类壁纸在具备 ffmpeg 时可抽帧并生成动态 WebP 循环;面板提供透明度、缓存上限与清理。无 ffmpeg 时视频壁纸退回封面,相关开关会置灰并提示。
生命周期与测试
README 说明装饰与动画带生命周期守卫,卸载后不复活;仓库含 test/harness-test.mjs(19 项)与 test/wallpaper-route.mjs(17 项),覆盖异常输入、销毁顺序与路由。
安装与启用¶
前置条件:已安装 DeepSeek Harness Web GUI(0.2.x)。本项目 零 npm 依赖,安装前建议在 GitHub 阅读源码与 MIT 许可证;插件随当前 DSH 进程权限运行,与任何社区插件一样,装前自行评估信任边界。
官方 README 给出的流程是:把仓库放到本地目录,用安装脚本软链进 profile,再在 package.json 里声明 link 依赖。
git clone https://github.com/lh15626127422-cloud/dsh-cp2077-theme.git ~/dsh-plugins/cp2077-theme
cd ~/dsh-plugins/cp2077-theme
node scripts/install.mjs # 链接进 ~/.dsh/profiles/web
install.mjs 会把整个目录软链到 ~/.dsh/profiles/web/node_modules/@local/cp2077-theme,并提示在 profile 的 package.json 中写入:
{
"dependencies": {
"@local/cp2077-theme": "link:<克隆下来的绝对路径>"
}
}
完成后 重启 DeepSeek Harness,刷新页面;打开 设置 → 赛博朋克主题 即可调参。若你已有目录副本,也可按更新日志中的方式手动 ln -s 到 @local/cp2077-theme 并同样添加 link: 依赖行,再重启并刷新。
典型用法¶
1、面板内调节(默认路径)
除壁纸库路径外,光标大小、网格/扫描线强度、切角尺寸、动画总闸、壁纸选择与缓存均在 设置 → 赛博朋克主题 即时生效并记忆。
2、手动指定 Wallpaper Engine 创意工坊根目录
自动探测顺序为:插件配置 workshopRoot → 环境变量 CP2077_WORKSHOP_ROOT → Steam 库枚举(Windows 读 HKCU\Software\Valve\Steam 与 libraryfolders.vdf;macOS / Linux 走惯例路径)。探测不到时在 cordis.patch.yml 中写入,例如:
- insert:
- id: cp2077-theme
name: '@local/cp2077-theme'
config:
workshopRoot: 'D:/Steam/steamapps/workshop/content/431960'
3、用环境变量覆盖
export CP2077_WORKSHOP_ROOT='/path/to/steamapps/workshop/content/431960'
4、卸载
从 profile package.json 删除 @local/cp2077-theme 依赖、移除 node_modules/@local/cp2077-theme 软链,重启 DSH 并刷新;配色、装饰、光标与壁纸恢复默认。也可先通过 Harness 插件管理停用:plugin_manager({ action: "set_plugin", target: "<entry id>", enabled: false }),其中 <entry id> 形如 include:cp2077-theme(以 list_plugins 输出为准)。
适用场景与注意¶
适合谁
希望在 DSH Web 端长期使用时保持赛博朋克 2077 视觉一致性、并可选把 Wallpaper Engine 壁纸当作窗体背景的开发者;分类上属于「趣味换装」,不改变 Agent 行为。
依赖与限制(资料原文)
| 项 | 说明 |
|---|---|
| ffmpeg | 可选;仅影响视频壁纸抽帧与动态 WebP。缺失时显示封面,面板提示。 |
| Wallpaper Engine | 可选;无创意工坊目录时壁纸功能为空,面板提示「未检测到 Wallpaper Engine 创意工坊目录」。 |
| DSH 版本 | 面向 0.2.x;样式依赖 DSH 内部类名后缀与 data-* 属性,大版本改版后个别选择器可能失效,表现为局部样式未打上,不报错也不影响核心使用。 |
2.0.x 近期修复(便于判断是否已更新)
- 2.0.2:输入框切角由卡片本体
clip-path改为::before承载,避免停止按钮提示卡被右缘裁切。 - 2.0.1:移除主按钮 hover 的
clip-path撕裂动画,避免流式输出重渲染导致停止按钮闪动;Logo wordmark 的 SVG 滤镜动效未改。
结尾¶
dsh-cp2077-theme 把 Night City 配色、HUD 切角、CRT 层与可选 Steam 创意工坊壁纸收进一个可即时调节的主题插件,安装路径是 profile 软链 + @local/cp2077-theme link 依赖,适合在 DSH 0.2.x Web GUI 上做长期视觉换装。详情与截图见 GitHub README,社区索引见 SkillHub 目录页。