# EVA-Inspired-Theme [![Licence: MIT + CC BY-NC-SA 4.0](https://img.shields.io/badge/licence-MIT%20%2B%20CC--BY--NC--SA%204.0-yellow.svg)](#许可) [![Unofficial fan work](https://img.shields.io/badge/project-unofficial_fan_work-blue.svg)](#同人作品与署名) [English](README.md) | 中文 一个受《新世纪福音战士》启发的 **DeepSeek Harness** 皮肤。两套完整设计的明暗模式叠在同一层可整体移除的覆盖层上;壁纸着色层的 alpha 是按对比度预算解出来的,不是凭眼睛挑的;另有启动遮罩。 本仓库**不自带任何背景图**:着色层在这里,画作不在。被 git 跟踪的壁纸清单改用 URL 点名两张第三方图片,于是 clone 出来的副本在绘制时由浏览器去这些托管方取图。git 里仅有的图片是品牌标记和本文的两张预览图——预览图拍的是正在绘制的应用,因此画面上自然带着那两张画作。主题观感其余部分不变——alpha、启动遮罩、品牌标记与字体全部来自本仓库。 **非官方同人作品。** 与 khara, inc.、DeepSeek 均无关联,亦未获其背书或授权。见[同人作品与署名](#同人作品与署名)。 ## 预览 两张图都取自挂载了本包、正在运行的真实 DeepSeek Harness。两张都隐去了会话列表,其余未作修饰。 **Title Card(亮)** ![亮色模式的 Title Card](docs/preview-light.jpg) **Central Dogma(暗)** ![暗色模式的 Central Dogma](docs/preview-dark.jpg) 背景是主题的那两张第三方图,也就是 clone 出来、绘制时浏览器取到的图。亮档那张拍于亮档默认图迁到哲风壁纸页面之前(D83),画面上是同一张画更早、更低分辨率的流传版本;暗档那张就是清单现在仍点名的图。出处与署名见文末的[同人作品与署名](#同人作品与署名)。 ## 它是什么 | | | |---|---| | 模式 | **Title Card**(亮)与 **Central Dogma**(暗) | | 令牌层 | 55 条实测覆盖(亮档 41 条、暗档 14 条),全部落在同一层可移除的覆盖层上 | | 壁纸层 | 本仓库不分发画作本身,绘制时由浏览器去取。被跟踪的清单指向两张第三方图片(亮档在哲风壁纸、暗档在 wallhaven);维护者自己的机器则内嵌本地副本。表面 alpha 按 WCAG 对比度预算解出 | | 启动遮罩 | 每份构建播放一次——标记由产物哈希生成,换构建就重播;`?boot=0` 跳过本次,`?boot=1` 强制重播。时序与触发条件不变 | | 品牌标记 | 一张客户端插画,两种色调 | | 还包含 | 一个插件启停开关与一条会话行状态轨,两者都内联自同作者的 MIT 插件;每个工作区与会话行上的置顶按钮 | | 语言 | 全部面向用户的文案走官方 locale 服务(zh / en) | 主题只装一层,也能被当成一层整体移除。它**不自带设置面板**——观感是固定的,不是偏好——唯一持久化的东西是工作区置顶集合。它确实隐藏并挪动了几个官方入口,所以安装前请先读[界面改了什么](#界面改了什么)。 ## 界面改了什么 把包装卸掉,这一层就整体消失,官方元素全部回来。在装着的时候,主题**隐藏五处官方控件、改写侧栏身份行、替换一个页面的标题**。这些全是 CSS 加几段客户端效果——从不改写官方 DOM——但东西挪到哪儿了,得先说清楚。 ### 品牌行是三段点击区 侧栏品牌行显示为 **[插画] WHALE-01 [SYSTEM]**,官方的鲸鱼图标与 DeepSeek Harness 字标被隐藏。它仍是官方那一枚按钮,上面按点击时的 x 坐标分成三段: | 点哪里 | 打开 | 为什么 | |---|---|---| | `WHALE-01` 左边的插画 | **插件** | 「插件」/ “Plugins” 那一行被隐藏 | | `WHALE-01` 这段文字 | **新会话** | 官方行为,未改 | | `WHALE-01` 右边的 `SYSTEM` 小片 | **设置** | 「设置」那一行及其启动按钮被隐藏 | 这两段是去程序化点击那两个被藏起来的按钮,所以两边都还能打开。若你的组合里本就没有「插件」行,这一段的点击不被拦截,会照原样落到官方的新会话处理上,不会变成一个洞。键盘激活(焦点上的回车/空格)与任何按着修饰键的点击都保持原状。侧栏收成导轨后没有品牌按钮,也就没有点击区。 ### 被隐藏的官方入口 | 入口 | 位置 | 回去的路 | |---|---|---| | 「应用」/「编辑」标题栏菜单 | 仅桌面外壳;浏览器里本来就没有 | 应用内没有别的路:关于 / 检查更新 / dsh 命令 / 退出应用一并没了。退出仍在托盘菜单上 | | 第二枚「新会话」按钮 | 侧栏,品牌行下方 | `WHALE-01`,或 `Ctrl+N` —— 它本就是重复的那一枚 | | 「插件」/ “Plugins” 导航行 | 侧栏 | 点插画;**没有留下快捷键** | | 「设置」行及其启动按钮 | 侧栏 | 点 `SYSTEM`,或 `Ctrl+,` | | 「收起侧栏」按钮 | 仅左侧栏;右侧栏那枚照常可见 | 收起这个命令本身没动 | | 会话列表底部的渐隐 | 侧栏 | 它原本只把最后一行压暗 | 表里写到的快捷键都是桌面端的官方默认值——新会话 `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)`,永不换行。两个代价明说:它是用生成内容注入的,所以页面内查找与屏幕阅读器都看不见它;它也不跟随界面语言——中文用户和英文用户读到的是同一句德文。 ### 主题额外加的东西 - 每个工作区与会话行上的**置顶按钮**(置顶工作区 / Pin workspace,跟随宿主语言)。置顶集合存在浏览器存储的 `eva-theme/workspace-pins` 下;它产生的顺序是走宿主自己的 insert-before 接口写下去的,所以重启后仍在——而且与置顶集合不同,这个顺序在卸载主题之后也仍在。 - 内联的**非官方插件启停开关**,在官方「插件」页的已安装分组标题上:勾选要停用、或要重新启用的非官方插件。它只切束的启用状态——不安装、也不卸载任何东西。 - 内联的**会话状态轨**:会话在等你(审批、提问、计划复核)时是蓝色呼吸;它是主区当前打开的那一个时是红色;它刚结束而你没看时是紫色。置顶的行不显示轨,改成彩虹色标题。 - **启动遮罩**每份构建播放一次(标记随产物变化,换构建就重播;`?boot=1` 强制重播、`?boot=0` 跳过本次)。 设置本身仍是官方那个对话框。那里唯一的变化是对话框背后的压暗层被去掉;面板本身与「点外面关闭」都没动。 ## 环境要求 - 带 web profile 的 DeepSeek Harness。 - Node.js >= 18 —— 只用于构建与检查工具。主题本身在浏览器里运行。 ## 安装 直接从公开仓库装: ``` dsh plugin --profile add github:WhatCannotBeSaid/eva-inspired-theme ``` 包里带一个 `prepare` 脚本,跑的正是这条构建,所以从 Git URL 安装时,包被 link 之前束就已经生成好。 在本地 checkout 或它的 clone 里: ``` npm run build # 写出浏览器束 dsh plugin --profile add link: ``` 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 remove eva-inspired-theme ``` 如果你曾把它写进 `dsh.profile.bundles`,把那一条也删掉。 ## 目录结构 ``` index.js host 半 —— 挂载,不注册任何路由,也不出声 client.js 生成的浏览器束。不跟踪;自己构建。不要编辑。 src/client.js 真正的客户端半 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 品牌标记所用的 CC 许可文本 ``` `client.js` 由 `src/` 生成,束里带横幅声明这一点。改 `src/`,然后 `npm run build`;若两者漂移,检查闸会失败。 壁纸清单有两层,被跟踪的那层是点名画作而不是携带画作: - `build/wallpapers.json` —— 被跟踪。两条记录,各自带一个 `direct:` URL 指向第三方对这张图的副本,外加一个 `page:` 表示署名该落在哪里。构建产出 `url("https://…")`,于是主题保住了背景,而本仓库仍然不含任何图像字节。空清单同样合法:它发布 `--cp-pick-light: none; --cp-pick-dark: none;`,即着色层文档化的「无画作」状态。 - `out/wallpapers.local.json` —— 被 git 忽略。形状相同,但用 `dataUrl:` 条目;它存在时构建改读它并内嵌画作,维护者自己的机器就是这样保持现在这副样子的。`node tools/build-client.mjs --public` 会忽略它,照样构建被跟踪的形态。 因为 `client.js` 也被忽略、被跟踪的清单里又没有 `dataUrl:`,带画作的束没有任何地方可以提交。这些事实都有断言把守(`wall.2`、`wall.6`、`wall.7`、`wall.8`)。 ## 检查 ``` npm run verify ``` 跑完整套闸:两个束半的语法检查、自检(117 条断言)、令牌审计(55 条覆盖,恰好是计划中的 55 条),以及一次重建比对,证明 `client.js` 与 `src/` 同步。 ## 许可 本包采用**分层许可**。每个许可只作用于它被点名的那部分;任何一个都不是整仓库的替代许可。图像与第三方素材不在总括授权之内,除非某一行另有说明;目录数据(`build/*.json`)只是描述资产,并不为其授权。此处不授予任何商标权利。 | 部分 | 许可 | 对你要求什么 | |---|---|---| | 我们的代码 —— `index.js`、`src/`、`tools/`、`client.js` | MIT | 保留版权与许可声明。代码的商业使用没问题。 | | 项目文本 —— 本 README、`docs/`、`NOTICE`、`LICENSE` | CC BY-NC-SA 4.0 | 署名、附上许可链接、注明改动、保持非商业、相同方式共享。 | | 品牌标记 —— `build/brand-mark*.png`、`build/brand-mark.jpg` | CC BY-NC-SA 4.0 | 条款同上,且这是第三方画作:见下文。 | | 字体 —— `build/great-vibes-latin.woff2` | SIL OFL 1.1 | 保留声明;不要单独售卖该字体。 | | 内联的两个半 —— `build/plugin-toggle.js`、`build/session-eva-status.js` | MIT(同作者的另两个插件) | 两份声明都要保留;它们同样被内联进 `client.js`。 | | 两张背景壁纸 | **外链热链,不随包分发,此处不授权。** | 本项目不向你授予它们的任何权利;下文的署名仅为出处标注。 | 因为品牌标记禁止商业使用,**整个包不得用于商业用途**。单看 MIT 部分的代码不受此限;若你需要商业用途的构建,去掉品牌标记即可。 完整条款:[LICENSE](LICENSE)。上游文本与逐文件署名:[NOTICE](NOTICE)。CC BY-NC-SA 4.0 法律文本随包发布为 [LICENSE-CC-BY-NC-SA-4.0.txt](LICENSE-CC-BY-NC-SA-4.0.txt),亦见 。 ## 同人作品与署名 **非官方同人作品。** 与 khara, inc.、DeepSeek 均无关联,未获其背书或授权。本主题是在 khara 公布的二次创作指引()之下制作的非商业同人作品,该指引许可非商业二次创作,但不许可角色与品牌本身。超出该指引范围使用需要另行取得 khara 的授权。包名中的 `EVA` 是引用,不是来源主张。 **品牌标记。** 角色溟月,作者上善无形(原创角色,)。DeepSeek 元素第二轮由 ZipZipPipe 制作(GPT Image 2,)。精修修复由 QYQCAMIAO 完成。以 CC BY-NC-SA 4.0 授权——署名、非商业、相同方式共享。本仓库把该插画裁剪并缩放到 256×256,并用 `tools/make-brand-mark-dark.py` 派生出暗色变体;两张派生图沿用同一套条款。该画作的商业使用需要取得上述权利人的许可。 **字体。** "Great Vibes",作者 TypeSETit,SIL OFL 1.1。 **壁纸 —— 带署名热链,从不二次分发。** 两张背景图是主题预期观感的一部分。自 2026-10-09(D79)起两张都不在本仓库里,自 D81 起被跟踪的清单改为指向它们而不是内嵌:构建出来的副本会显示这两张图,而本仓库不携带它们的任何一个字节,也不向你授予任何权利。主题绘制时由浏览器去各条目点名的托管方取图,所以这里没有任何镜像,离线机器就是没有背景。它们在 git 里唯一现身的地方是本文上面那两张预览图——那是应用绘制时的截图。以下记录出处,因为一旦收到下架请求,谈的就是这件事: - 暗 —— **Central Dogma**,`og33jl`,[wallhaven.cc/w/og33jl](https://wallhaven.cc/w/og33jl),2560×1440。wallhaven 把作者标为 **YOTA SAKI**,该条目链接到原始投稿 [pixiv artwork 133258822](https://www.pixiv.net/en/artworks/133258822)。上传到 wallhaven 的是 *Elisban*。 - 亮 —— **Title Card**,`eva01city`,[haowallpaper.com/homeViewLook/18703364605463936](https://haowallpaper.com/homeViewLook/18703364605463936),1100×775。该页只署了上传者、没有作者;同一张画作也在 wallhaven 上以 `x85po3` 流传(上传者 *BachoWilson*);画作自身文件是 3066×2160,匿名访问者拿不到。 我们未持有两位作者中任何一位的许可。如果你是其中一位、不认可这种链接方式,说一声,我们就把该条目从 `build/wallpapers.json` 里删掉,上面那两张预览图一并撤下——这里没有任何东西是画作本身的副本。 本仓库图片来自网络流传,具体作者未确认;如原作者认为不妥,请联系删除。