
Security News
Deno Goes the Way of the Dinosaur
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.
dsh-theme-endfield
Advanced tools
DeepSeek Harness web theme: the industrial editorial look of the Arknights: Endfield official site — cream paper, ink text, signal-yellow accents, zero radius. Settings persist through the DSH volatile Config + configForms transport (0.2.0-rc.2 and 0.1.7+
参考《明日方舟:终末地》官网风格的 DSH Web 主题插件:奶油纸底、墨黑文字、信号黄/武陵青强调色、全直角工业编辑风。
client.js):通过主题令牌与样式覆盖界面。index.js):设置持久化与可选的音频通知(派生系统播放器子进程)。两侧都不修改应用自身代码。
dsh plugin --profile web add github:ymh0000123/dsh-theme-endfield
重启或重新加载 web profile 后生效。卸载:
dsh plugin --profile web rm dsh-theme-endfield
| 改动 | 生效方式 |
|---|---|
Client 半 client.js | Host 按请求从磁盘读取,浏览器刷新即可 |
Host 半 index.js | 只在 profile 启动时 import 一次,必须整进程重启 DSH |
dsh-hmr 的 watch 默认忽略 **/node_modules,软链安装的仓库文件不在其观察范围内;只刷新页面时,运行的仍是启动时那份 Host 代码。
开关集中在 设置 › 终末地主题设置:
24 / 60 / 120 FPS、速度 1x / 2x / 4x;可选鼠标轨迹(鼠标附近的等高线局部变形并逐渐恢复,默认关闭);背景水印及持续显示。柔和 / 标准 / 轻快)——把模型流式输出的「整段跳一大格」摊成逐帧滑动,不改动应用自己的滚动位置,因此跟随不会中断,向上滚动、读者手势与系统「减少动态效果」下都保持瞬时;启动加载动画。几处需要单独说明的行为:
9-12 点、14-18 点;周末、法定节假日与落在周末的调休日都按低谷半价)。会话使用 dsh-codearts-auth 渠道模型时自动切换为该渠道的剩余额度与积分消耗进度,随渠道切换实时跟随,主读数可在设置中选择右侧百分比显示剩余或已用。所有设置由 DSH 自己的设置服务持久化,与页面 origin/端口无关,DSH web 与 DSH Desktop 都能正确保存并在重启/换端口后恢复(不再使用会被 Desktop 随机端口清空的 localStorage)。设置文案支持中英文;动态等高线尊重系统「减少动态效果」,动画帧率与速度可独立调整。
| DSH | 设置持久化 | 备注 |
|---|---|---|
| 0.2.x(在 0.2.0-rc.2 与 0.2.1-rc.2 上实测) | Host 导出 Config,浏览器 ctx.configForms | 当前支持目标 |
| 0.1.7 – 0.1.x | 同一套 Config/configForms 接缝 | 无需改动 |
| ≤ 0.1.5 | ctx.settings.register + ctx.settingsScope | 自动回落,无需配置 |
index.js 导出一份 34 个字段全部 .volatile() 的 schemastery Config(命名空间 = 本插件 profile entry id theme-endfield),浏览器 client.js 通过 ctx.configForms 读写并订阅,值随 <profile>/cordis.patch.yml 落盘。ctx.settings.register('dsh-theme-endfield', schema) + ctx.settingsScope(<dshHome>/settings.yaml)。settings.yaml 已被 DSH 废弃,见 engineering-notes.md § DSH 0.1.7-rc.1 换掉了整套 settings API)。0.2 改动了三处本插件依赖的应用侧细节,旧写法在 0.2 上会静默失效:
@deepseek-ai/dsh-client-ui-conversation 的渐变文字搬到 @deepseek-ai/dsh-client-ui-chat 的遮罩扫光文字,不再有 turnStatus 类名;着色改由 --dsw-alias-label-deep-diving / -shimmer 两个令牌承担,因此旧规则已删除,改在 theme.overrideTokens 层换色(留着旧规则时该令牌仍是应用自带值,标签完全没有主题色)。_detailsCol 改为 _rightbarCol,且不透明底色移到列元素本身——等高线图层在右侧栏打开时不会再被整块盖住。locale/<语言>.json 的 meta.title / meta.description 提供;package.json 的 dsh.client.inject 也不再列 0.2 已删除的 @deepseek-ai/dsh-client-runtime 与 @deepseek-ai/dsh-client-ui-slots,改为列出 0.2 真正的提供方。细节见 docs/engineering-notes.md。
先看 Host 侧有没有这份 Config(Config.listConfigs 对该 entry 报 absent 就是没有)。没有 Config 时 DSH 不投影任何表单,Host apply() 会打一行 warn 并在 profile 目录留下报告文件 theme-endfield-diagnostic.json(Config 构建成功时会自动删除它;报告里的 schemaMode / loaded / loadError 会写明走了哪条解析路径、以及某个副本是否「解析得到却加载失败」)。排查与判据见 docs/testing.md#设置页。
另外注意:改 Host 半(index.js)必须整进程重启 DSH,刷新页面只重载 client.js。
| 文档 | 内容 |
|---|---|
| docs/design-language.md | 色板、令牌映射与对比度规则 |
| docs/features.md | 功能行为、默认值、存储键与边界情况 |
| docs/engineering-notes.md | 算法、层叠、动画和性能实现说明 |
| docs/testing.md | 校验脚本与测试套件说明 |
| docs/contour-trail.md | 鼠标轨迹的采样、衰减与验证 |
| docs/contour-worker.md | 可选 Worker / WebGL 等高线渲染与回退 |
| docs/contour-scan-bounds.md | 等高线提取的分块边界算法 |
| docs/audio-notifications.md | 音频通知的实现、防噪规则与自定义音效 |
| docs/glass.md | 可选磨砂玻璃:模糊档位与刻意排除的部件 |
| docs/PR-description.md | 音频通知那次改动的 PR 描述草稿 |
node check.js
node selftest.js
npm test
npm test 覆盖样式不变量、配色、设置页、真实浏览器渲染、等高线平滑/尖点、动画可访问性、覆盖率和 24/60/120 FPS 性能预算。部分浏览器测试需要本机安装 Chrome 或 Edge。
版本与 CI 口径(三者不是同一个集合):
| Node | 测试范围 | |
|---|---|---|
插件运行(package.json 的 engines) | >=18 | — |
本地 npm test | Node 22+ | 全量 |
CI 阻塞门禁(test:ci) | Node 22 | 全量减去下面三项 |
| CI 非阻塞 job | Node 22 | test:perf + test:coverage,continue-on-error,结果只写进摘要 |
跑测试请用 Node 22+:浏览器 fixture 依赖全局 WebSocket/fetch,版本不足会在测试处明确报错(插件本身的运行没有这个要求)。npm test 比 CI 的 test:ci 多出 contour-coverage、contour-perf、contour-density 三项:前两项由 CI 的非阻塞 job 单独跑,contour-density 目前不在 CI 中运行。
src/client/ Client 侧源码片段(拼接顺序见 src/client/manifest.js)
src/host/ Host 侧源码片段(拼接顺序见 src/host/manifest.js)
src/styles/ theme.css:主题样式表(那一整个模板字面量的内容)
src/contour-worker.js 等高线 worker 源码(npm run build:worker 嵌入产物)
src/contour-webgl.js 等高线 WebGL 源码(同上)
client.js Client 侧产物,由 src/client/ + src/styles/ 拼接而来
index.js Host 侧产物,由 src/host/ 拼接而来;package.json 的 main 与 exports["."] 都指向它
scripts/ 构建与门禁:lib/bundle-build.js 拼接器 + build-*.js 入口
lib/ 音频通知:槽位定义、WAV 合成与播放运行时
locale/ 插件卡片的展示文案(meta.title / meta.description)
sounds/ 生成的通知音(npm run sound:build 重新生成)
cordis.patch.yml Bundle 注入配置
check.js 样式表静态校验
selftest.js 校验器自检
test/ 渲染、设置、配色与性能测试
docs/ 设计、功能、工程与测试文档
SECURITY.md 安全边界:发布产物清单与运行时权限(由 CI 的 package-check.js 与 files 白名单逐项核对)
screenshots.json 界面截图清单(对应 assets/ 下的 webp)
.github/ CI 工作流与检查脚本(不进发布产物)
client.js 与 index.js 是构建产物,不要直接编辑:改 src/ 下的片段,再跑
npm run build:client / npm run build:host(等高线 worker 走 npm run build:worker)。
npm run check 与 CI 都用 --check 验证产物没有过期:产物与源码不一致时报出第一个差异行。
片段划分与改动规则见 docs/engineering-notes.md 的「源码是真源,产物是拼出来的」。
本插件是非官方同人作品,与鹰角网络(Hypergryph)不存在任何隶属、赞助或背书关系。
assets/ 下的界面截图,以及主题中还原的 ENDFIELD 字标、信号黄配色与工业编辑风版式)源自或参考上述作品及其官网,仅用于学习、展示与非商业用途;其权利仍归鹰角网络所有,不在本项目的 MIT 许可证覆盖范围内。client.js、index.js、src/、scripts/、test/ 等)以 MIT 许可证发布。MIT,仅覆盖本项目的原创代码;第三方素材的归属见素材归属。
FAQs
DeepSeek Harness web theme: the industrial editorial look of the Arknights: Endfield official site — cream paper, ink text, signal-yellow accents, zero radius. Settings persist through the DSH volatile Config + configForms transport (0.2.0-rc.2 and 0.1.7+
We found that dsh-theme-endfield demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.

Security News
Anthropic’s free OSS Scanner uses Mythos and other Claude models to find open source vulnerabilities and send maintainers reports with proposed fixes.

Security News
On Front Lines’ Early Adopters: CISO podcast, Andrew Becherer shares lessons from Datadog, weighs the long-term costs of AI-built tools, and explains how founders can actually gain a CISO’s trust.