Kojima Productions Ludens for DSH
KOJIMA PRODUCTIONS · LUDENS TERMINAL
DeepSeek Harness Web GUI 的非官方主题皮肤。以 KOJIMA PRODUCTIONS 的黑白工业气质为骨架,
叠加死亡搁浅式琥珀全息终端:焦油黑画布、发丝级细线、等宽全大写读数、Odradek 扫描环、
chiral 连线,以及右侧巨大的 KJP 骷髅。
dark preview
light preview
对话态与设置面板:
active preview
settings preview
当前是 0.2.2。四张源图已经接入(KJP 壁纸、KJP 标志、Drawbridge 标志、chiral 四臂图形),
暗色/亮色、空态/对话态、设置面板和启动失败页都有对应处理。已在真实 DSH 中验证暗/亮/对话态、
资源路由与皮肤切换;对话页顶部模块会贴住「对话 / 轨迹」行下沿,新会话的三个下拉控件联动高亮。
GitHub: https://github.com/HeptagonPan/Kojima-Productions-Ludens-for-DSH
1. 设计参考
这一版刻意靠近《死亡搁浅》的终端 UI,而不是普通深色皮肤:
- 焦油黑作为媒介,光作为信号:不铺渐变、不做柔光,界面只从黑暗里浮出来;
- 单一琥珀色:主信号色
#e7b75f,骨白作为正文;信号橙降级为备用 hot token,不参与主界面。
- 发丝线 + 等宽全大写:所有读数、标签、HUD 都是 1px 线和 8–10px 的 mono 字;
- 大留白:右侧 KJP 骷髅是唯一的“大图”,左侧刻意空出来给正文;
- Odradek 扫描环:刻度环、虚线环、十字准星和
ODRADEK / SCAN 标签叠在骷髅上;
- 连接线:58% 高度一条极细的琥珀线,四个菱形节点代表 chiral 连接。
参考阅读:Death Stranding design style guide、
Odradek。
2. 四张源图去了哪里
源图由项目所有者提供(本地 source_kjp/ 文件夹),没有直接塞进包,而是做了去底、反相、裁切和压暗:
| 源图 | 处理 | 用途 |
|---|
wp7024725-kojima-wallpapers.jpg | 3200×1800 WebP,保留右侧 KJP 骷髅 | hero-dark.webp |
| 同上 | 灰度反相 + 骨白/近黑映射 | hero-light.webp |
04510fd3c2eea643f22fa5eab70c528f.png | α 蒙版重建,拆出骷髅与字标 | 标题栏徽记、favicon、ICO、侧栏幽灵字标 |
IMG_2046.WEBP(DRAWBRIDGE) | 去白边、亮度转 α | 设置面板顶部水印、启动失败页 |
IMG_5878.JPG(四臂图形) | 白底转透明、裁切 | stage 左侧 chiral 水印 |
完整的文件表、尺寸和替换方式见 assets/runtime/README.md。
3. 目录结构
Kojima-Productions-Ludens-for-DSH/
├── package.json # DSH 插件包信息(main / dsh.client / dsh.bundle)
├── skin.json # 皮肤目录元数据(名称、预览、色值、接线 id)
├── cordis.patch.yml # 把 ui-skin-kojima-productions 插入 Web 插件表
├── lib/
│ ├── index.js # 服务端:同源静态资源路由
│ └── client.js # 客户端:生命周期、背景层、状态投影
├── assets/
│ ├── runtime/
│ │ ├── skin.css # 主题样式(tokens 在最上面)
│ │ ├── hero-dark.webp # 暗色主背景
│ │ ├── hero-light.webp # 亮色主背景
│ │ ├── kjp-*.png # KJP 标志 / 骷髅 / 幽灵水印
│ │ ├── drawbridge-*.png # Drawbridge 水印
│ │ ├── chiral-glyph-*.png
│ │ ├── favicon.png
│ │ └── README.md # 素材槽位与替换规则
│ └── icons/
│ ├── kojima-productions.ico
│ └── icon-256.png
├── preview/
│ ├── dark.png
│ ├── light.png
│ └── theme-lab.html # 独立视觉试验页,不依赖 DSH 启动
├── locale/
├── docs/ARCHITECTURE.md # 宿主契约、状态投影、扩展点
├── scripts/
│ ├── smoke.mjs # 资源路由冒烟测试
│ └── runtime-smoke.html # 真实浏览器里的客户端挂载/卸载测试
├── LICENSE # 代码 MIT
├── NOTICE # 商标、素材与非官方声明
└── README.md
4. 这一版做了什么
- 接入 KJP 壁纸:暗色保留黑白骷髅,亮色用反相骨白版本;
- 标题栏换成真实 KJP 骷髅徽记,侧栏底部放 10% 的 KJP 全家徽幽灵水印;
- 新增 Odradek 扫描环(刻度、虚线环、十字、标签),叠在右侧骷髅上;
- 新增 chiral 连接线、菱形节点、四角取景框和四组终端 HUD;
- HUD 改成
KJP // ODRADEK TERMINAL、CHIRAL NETWORK / LINK 87%、BB POD、TIME RAIN 读数;
- 设置面板顶部叠 Drawbridge 水印;启动失败页用 Drawbridge 标志;
- 全站从信号橙切换到死亡搁浅琥珀;把原信号橙降级为备用 hot token;
- 暗色/亮色、空态/对话态、运行中、设置/模态状态钩子全部保留;
- 输入器、用户气泡、代码块、菜单、设置、滚动条继续沿用直角 + 发丝线语言。
5. 安装到 DSH
先在终端确认 dsh 命令可用。如果不在 PATH,可使用应用内的 CLI:
/Applications/DeepSeek\ Harness.app/Contents/Resources/runtime/cli/bin/dsh --version
从 GitHub 克隆后安装:
git clone https://github.com/HeptagonPan/Kojima-Productions-Ludens-for-DSH.git
dsh plugin --profile desktop add ./Kojima-Productions-Ludens-for-DSH
如果已经有一份本地目录,也可以直接指定路径:
dsh plugin --profile desktop add /path/to/Kojima-Productions-Ludens-for-DSH
然后重启一次 DeepSeek Harness,在 设置 → 皮肤 里切到「小岛制作 · LUDENS 终端」。
如果旧皮肤还在生效,客户端会检测到 data-dsh-maid-atelier 或 data-dsh-orca-link
并保持休眠,不会把两套主题叠在一起。
卸载:
dsh plugin --profile desktop remove dsh-client-ui-skin-kojima-productions
不装 DSH 也能看视觉试验页:
open preview/theme-lab.html
# ?theme=light 亮色
# ?phase=active 对话态
6. 怎么改
改颜色 / 字体
打开 assets/runtime/skin.css,最上面的 01. Tokens — dark 和
02. Tokens — light 是全部设计变量:
--kjp-signal: #e7b75f; /* 琥珀信号 */
--kjp-hot: #ff5a1f; /* 极少数高优先状态 */
--kjp-canvas: #050505; /* 焦油黑 */
--kjp-fg: #ece9e2; /* 骨白 */
--kjp-font-display: "DIN Condensed", ...;
--kjp-font-mono: "SF Mono", ...;
换背景
把新图放进 assets/runtime/,改 --kjp-hero-art 的两行 URL;如果文件名不变,连 CSS
都不用动。背景构图按“右侧主体、左侧负空间”设计。
改状态反应
客户端把宿主状态投影到 body:
| 属性 | 触发条件 | 用途 |
|---|
data-kjp-theme="dark|light" | 宿主 data-ds-dark-theme | 切换整套 tokens |
data-kjp-phase="hero|active|idle" | 空态 / 有对话 | 控制 hero 大字、背景明度 |
data-kjp-settings | 设置面板打开 | 压暗背景、显示面板水印 |
data-kjp-modal | 任意模态框打开 | 压暗背景 |
data-kjp-running | 助手正在运行 | 顶部琥珀扫描线、状态灯 |
data-kjp-sidebar-compact | 侧栏宽度 ≤ 120px | 紧凑布局钩子 |
另有 --kjp-sidebar-width / --kjp-titlebar-height 两个 CSS 变量。
7. 验证
cd Kojima-Productions-Ludens-for-DSH
node --check lib/index.js
node --check lib/client.js
node scripts/smoke.mjs
node scripts/check-manifest.mjs
smoke.mjs 会假造 Cordis 上下文,验证 200 / 304 / 405 / 路径穿越 404;
check-manifest.mjs 会核对 skin.json 的 package/wiring/preview/icon,并扫描 CSS 与客户端里
所有素材引用,防止换图后漏文件。
scripts/runtime-smoke.html 在真实浏览器里执行 lib/client.js,检查挂载与卸载是否干净:
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
--headless=new --no-sandbox --disable-gpu \
--user-data-dir=/tmp/kjp-runtime \
--dump-dom "file://$PWD/scripts/runtime-smoke.html" | grep 'PASS\|FAIL'
当前结果:路由测试全通过;客户端运行时 20/20 PASS;预览图由实际 skin.css 渲染。
8. 0.2.2 修复记录
- 对话页顶部模块不再被遮挡:有「对话 / 轨迹」行时,
奥卓德克模块 和
开罗尔链接模块 自动下移到标签行下方的左右留白区,仍保持贴边,不压正文。
- 新会话三个控件的联动高亮:
默认工作区、标准模式、工作区内修改 是三个独立
控件,不是单选组,所以三个都能点;现在悬停、聚焦或展开其中任意一个时,三个都会
亮起琥珀描边,形成一组终端控件。模型选择器不参与这组高亮。
- 本地开发时用
link: 安装,改文件后刷新界面即可,不需要重新安装。
9. 已知限制 / 下一步
10. 许可与声明
代码采用 MIT。KOJIMA PRODUCTIONS、LUDENS 及相关标识归 Kojima Productions Co., Ltd.
所有;DEATH STRANDING、DRAWBRIDGE 相关标识归其各自权利人所有。本项目是非官方、
非商业的粉丝主题,与官方无关联。图片是项目所有者提供的同人素材派生处理,版权归原权利人,
见 NOTICE。