dsh-web
zhu1090093659
DeepSeek Harness (DSH) Web 插件聚合生态 · 万物皆插件,通过创意工坊分发||DeepSeek Harness (DSH) Web Plugin Aggregation Ecosystem · Everything is a plugin, distributed via the Creative Workshop
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:zhang66633/dsh-pixel-ui
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
DeepSeek Harness 像素皮肤(Agent Xi 风格):四个主题一键切换——像素·木屋 / 像素·羊皮纸 / 像素·暖阳 / 像素·终端绿,随时可切回现代默认 UI。
dsh-pixel-ui 是一个皮肤插件,把 dsh Web GUI 重皮肤成像素 RPG 风:
box-shadow 与 text-shadow;标题/页签/列表用像素字体,正文与代码走 mono,长文不累眼;clamp(680px, 64vw - 140px, 1200px),窄屏仍是宿主原本的 680px),皮肤选择在 dsh-app:// 页面上也能恢复。适合谁:想要像素风 / 星露谷风 / 复古终端外观的 dsh 用户;想给会话截图加一点氛围感的博主和开发者。
pixel-wood深色 · 深木
#1A0F06+ 金#F4D03F(默认主题)
pixel-paper浅色 · 纸面
#F0E8D8+ 深金棕#A07000
pixel-warm深色 · 暖木
#1E0E04+ 橙#FF8C42
pixel-retro深色 · 墨绿
#0A0E0A+ 绿#33FF33
截图取自 DSH Desktop(1920×1200 @125% 缩放)。截图由插件市场按本仓库根的
screenshots.json读取——换图只推自己的仓库,不必提 PR。
| 项 | 支持范围 |
|---|---|
| dsh 生态 | 0.1.0-rc.6 ~ 0.2.x(ThemeService register/setTheme + settings.general.item 槽位;0.2.0-rc.2 已按源码逐条核对客户端契约,host/node 半边于 2026-10-01 在运行中的桌面端实测;见 docs/dev/迭代记录.md) |
| DSH Desktop | 2.0.x(web 兼容模式/高级模式均适用) |
| 模式 | 三深色 + 一浅色(colorScheme 按主题声明) |
| 浏览器 | 现代 Chromium / Firefox(localStorage + CSS 变量 + SVG 光标) |
| 字体 | fusion-pixel 12px zh_hans(MIT)+ Press Start 2P(OFL),随包分发 |
| 对比度 | 四主题全部通过 WCAG AA(正文 ≥4.5:1、非文本 ≥3:1,npm run test:contrast 门禁) |
npm(推荐):
dsh plugin add dsh-pixel-ui
GitHub Releases(无需 npm,同样开箱即用):
# 下载 Releases 里的 dsh-pixel-ui-<version>.tgz
dsh plugin add ./dsh-pixel-ui-1.5.0.tgz
GitHub 源码(构建产物已随仓库提交,无需构建):
dsh plugin add github:zhang66633/dsh-pixel-ui
本地开发(link 方式):
// <profile>/package.json
{
"dependencies": { "dsh-pixel-ui": "link:<仓库路径>" },
"dsh": { "profile": { "bundles": ["dsh-pixel-ui"] } }
}
cd <profile> && pnpm install
安装后重启 dsh / DSH Desktop,皮肤才会进入 Loader 组合。
dsh plugin add dsh-pixel-ui(自动作用于当前 profile,如 desktop);DSH Desktop 默认每次启动随机分配本地 Web 端口,而浏览器 localStorage 按 origin(含端口)隔离——旧版本因此会在重启后忘记皮肤选择。v1.4.0 起(v1.5.0 起桌面端改走宿主 index 注入),最后一次选择的主题会同时写入宿主侧文件($DSH_HOME/storages/dsh-pixel-ui/preference.json,经 /dsh-pixel-ui/preference 路由读写),与端口无关;localStorage 退化为同端口的快速镜像。无需任何配置,固定端口(dsh-desktop.port)现在只是可选项。
dsh plugin add(固定版本号);git pull 后重新构建(npm run build),刷新浏览器。只从 dsh.profile.bundles 移除 dsh-pixel-ui(依赖可以保留)——皮肤不再注入,UI 回到现代默认。
从 profile package.json 移除依赖与 bundles 条目,pnpm install。
最小可复现示例:安装 → 重启 → 木屋主题上身 → 切换到「像素·羊皮纸」→ 输入框文字清晰可读 → 点「现代默认」→ 页面立即回到现代 UI → 刷新页面仍是现代 UI。
--dsw-alias-* token 定义在 src/client/index.js 的 THEMES,像素质感样式在 src/client/pixel.css;pixel-wood(仅首次安装时自动激活,之后尊重你的选择);$DSH_HOME/storages/dsh-pixel-ui/preference.json(权威,跨端口/跨浏览器)+ 浏览器 localStorage 的 dsh-pixel-ui:theme(同 origin 镜像);$DSH_HOME/storages/dsh-pixel-ui/ 下读写一个主题偏好 JSON(仅注册 /dsh-pixel-ui/fonts/* 与 /dsh-pixel-ui/preference 两个路由,字体文件名白名单、主题 id 白名单,均无路径穿越);localStorage 存一个主题 id。| 现象 | 处理 |
|---|---|
| 皮肤没生效 | dsh --profile <name> --dump-config(DSH Desktop 终端里直接 dsh --dump-config)确认 dsh-pixel-ui 在树;设置 → 通用 → 像素主题 里选一个主题;重启(node 半边改路由后必须重启,client 半边刷新即可) |
| 想回现代默认 | 设置 → 通用 → 像素主题 → 点「现代默认」(或外观行选 浅色/深色/跟随系统) |
| 主题没记住 | 确认浏览器未禁用 localStorage;v1.4.0 起以宿主文件为权威(桌面端经 index 注入下发),检查 $DSH_HOME/storages/dsh-pixel-ui/preference.json 是否存在且内容合法 |
| 字体没加载 | 浏览器控制台(F12 → Network)看 /dsh-pixel-ui/fonts/* 是否 200 |
| 偏好路由 404 | 宿主还是旧版 node 半边:重启 DSH Desktop;未重启期间功能自动降级为 localStorage 记忆 |
| 回滚 | 从 dsh.profile.bundles 移除插件条目并 pnpm install —— profile 其余部分不受影响 |
npm install
npm run build # 构建 lib/client.js(wire 格式,CSS 以文本内联)
npm test # test:host + test:client + test:contrast 三件套
scripts/test-host.mjs:node 半边(字体白名单 / 偏好路由读写与校验 / dispose)scripts/test-client.mjs:browser 半边(加载真实 lib/client.js,覆盖注册、恢复矩阵、交互、渲染、dispose)scripts/audit-contrast.mjs:四主题 WCAG 对比度门禁(改 palette 必跑)改动皮肤后重新构建并刷新浏览器即可(link 安装方式下无需重启 dsh;动了 lib/index.js 的路由则需重启)。开发文档在 docs/dev/(计划 / 迭代 / 踩坑)。欢迎 PR;行为变更请同步更新 README。
MIT © 2026 zhang66633 · 字体:fusion-pixel(MIT)、Press Start 2P(SIL OFL)。
安全问题请通过 GitHub security advisory 私下报告,不要发公开 issue。
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: pixel-skin、skin、theme。