dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
非官方明日香主题皮肤:双人物精绘立绘、城市穹顶日夜背景,含表现方式、穹顶背景开关、立绘位置、背景强度和人物大小五项设置。
dsh-skin-asuka-p01 为 DeepSeek Harness 提供精绘双人物、城市穹顶日夜场景、酒红金饰框架和清晰的阅读卡片。
当前版本 0.6.1,声明兼容 DeepSeek Harness 0.1.7-rc.2 ~ 0.2.x(桌面端当前运行时为 0.2.1-rc.2)。0.1.5-rc.2 请继续使用旧的 0.4.1 构建产物。
修复设置无法保存:桌面端 0.2.1-rc.2 的配置表单快照去掉了 mode 字段,0.6.0 据此把主题设置页判为只读(提示“当前连接不支持持久化写入”),保存也会失败。现在只在旧版宿主明确报告 memory 模式时才禁用写入。开发依赖对齐 0.2.1-rc.2(@deepseek-ai/schemastery 同步到 3.18.5),类型检查直接对着桌面端当前运行时进行。
源码重构:外观与行为不变,只调整源码组织,方便后续维护:
src/client/palette.ts,样式变量和宿主令牌层都由它生成,不再在运行时用正则解析 CSS。theme.css/chrome.css 拆为 src/client/styles/ 下的八个文件,删除被后续规则完全覆盖的旧声明和未使用的变量。scene/layout.ts,DOM 挂载、观察者与清理留在 scene/index.ts。settings/draft.ts,预览和表单分开。重构前后在同版宿主中逐节点比对了欢迎页、会话页、账号菜单和主题设置页(浅深色、1024~1440px)的计算样式与布局,结果一致。
此前 peerDependencies 把 @deepseek-ai/dsh 钉死在 0.1.7-rc.2。DSH 在加载插件前,会把每个 DSH peer 声明与运行时版本逐一比对(satisfies(runtimeVersion, range, { includePrerelease: true })),不匹配就拒绝加载,必须由用户在插件页逐版本确认豁免;而豁免不随插件升级继承,于是每次发版都要重新确认一次。
本次把声明改为范围 >=0.1.7-rc.2 <0.3.0,同时覆盖开发基线 0.1.7-rc.2 与桌面端当前运行时 0.2.0-rc.2,安装后无需再逐版本确认。开发依赖(@deepseek-ai/dsh-settings、@deepseek-ai/dsh-client-ui-*)一并升到 0.2.0-rc.2,类型检查与构建直接对着桌面端运行时进行 —— 本次 tsc --noEmit 无报错,插件代码无需改动。
消息尾部的元信息/操作底板此前只有背景和圆角、没有内边距,里面的图标与时间戳会直接顶到板的边缘(时间戳贴右边缘最明显)。本次给这类底板补上统一的四边内边距:上下 6px、左右 12px,与"过程活动"按钮的内边距一致,并把该刻度收敛为 --asuka-plate-block / --asuka-plate-inline 两个令牌,后续新增底板直接复用。
0.4.1 依赖的 settingsScope 和 settings.register 已从新宿主移除。隔离环境中已复现旧包在 0.1.7-rc.2 启动时出现 pending (waiting for service: settingsScope);本次改为新版 Config、可实时修改的配置字段及 configForms。
人物、背景、暖白阅读面、差异代码的深绿/暗红配色及深色对应配色继续沿用。装饰不接管会话、模型、工具或权限行为。
/绝对路径/dsh-skin-asuka-p01-0.6.1.tgz。本项目生成的安装包位于:
dist/dsh-skin-asuka-p01-0.6.1.tgz
桌面端通过应用内插件页管理自身配置。安装包已经包含运行代码与图片,无需在插件目录中重新构建。
如果仍然显示默认配色、没有人物,也没有“明日香 P01”设置项,先在插件页确认本包已安装并启用。只有专注模式关闭人物时,酒红配色和主题设置入口仍然存在。
新版设置入口为 账号/更多 → 设置 → 明日香 P01;独立 Web 环境也可能直接显示“设置”按钮。
| 设置 | 默认值 | 行为 |
|---|---|---|
| 表现方式 | 角色模式 | 专注模式隐藏人物和穹顶场景,保留主题配色 |
| 显示穹顶背景 | 开 | 可独立关闭场景图片 |
| 主立绘位置 | 白衣在左 | 可交换两套不同姿态的位置 |
| 背景强度 | 55% | 欢迎页使用此值;会话两侧采用其40%,中间进一步淡化 |
| 人物大小 | 100% | 可选60–120%;仍受实际留白与输入区位置约束 |
宽屏会话人物默认最高420px;空间不足时缩小、仅显示一侧或隐藏。人物不覆盖正文、输入、审批和弹层。窄桌面窗口优先保留阅读与操作空间。
修改设置时只预览当前草稿,点击“保存”后才应用;关闭设置不会自动保存草稿。其他窗口已修改同一配置时,保留当前草稿并提示重新载入,避免覆盖别人的修改。恢复默认同样需要保存,不会重置通用设置的字号和明暗偏好。
0.5.0 的设置按宿主插件条目 ui-skin-asuka-p01 保存到当前 profile,使用官方实时配置通道。不自动搬迁0.4.x的旧 asuka-p01 设置文档;从旧宿主升级后,请在主题页重新核对并保存五项选项。此插件不删除旧设置文档,也不更改其他插件配置。
| 浅色欢迎页 | 深色欢迎页 |
|---|---|
![]() | ![]() |

