🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

终末地工业风主题 ymh0000123/dsh-theme-endfield

DeepSeek 客户端v1.2.3
ymh00001234 天前有提交已提供中文文档扫描:含敏感能力兼容 / 相关生态ui

终末地官网风格的 DSH Web 主题:奶油纸底、墨黑文字、信号黄强调、全直角工业编辑风。

61/100
综合分
152
GitHub 星标
1,170
npm 周下载
—/5
用户评分

数据截至 2026/11/1 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/ymh0000123/dsh-theme-endfield.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
生态插件
可安装,未声明 dsh 能力
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 4 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-theme-endfield @ 1.2.3
✓Node 引擎要求 >=18 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/30 02:37:38

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 14 处,展示前 14 条)
  • 读取本地文件
    index.js:313
    if (fs.existsSync(profiles)) {
  • 读取本地文件
    index.js:314
    for (const name of fs.readdirSync(profiles)) {
  • 读取本地文件
    index.js:772
    if (fs.existsSync(target)) fs.unlinkSync(target);
  • 发起网络请求
    index.js:1121
    res = await fetch(BALANCE_API_URL, {
  • 发起网络请求
    client.js:425
    return fetch(AUDIO_PREVIEW_URL, {
  • 发起网络请求
    client.js:486
    return fetch(AUDIO_ATTENTION_URL, {
  • 发起网络请求
    client.js:5490
    const res = await fetch(BALANCE_URL, { method: 'GET' })
  • 发起网络请求
    client.js:9064
    fetch(AUDIO_STATE_URL, { headers: { accept: 'application/json' } })
  • 读取本地文件
    lib/audio.js:69
    if (fs.existsSync(candidate)) return candidate;
  • 读取本地文件
    lib/audio.js:175
    if (fs.existsSync(candidate) && fs.statSync(candidate).isFile()) {
  • 读取本地文件
    lib/audio.js:218
    const parsed = parseWav(fs.readFileSync(file));
  • 读取本地文件
    lib/audio.js:241
    bytes = fs.readFileSync(file);
  • 写入本地文件
    lib/audio.js:257
    fs.mkdirSync(CACHE_DIR, { recursive: true });
  • 读取本地文件
    lib/audio.js:263
    if (!fs.existsSync(target)) fs.writeFileSync(target, scaled);
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 奶油纸底配色
  • 墨黑文字
  • 信号黄强调

README

由 DeepSeek 最新模型翻译生成
dsh-theme-endfield DSH Web 主题插件,参考《明日方舟:终末地》官网风格:奶油纸底、墨黑文字、信号黄/武陵青强调色、全直角工业编辑风。 - Client 侧(client.js):用主题令牌与样式覆盖界面。 - Host 侧(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 代码。 功能 开关集中在 设置 › 终末地主题设置: - 主题:总开关、谷地黄/武陵青配色、直角/圆角模式。
展开完整文档(README 剩余 1 节)
dsh-theme-endfield

DSH Web 主题插件,参考《明日方舟:终末地》官网风格:奶油纸底、墨黑文字、信号黄/武陵青强调色、全直角工业编辑风。

- Client 侧(client.js):用主题令牌与样式覆盖界面。
- Host 侧(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;可选鼠标轨迹(鼠标附近的等高线局部变形并逐渐恢复,默认关闭);背景水印及持续显示。
- 动画:输出滚动动画(默认开启,强度分 柔和 / 标准 / 轻快)——把模型流式输出的「整段跳一大格」摊成逐帧滑动,不改动应用自己的滚动位置,因此跟随不会中断,向上滚动、读者手势与系统「减少动态效果」下都保持瞬时;启动加载动画。
- 娱乐:雷霆大字及入场动画;顶部余额胶囊(默认关闭)。
- 音频:启动音、任务开始/结束音、需要回应时提示,音量与自定义音效目录可调(默认关闭)。

几处需要单独说明的行为:

- 顶部余额胶囊:悬浮显示 DeepSeek API 余额与峰谷时段(高峰为工作日 9-12 点、14-18 点;周末、法定节假日与落在周末的调休日都按低谷半价)。会话使用 dsh-codearts-auth 渠道模型时自动切换为该渠道的剩余额度与积分消耗进度,随渠道切换实时跟随,主读数可在设置中选择右侧百分比显示剩余或已用。
- 输出滚动动画与渠道额度模式的完整行为、默认值与边界情况见 docs/features.md。
- 音频通知的防噪规则与自定义音效见 docs/audio-notifications.md。

所有设置由 DSH 自己的设置服务持久化,与页面 origin/端口无关,DSH web 与 DSH Desktop 都能正确保存并在重启/换端口后恢复(不再使用会被 Desktop 随机端口清空的 localStorage)。设置文案支持中英文;动态等高线尊重系统「减少动态效果」,动画帧率与速度可独立调整。

DSH 版本支持与设置持久化

| 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 | 自动回落,无需配置 |

- 0.2.x / 0.1.7+:Host index.js 导出一份 34 个字段全部 .volatile() 的 schemastery Config(命名空间 = 本插件 profile entry id theme-endfield),浏览器 client.js 通过 ctx.configForms 读写并订阅,值随 <profile>/cordis.patch.yml 落盘。
- ≤ 0.1.5:回落到 ctx.settings.register('dsh-theme-endfield', schema) + ctx.settingsScope(<dshHome>/settings.yaml)。
- 0.1.7 升级后旧设置需要在设置页重设一次(settings.yaml 已被 DSH 废弃,见 engineering-notes.md § DSH 0.1.7-rc.1 换掉了整套 settings API)。

0.2 改动(v1.1.6 已跟进)

0.2 改动了三处本插件依赖的应用侧细节,旧写法在 0.2 上会静默失效:

- 回合状态标签(“Deep diving…”)从 @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 两项:这两项重(渲染全图 / 性能计时),由 CI 的非阻塞 job 单独跑(continue-on-error),结果只写进 PR 摘要而不阻塞合并。

项目结构

src/client/ Client 侧源码片段(拼接顺序见 src/client/manifest.js) src/host/ Host 侧源码片段(拼接顺序见 src/host/manifest.js) src/styles/ theme.css:主题样式表(那一整个模板字面量的内容) src/contour/ 等高线 worker 源码:contour-worker.js + contour-webgl.js(npm run build:worker 嵌入产物) 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/ 渲染、设置、配色与性能测试(tools/ 为截图与目视检查脚本) 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)不存在任何隶属、赞助或背书关系。

- 《明日方舟:终末地》(Arknights: Endfield)的游戏名称、标识、商标、官网视觉与设计语言及相关美术素材,版权归鹰角网络(上海鹰角网络科技有限公司,Hypergryph Network Technology)所有。
- 本仓库中的部分素材(如 assets/ 下的界面截图,以及主题中还原的 ENDFIELD 字标、信号黄配色与工业编辑风版式)源自或参考上述作品及其官网,仅用于学习、展示与非商业用途;其权利仍归鹰角网络所有,不在本项目的 MIT 许可证覆盖范围内。
- 本项目的原创代码(client.js、index.js、src/、scripts/、test/ 等)以 MIT 许可证发布。
- 若权利方认为本仓库中的任何素材使用不当,请通过 Issue 联系,我们会立即删除或替换相关内容。

许可证

MIT,仅覆盖本项目的原创代码;第三方素材的归属见素材归属。

Star History
预览分享卡片长什么样 ↓ymh0000123/dsh-theme-endfield
分享 · DeepSeek Harness Hub
ymh0000123/dsh-theme-endfield

终末地官网风格的 DSH Web 主题:奶油纸底、墨黑文字、信号黄强调、全直角工业编辑风。

回到顶部