eva-inspired-theme
A Neon Genesis Evangelion-inspired skin for DeepSeek Harness: Title Card (light) and Central Dogma (dark) modes over one removable override layer, 55 measured color tokens, a wallpaper paint layer whose two surface alphas are solved against a WCAG contrast budget, a boot mask and a brand mark. It al
Install
dsh plugin --profile web add eva-inspired-theme
Sandbox test results
| Stage | Result |
|---|---|
| 1 install | ✓ |
| 2 list | ✓ |
| 3 mount | ✓ |
| 4 boot | — |
Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).
README
EVA-Inspired-Theme


[English](README.md) | 中文
一个受《新世纪福音战士》启发的 DeepSeek Harness 皮肤。两套完整设计的明暗模式叠在同一层可整体移除的覆盖层上;壁纸着色层的 alpha 是按对比度预算解出来的,不是凭眼睛挑的;另有启动遮罩。
本仓库不自带任何背景图:着色层在这里,画作不在。被 git 跟踪的壁纸清单改用 URL 点名两张第三方图片,于是 clone 出来的副本在绘制时由浏览器去这些托管方取图。git 里仅有的图片是品牌标记和本文的两张预览图——预览图拍的是正在绘制的应用,因此画面上自然带着那两张画作。主题观感其余部分不变——alpha、启动遮罩、品牌标记与字体全部来自本仓库。
非官方同人作品。 与 khara, inc.、DeepSeek 均无关联,亦未获其背书或授权。见[同人作品与署名](#同人作品与署名)。
预览
两张图都取自挂载了本包、正在运行的真实 DeepSeek Harness。两张都隐去了会话列表,其余未作修饰。
Title Card(亮)
Central Dogma(暗)
背景是主题的那两张第三方图,也就是 clone 出来、绘制时浏览器取到的图。亮档那张拍于亮档默认图迁到哲风壁纸页面之前(D83),画面上是同一张画更早、更低分辨率的流传版本;暗档那张就是清单现在仍点名的图。出处与署名见文末的[同人作品与署名](#同人作品与署名)。
它是什么
模式 · Title Card(亮)与 Central Dogma(暗)
令牌层 · 55 条实测覆盖(亮档 41 条、暗档 14 条),全部落在同一层可移除的覆盖层上
壁纸层 · 本仓库不分发画作本身,绘制时由浏览器去取。被跟踪的清单指向两张第三方图片(亮档在哲风壁纸、暗档在 wallhaven);维护者自己的机器则内嵌本地副本。表面 alpha 按 WCAG 对比度预算解出
启动遮罩 · 每次启动 DSH 播放一次——标记记在 sessionStorage,同一次运行内刷新不重播,完全退出再打开才重播;?boot=0 跳过本次,?boot=1 强制重播。时序与外观不变
品牌标记 · 一张单色 SVG 插画,画在品牌行 36×36 槽位里的 28×28
会话框控件行 · 模型与推理强度两个触发器不带展开箭头;窄屏下两者都变成 28×28 图标按钮,与加号、听写同尺寸同墨色,整行共用一条缝(宽屏 6px、窄屏 3px)
还包含 · 一个插件启停开关与一条会话行状态轨,两者都内联自同作者的 MIT 插件;每个工作区与会话行上的置顶按钮
语言 · 全部面向用户的文案走官方 locale 服务(zh / en)
主题只装一层,也能被当成一层整体移除。它不自带设置面板——观感是固定的,不是偏好——唯一持久化的东西是工作区置顶集合。它确实隐藏并挪动了几个官方入口,所以安装前请先读[界面改了什么](#界面改了什么)。
界面改了什么
把包装卸掉,这一层就整体消失,官方元素全部回来。在装着的时候,主题隐藏六处官方入口、改写侧栏身份行、替换一个页面的标题,并重排会话框的控件行。这些全是 CSS 加几段客户端效果——从不改写官方 DOM——但东西挪到哪儿了,得先说清楚。
品牌行是三段点击区
侧栏品牌行显示为 [插画] WHALE-01 [SYSTEM],官方的鲸鱼图标与 DeepSeek Harness 字标被隐藏。它仍是官方那一枚按钮,上面按点击时的 x 坐标分成三段:
点哪里 · 打开 · 为什么
WHALE-01 左边的插画 · 插件 · 「插件」/ “Plugins” 那一行被隐藏
WHALE-01 这段文字 · 新会话 · 官方行为,未改
WHALE-01 右边的 SYSTEM 小片 · 设置 · 「设置」那一行及其启动按钮被隐藏
这两段是去程序化点击那两个被藏起来的按钮,所以两边都还能打开。若你的组合里本就没有「插件」行,这一段的点击不被拦截,会照原样落到官方的新会话处理上,不会变成一个洞。键盘激活(焦点上的回车/空格)与任何按着修饰键的点击都保持原状。侧栏收成导轨后没有品牌按钮,也就没有点击区。
启用 DeepSeek 账号插件时,它会把一张账号卡放进设置槽,顶掉官方那枚设置按钮。主题把这张卡整枝移出布局——不留占位、不留残缝——SYSTEM 仍是这一行上唯一的设置入口。因为账号卡没了,这一下不再走合成的按键(在桌面壳里那是死点击),而是去问宿主的快捷键注册表打开设置,那才是桌面壳应答的门。
被隐藏的官方入口
入口 · 位置 · 回去的路
「应用」/「编辑」标题栏菜单 · 仅桌面外壳;浏览器里本来就没有 · 应用内没有别的路:关于 / 检查更新 / dsh 命令 / 退出应用一并没了。退出仍在托盘菜单上
第二枚「新会话」按钮 · 侧栏,品牌行下方 · WHALE-01,或 Ctrl+N —— 它本就是重复的那一枚
「插件」/ “Plugins” 导航行 · 侧栏 · 点插画;没有留下快捷键
「设置」行及其启动按钮 · 侧栏 · 点 SYSTEM,或 Ctrl+,
「收起侧栏」按钮 · 仅左侧栏;右侧栏那枚照常可见 · 收起这个命令本身没动
会话列表底部的渐隐 · 侧栏 · 它原本只把最后一行压暗
账号卡(仅在启用 DeepSeek 账号插件时) · 侧栏,设置槽里 · 整枝移除,原处不留空;SYSTEM 照旧打开设置
表里写到的快捷键都是桌面端的官方默认值——新会话 Ctrl+N、设置 Ctrl+,,本主题一处都没改。Web 构建把同样两条命令绑在 Ctrl+Alt+N 与 Ctrl+Alt+, 上。
侧栏里别的东西都不动:工作区与会话列表保留官方那块 flex: 1 滚动区,底部区域照旧显示第三方插件注册进 sidebar.footer.action 的任何东西(比如一张账单卡片),位置仍由宿主决定。
导航区顶到顶栏带下沿(仅桌面壳)
第一枚导航按钮与主区那行「对话/轨迹」标签齐平,不再是压在它下面;设置那一行也挪到导航下方,而不是停在它上面。这是侧栏里唯一一处肉眼可见的重排,且只作用于桌面壳——浏览器构建没有顶栏带可对齐,布局仍是宿主画的那样。
新会话页(hero)
只有这一个页面有三处变化:
- 标题被换成一句固定的德文,与注册的写法完全一致:
Wovon man nicht sprechen kann, darüber muss man schweigen;
- 「预览版」/ “Preview” 徽标没了;
- 标题上方的鲸鱼 logo 没了。
那句德文用 Great Vibes(SIL OFL 1.1,随包发布)排版,字号 min(44px, 5.3cqw),永不换行。两个代价明说:它是用生成内容注入的,所以页面内查找与屏幕阅读器都看不见它;它也不跟随界面语言——中文用户和英文用户读到的是同一句德文。
会话框的控件行
发送键上方那一行归宿主,主题只重排它的形状。
- 模型与推理强度两个触发器不带展开箭头。它们开没开,本来就已经写在触发器自己的高亮上,箭头只是把这件事又说了一遍。
- 权限触发器同样去掉箭头,并把箭头占着的那段右内边距补回来。它的字就是它的状态——档位变了字就变——所以去掉箭头不丢信息。
- 窄屏时两个触发器都变成 28×28 图标按钮:与旁边的加号、听写按钮同尺寸、同墨色。宽屏仍保留文字标签。
- 整行共用一条缝——有地方时 6px,没地方时 3px——四个控件读起来是一条带,而不是四组各自漂着的东西。
挂在那一行上的四个官方浮层——权限、会话统计、令牌用量、上下文水位——改为以各自触发器为中心,不再是左对齐着触发器。侧栏自己的「视图选项」菜单仍留在宿主放的位置。
主题额外加的东西
- 每个工作区与会话行上的置顶按钮(置顶工作区 / Pin workspace,跟随宿主语言)。置顶集合存在浏览器存储的
eva-theme/workspace-pins下;它产生的顺序是走宿主自己的 insert-before 接口写下去的,所以重启后仍在——而且与置顶集合不同,这个顺序在卸载主题之后也仍在。在工作区行上,它坐在这一行自己的动作组里,于是与旁边两枚官方按钮共享同一条 15px 的缝。 - 内联的非官方插件启停开关,在官方「插件」页的已安装分组标题上:勾选要停用、或要重新启用的非官方插件。它只切束的启用状态——不安装、也不卸载任何东西。
- 内联的会话状态轨:会话在等你(审批、提问、计划复核)时是蓝色呼吸;它是主区当前打开的那一个时是红色;它刚结束而你没看时是紫色。置顶的行不显示轨,改成彩虹色标题。
- 启动遮罩每次启动 DSH 播放一次(标记记在 sessionStorage:同一次运行内刷新不重播,完全退出 DSH 再打开才重播;
?boot=1强制重播、?boot=0跳过本次)。
设置本身仍是官方那个对话框。那里唯一的变化是对话框背后的压暗层被去掉;面板本身与「点外面关闭」都没动。
环境要求
- 带 web profile 的 DeepSeek Harness。
- Node.js >= 18 —— 只用于构建与检查工具。主题本身在浏览器里运行。
安装
从 npm 装——带版本号的 tarball,浏览器束已经构建好放在里面:
dsh plugin --profile <profile> add eva-inspired-theme
或直接从公开仓库装,跟的是默认分支:
dsh plugin --profile <profile> add github:WhatCannotBeSaid/eva-inspired-theme
从 Git URL 安装会跑包里那个 prepare 脚本,跑的正是这条构建,所以包被 link 之前束就已经生成好;npm 的 tarball 里 client.js 是现成的,不跑构建。
在本地 checkout 或它的 clone 里:
npm run build # 写出浏览器束 dsh plugin --profile <profile> add link:<path-to-this-checkout>
clone 之后先跑一次构建:client.js 是生成的,故意不跟踪(见[目录结构](#目录结构))。单纯 git clone 仍要构建一次:npm run build,或在 checkout 里跑任意一次 npm install(会触发 prepare)。clone 构建出的是被跟踪的形态:着色层指向 build/wallpapers.json 里点名的那两张图,由浏览器去取,所以背景需要联网,托管方会看到访问者的 IP。这是对外的预期形态。
包声明了 dsh.bundle.patch,因此 profile 会拿已安装的包去对齐束栈并挂载主题。若重启后主题没出现,把 eva-inspired-theme 追加到该 profile package.json 的 dsh.profile.bundles 里——仅仅作为依赖存在的包不会被挂载。
卸载
dsh plugin --profile <profile> remove eva-inspired-theme
如果你曾把它写进 dsh.profile.bundles,把那一条也删掉。
目录结构
index.js host 半 —— 挂载,不注册任何路由,也不出声 client.js 生成的浏览器束。不跟踪;自己构建。不要编辑。 src/client.js 客户端服务与 effect 编排 src/runtime/ glass、pins、im、panels 私有挂载模块 src/theme.css 令牌层 cordis.patch.yml 束补丁(bundle-patch)挂载声明 build/ 随包发布的资产 + 两个内联的客户端半 build/wallpapers.json 被跟踪的壁纸清单 —— 是画作 URL,不是图像字节 tools/ 构建、自检、令牌审计 docs/ 设计日志、侦察、审计、渲染报告、预览图 NOTICE 上游许可与第三方署名 LICENSE 本包的分层许可 LICENSE-CC-BY-NC-SA-4.0.txt 品 …(truncated)
Rendered from the README published on npm. Formatted only, not edited.
Versions
Published on npm::7,最后更新 2026-10-27