预览使用本地离线内容和通用字号16px,没有执行模型或工具调用。桌面布局在隔离浏览器中启用 macOS 布局标记及最小桌面桥接替身,运行的是桌面应用随附的同版官方渲染模块;这些图片不是现用账号或真实 Electron 原生窗口的截屏。
0.6.1 使用安装在本机的 DeepSeek Harness 随附运行模块(0.2.1-rc.2)、独立的 DSH_HOME 测试配置和本地回环地址验证;会话内容由本机模拟的模型接口生成,没有调用真实模型。
0.6.0 及更早版本另在 0.2.0-rc.2 上验证过 macOS 顶栏布局、设置操作区、插件面板导航和1600、1920px窗口。
没有修改用户现用的 desktop 配置,没有使用真实登录账号。Electron 原生窗口拖动、原生菜单和真实账号登录/退出未纳入验证;0.1.7-rc.2~0.2.0 宿主本轮未复测,Windows/Linux原生桌面窗口以及其他宿主版本仍需单独验证。
npm ci
mkdir -p dist
npm pack --pack-destination dist
prepack 会执行 TypeScript 检查与构建。也可单独运行:
npm run typecheck
npm run build
安装包只包含清单内的运行文件、说明与预览图,不包含源码原图、开发依赖或临时验收脚本。图片由构建流程编码并内嵌到客户端,不依赖运行时图床;React与Cordis复用宿主运行时。
贡献者可使用同版独立 Web profile 验证:
dsh --profile asuka-test --from-default-profile web --dump-config
dsh plugin --profile asuka-test add "/绝对路径/dsh-skin-asuka-p01-0.6.1.tgz"
dsh --profile asuka-test --host 127.0.0.1 --no-open
该示例用于独立 Web 开发配置。桌面安装使用前面的应用内插件页。
| 文件 | 职责 |
|---|---|
src/index.ts | Host Config schema与自定义设置页策略 |
src/preferences.ts | 配置条目id、五项偏好、默认值、取值范围与校验 |
src/client/index.tsx | 客户端入口:注入样式与令牌层、挂载场景、注册插槽 |
src/client/palette.ts | 浅深色与强制色配色,生成样式变量与宿主令牌层 |
src/client/stylesheet.ts | 按层叠顺序拼接样式文件与美术变量 |
src/client/styles/ | 令牌、人物舞台、会话阅读、输入框、欢迎页、品牌标记、设置页、侧栏与标题栏样式 |
src/client/scene/ | 场景挂载与清理(index.ts)、人物避让计算(layout.ts) |
src/client/settings/ | 草稿与保存(draft.ts)、预览(preview.tsx)、设置页(index.tsx) |
src/client/brand.tsx | 侧栏头像与欢迎页徽章 |
src/client/ornaments.ts | 金属角花、边饰与铭牌 |
scripts/build.mjs | 编码图片并构建Host/Client产物 |
部分装饰与阅读面依赖官方渲染器的DOM标记。宿主升级后应重新验证这些结构,而不是通过跳过版本检查来假定兼容。
仅需减少人物装饰,可以在主题设置中选择“专注模式”并保存。完整停用或移除请使用桌面插件页,并按页面提示重新加载应用。
代码与素材的授权边界见 LICENSE 和 NOTICE。明日香相关角色权利属于原权利人,本项目不是官方授权作品;素材不随代码许可自动取得再分发授权。