DeepSeek「乾坤问道」主题皮肤
V3.1.0 · 紫微命盘(与神明加持合并)
3.1 在 V3.0 的八位神明加持之上,内嵌 紫微斗数开源排盘引擎(MIT,基于倪海厦《天纪》体系),把「命运可见」做成可用的能力:
- 模型名旁:
conversation.input.model.label 单槽位显示 模型名 + [1017] + [紫微];「紫微推演」开启时亮金徽,并复刻官方 1017 角标避免接管后观感丢失。
- 推演:输入区下沿的「紫微推演」开关 +「入盘」按钮,把命盘档案(公历/农历四柱、五行局、命主身主、十二宫星曜亮度四化、格局)以
【紫微命盘…】【/紫微命盘】 明文块 prepend 进草稿;皮肤设置里可开「发送自动带盘」,回车前自动补块(只拦回车路径)。
- 命盘:会话头「斗 · 紫微命盘」按钮、侧栏会话行悬停「斗」按钮打开 880px 对话框:出生表单实时排盘、传统 4×4 十二宫(命宫金框/身宫紫框/四化色标/空宫借星)、中心摘要与格局 chips;生辰按 本对话 → 本工作区 → 常用 三档存本机 localStorage。
- 引擎:
vendor/ziwei/ 为上游 lib/ziwei/ 原样快照(commit 495b79e,MIT,见 vendor/ziwei/NOTICE.md),tools/build-engine.mjs 用 esbuild 连同 iztro / lunar-javascript 打成 IIFE(919KB)内嵌进 client.js;排盘全在本机完成,零网络请求。上游的断语库、AI 解读 API 与 13 维数据集未使用。
十二宫命盘
同批合并的 V3 优化(此前只存在于本机构建、未进仓库):收下神明祝愿后新增一套 2.6 秒落印动效——金光衬底、神像显圣(放大虚化)、8 粒金尘、题字与朱印飞向入口;「加持」入口改为竖排「妈祖」神文按钮(鎏金流转、金芒闪烁)。关闭主题动效或系统减少动态效果时整段不播。每日卦象升级为 108 签(六十四别卦 + 四十四灵签,六爻按上下经卦分列);右下「今日卦象」小签收得更轻更小;选中态与「今日宜」版式同步微调。
构建:npm run build(会自动重建引擎)→ npm test(13 项原有测试 + 1 项紫微集成测试 + 引擎金标准回归)。升级引擎:整目录替换 vendor/ziwei/ 并更新 NOTICE 的 commit 号。使用与边界详见 V3.md。
V3.0.0 · 八位神明加持
输入框右上新增「加持」:文昌帝君、关圣帝君、观音菩萨、福德正神、太上老君、玄天上帝、妈祖、赵公明,共八张工笔画像。每天随机一位,当天结果固定;收下祝愿后保留今日徽记,刷新可恢复。功能与动效都可单独关闭,祝愿不会改变模型能力或推理参数。
八位传统神明
下载 V3.0.0 安装包 · 使用、素材与回退说明。ZIP 解压后在 DSH 安装内层 package 目录;源码根目录也可直接安装。已通过 13 项测试与本地仿宿主浏览器验证;本次未安装到实际 DSH Desktop。
V2.0.1 · 边界、今日宜与推理转动
加强输入框、焦点和选中态;占卜按钮旁展示当日「今日宜」(窄栏省略,悬停可看完整事项)。八卦按已确认的实际推理档位转动:关闭思考静止,深思空闲 90 秒一周、高强度空闲 48 秒一周,思考时加快;正文输出、工具执行或等待确认时暂停。敕令补上描符、金环、轻浮动和八枚粒子,2.4 秒收回;关闭动效或系统减少动态效果时不播放。
V2.0 · 乾坤问道
本版保留 DSH 现有布局,新增纸墨金视觉、渐隐山水、真实推理档位联动和三档思考状态;模型只有两档时,第三档明确作为视觉沉浸。正文开始输出后动效收敛。每日卦象支持起卦、显卦、解卦与收签,设置中可独立关闭卦象和主题动效;开场改为同一 renderer 会话首次播放,支持主动重看。
详情、实现边界、验证记录与源码位置见 V2.md。开发:npm ci → npm run build → npm run preview,访问 http://127.0.0.1:4173。安装使用已构建的 client.js,无需额外运行前端构建。
以下为原版基础能力与安装说明;其中每次刷新开场、直接显示签卡等描述已由上述 V2 行为取代。
给 DSH Web GUI 自己穿的一套皮肤:把参考图里的「月华白 / 曜金 / 烟紫 / 云藤紫 / 墨岩灰」、太极、八卦、星轨与山水,落成可安装的 Cordis 插件。启动时先落一张五秒钟的开场:中间八卦,上下左右四句行书。
一个插件装齐全部视觉:五秒开机动画(中央先天八卦盘 + 上/下/左/右四句行书)、回车发送时的一记太极、发送键太极、侧栏占卜令牌与今日一签(收下时一纸符咒飞渡、右下角落成今日卦象)、月华白/曜金/烟紫双主题、侧栏太极印、背景题字与山水星轨。
仓库:https://github.com/haoyu-qi/dsh-hermes-taiji-skin
安装
-
克隆仓库:
git clone https://github.com/haoyu-qi/dsh-hermes-taiji-skin.git
-
在 DSH 里安装这个目录(走 plugin_manager install_bundle,会要求一次授权):
安装插件:/绝对路径/dsh-hermes-taiji-skin
本机是把该目录以 link: 链进 ~/.dsh/profiles/desktop 的,两种装法等价。
-
首次安装后退出并重开一次 DeepSeek Harness(Desktop 启动时会缓存 boot 注入);之后修改 client.js 由 client-hmr 热替换,刷新页面即可看到更新。
-
停用:设置 → 插件 → 「深度求索 · 太极皮肤」停用即整体还原,也可在 apply() 里删掉对应槽位注册。
要求:DSH Desktop 的 Web GUI(带 Cordis 插件系统)。
字体:行书优先 macOS 自带 Xingkai SC(华文行楷),其次 Zhi Mang Xing(志莽行书,可选安装)、Hannotate SC、Kaiti SC;没有这些字体的系统会退到系统楷体,观感略有差异。
包名:@local/dsh-hermes-skin(Host 空壳 + Client 半,profile 级生效;本仓库根目录本身即安装包。仓库与显示名带 Taiji,安装 id 为了不打断当前 profile 里的既有安装而保持不变)。
视觉系统
| 元素 | 色值 | 落点 |
|---|
| 月华白 | #F8F4EC / 卡片 #FDFAF4 | --dsw-alias-bg-base、各层表面 |
| 曜金 | #B08A46 | 品牌印记、焦点环、发送键、发丝线 |
| 烟紫 | #8E7FA8 | 链接、思考中、次级星芒 |
| 云藤紫 | #72618C | 链接与深潜标签的可读色 |
| 墨岩灰 | #3A3342 | 正文、主按钮、太极印 |
| 朱砂 | #A6473D | 符咒的敕令、六爻与卦名小印 |
暗色主题「玄夜」使用同一套语义令牌的另一组值:墨底 #141118、月金 #D9BE86、浅檀 #E9DCC0。两套色板都通过 ctx.theme.overrideTokens 叠加,跟随「设置 → 通用 → 外观」的浅色/深色/跟随系统,不强制改用户的主题偏好。
落到界面上的东西
- 主题令牌:约 90 个
--dsw-alias-* / --dsw-specific-* / --shiki-token-* 覆盖,含发丝线、悬停、代码块、滚动条、状态色、菜单材质。
- 太极印:侧栏品牌位(24px)的 SVG;外圈曜金,阴阳随主题换墨/月白。空白会话标题前不再放太极印(空占位留白)。
- 八卦星轨:整框右上角一枚 22% 不透明度的八卦星轮水印,轮面只留同心环与先天八卦,轮内零散星座已移除;星轮改为随视口缩放(
width:min(560px,46vw,62vh)),四周星点全部避到左侧与底部,不再和星轮重叠合并。
- 五秒开机动画:每次启动或刷新页面,先落一张满屏月华白开场——正中先天八卦盘:曜金外环、点线环、八组三爻(乾上、巽右上、坎右、艮右下、坤下、震左下、离左、兑左上)、八枚小菱形星点,以及带金环的墨/月白太极;八卦环在五秒内匀速转进 45°。上、下、左、右四向是同一墨色的行书毛笔字:
- 上:躲天意,避因果,诸般枷锁困真我;
- 下:顺天意,承因果,今日方知我是我;
- 左:一朝悟道见真我,何惧昔日旧枷锁;(竖排)
- 右:世间枷锁本是梦,无形无相亦无我。(竖排)
四句按「上 → 下 → 左 → 右」依次以笔锋扫入(横向自左而右、竖排自上而下,起笔带一点虚焦),第 4.4 秒整幅淡出,5 秒整移除。点按任意处或 Esc/Enter 可提前跳过(空格不参与,也不会再误触);
prefers-reduced-motion 下不转不扫,只静态停留五秒。
- 发送太极:只有在 composer 里按回车、且草稿非空并被真正提交清空时,frame 中央才闪一记太极——0.15s 内浮起,八卦环转 150°,1.3s 内上浮淡出;
pointer-events: none,不挡任何操作。空格输入、Shift+Enter 换行、空草稿回车、点发送按钮都不会触发。
- 发送键太极:曜金发送键上的官方箭头换成白/金两仪太极,整个 34px 圆键就是太极盘;只在发送态生效,生成中的停止键与停止方块保持原样。用 CSS
:has() 在 composer bar 内定位,不改官方 DOM。
- 山水:底部 9% 不透明度的水墨山脊与一线金水。
- 背景题字:整页偏左(
left: clamp(300px,24vw,500px)、纵向 46%),两列竖排行书——右列 天行健 / 君子以自强不息 分作上下两句,左列 地势坤 / 君子以厚德载物 同样分句(句间留 .85em),并整体下移 4.2em 与右列错开;字号 clamp(20px,4.5vh,44px)、字距 .16em,墨色约 15%(深色约 18%),浮在八卦星轮与山水之上、随主题换墨,指针穿透。
- 箴言:输入框下方
✦ 命运可见 · 智慧可行 · 自在而生。
- 字标:
深度求索(宋体)/DEEPSEEK 两行锁定。
- 今日占卜:「深度求索」字标右侧一枚竖排令牌——17×24px,上圆下平、双金线框、顶部穿绳孔,
占/卜 二字 8px 竖刻(官方品牌行固定 24px 且 .brand 裁切,令牌不能再高)。点开是居中的今日签卡——日期、八卦卦名与三爻、签诗、解签、宜/忌;点背景或 Esc 收起。点「收下」则走一套完整的收签仪式:签卡收起后,一纸朱砂符咒(敕令、符纹、六爻、卦名朱印)自画面中央落下,停约 0.6 秒后飞向右下并淡出(1.7 秒),同时在右下角落成一枚「今日卦象」小签——六爻重卦、卦名(巽为风等八正卦)与签级;小签留在页面上,悬停后点右上角 × 收起。符咒与卦象都尊重 prefers-reduced-motion(只淡入淡出,不飞不转)。
- 尊重
prefers-reduced-motion:星轨、呼吸、闪烁全部停止。
核验
node --check client.js、index.js 通过;package.json / locale JSON / icon SVG 均可解析。
- V3.1 紫微:
npm run build 自动重建引擎(金标准 1990-01-01 子时男 = 水二局·命主巨门);node --test tests/*.test.mjs 14 项全过(含 tests/ziwei.test.mjs:引擎挂载、5 个新槽位、命盘 12 宫、模型徽记与 1017 复刻、推演开关与入盘档案);node tools/test-engine.mjs 引擎回归全过。
- Host bundle 安装结果:
application: applied,Loader 条目 include:hermes-skin 为 active。
- Desktop 的启动图在应用启动时冻结(Electron 主进程缓存
boot injections),首次安装后需要退出并重新打开 DeepSeek Harness 一次,Client 半才会挂载;之后修改 client.js 会由 client-hmr 热替换,无需再次重启。
- 侧栏单槽位:本包以
priority: -100 shadow 官方品牌(官方 priority 0 显示 inactive);conversation.hero.brand.mark 也以 -100 注册了一个返回 null 的占位,因此空白会话标题前不再出现任何太极印。
- 活体槽位:
conversation.composer.dock 中 hermes-motto(order 20)与 hermes-send-taiji(order 21)均为 active;shell.overlay 中 hermes-ambient(order -10,内含中央背景题字)、hermes-fortune(order 40)、hermes-send-taiji(order 45)与 hermes-boot(order 50)均为 active;sidebar.brand.name 的皮肤字标(priority -100)为 active,占卜令牌随它一起渲染;右下角卦象小签也由 hermes-fortune 这一个槽位承载。
- 静态核验:以
vm + 伪 React/document/伪定时器触发 apply() 并渲染——BaguaPlate 输出 8 组三爻(每组 3 根)+ 8 枚菱形星点 + 太极金环;开机生命周期 0s 入场、4.4s 切淡出、5.0s 返回 null;发送太极只在「回车 + 草稿非空 + 随后草稿清空」时出现,空格、Shift+Enter、空草稿回车均为 null,1.5s 后自动收起;样式表花括号闭合、${BRUSH} 已内联。
- 新增三项的静态核验:发送键太极是纯 CSS 规则(
[data-slot="conversation.composer.bar"] button[class*="_primary"]:has(svg path),仅在箭头 svg 存在时生效,不参与组件渲染);占卜签由 FORTUNE_LOTS × 日期取模的纯函数生成;星点坐标 12 个全部落在避开星轮的左侧与底部空区。
- 收签流的静态核验:令牌实测 17×24,正好收进官方 24px 品牌行;点「收下」后
casting 挂 1.7 秒定时器、到点卸载;accepted 保留到点 × 或刷新;PURE_HEXAGRAM 覆盖八支签,六爻由同一三爻上下相叠(乾为天…兑为泽),与三爻签一一对应。
- 视觉核验:用无头 Chromium(1440×900 @2x,浅色/深色各一套)把真实 client 组件渲染进仿 DSH 外壳,截取 base / 签卡 / 收下 450ms / 收下 2s 四态与令牌、题字、符咒、卦象四张特写;行楷(Xingkai SC)确认生效,console/pageerror 均为 0。截图只作本机迭代用,不入仓库。
现在应该看到
- 启动或刷新页面:先落五秒开机动画——正中先天八卦盘,八卦环缓转 45°,上/下/左/右四句行书依次扫入,4.4 秒开始淡出、5 秒整消失;点按任意处或 Esc/Enter 可提前跳过,空格不会触发。
- 侧栏左上角:曜金细环的太极印 + 宋体「深度求索 / DEEPSEEK」字标;字标右侧一枚金线竖排的「占卜」令牌,点开看今日一签(同日不变,Esc/点背景收起)。点「收下」:签卡先收,画面中央落下一纸朱砂符咒,约 1 秒后飞向右下淡出,右下角留下一枚「今日卦象」小签(六爻、卦名、签级),悬停可点 × 收起。
- 新建会话标题前:不再有太极印,只留标题与留白。
- 输入框里打一句话、按回车发送:屏幕中央会闪一记八卦太极(约 1.3 秒),然后消失;打字时空格/换行/点发送按钮都不闪。
- 发送键:曜金圆键上是一枚白/金两仪太极(箭头已换掉);生成中它变回停止方块,旁边另有停止键,发送逻辑不变。
- 输入框下沿:
✦ 命运可见 · 智慧可行 · 自在而生。
- 页面偏左的背景:极淡的两列竖排行书——右列
天行健 / 君子以自强不息 分两句,左列 地势坤 / 君子以厚德载物 分两句并整体下移,和右列错开,作为整页背景画的一部分。
- 整体:月华白纸面、墨色主按钮、曜金发送键、烟紫链接与次级文本;右上角 22% 的八卦星轮水印(星点已避开轮面、轮子随窗口缩放)、底部 9% 水墨山脊与星点。
- 切到深色(设置 → 通用 → 外观 → 深色):玄夜墨底 + 月金 + 浅檀主按钮,同一套元素换色。
备注
- 侧栏两个单槽位由官方品牌包以 priority 0 占用;本皮肤注册 priority -100 来 shadow(单槽位规则:priority 越低越优先),所以官方品牌在检查器里显示为 inactive。
- 空白会话标题前的太极印已用
NoHeroMark(返回 null,priority -100)遮掉;想恢复成 34px 太极印,把 apply() 里 conversation.hero.brand.mark 的那条注册删掉,或换回原来的 HeroMark 组件即可。
- 发送太极的触发在
SendTaijiKeywatch:捕获阶段监听 keydown,只认「编辑区内 + 纯 Enter(无 Shift/Cmd/Ctrl/Alt、非输入法合成)+ 草稿非空」,再等 useInput 的草稿被提交清空才 emitSendBurst();画面由 shell.overlay 里的 hermes-send-taiji 承担。想改节奏改 .hermes-send-plate 的 1300ms 动画与 1500ms 自动收起;嫌它多余就删掉 shell.overlay 里 hermes-send-taiji 的注册。
- 侧栏品牌字标会取代默认品牌名;若只想保留配色与印记,可在
client.js 的 apply() 里删掉 sidebar.brand.name 的注册。
- 正文字体保持系统无衬线;宋体只用于品牌字标与箴言,行书用于开机动画与中央背景题字,避免 14px 正文换成衬线/书法字体后发虚。
- 开机动画用的八卦盘是
BaguaPlate(先天八卦,BAGUA_TRIGRAMS 按「初爻朝内」排),改动只影响开盘画面;侧栏太极印与右上角水印仍是各自独立的图形。
- 开场的跳过监听(Esc/Enter/点击)只在
phase !== 'gone' 期间挂载,5 秒结束即随 effect 清理摘除;因此动画结束后在输入框里敲空格、回车都不会再把开场八卦点亮(旧版把监听留在了已隐藏的组件上,所以按空格会闪一下开场)。空格也不再是跳过键。
- 开机动画只在每次页面载入(启动或刷新)时播放一次:
BootCurtain 的初值用 sessionStorage + performance.timeOrigin 记了一份「本页面已播」标记,所以 client-hmr 热替换同一份文档不会重播,只有真正刷新/重开才再开场。嫌五秒长可改 client.js 里 BOOT_MS;完全不想要就删掉 apply() 中 hermes-boot 的注册。四句字号在 .hermes-boot-line--top/--bottom(目前 clamp(20px, min(4.5vh, 3.4vw), 48px))与 .hermes-boot-line--left/--right(clamp(17px, 3.6vh, 40px)),想再大/再小直接改这两处;字号变大时记得同步收上下留白(top/bottom 的 8.5vh)和两侧竖排的内缩(3vw)。
- 行书字体栈
BRUSH 优先 macOS 自带 Xingkai SC(华文行楷),其次 Zhi Mang Xing(志莽行书,需自行安装,更像手写行草)、Hannotate SC(手札体)、Kaiti SC(楷体)。想更接近毛笔手迹,把 "Zhi Mang Xing" 提到栈首。
- 右下角「轻触任意处 · 跳过」提示如需隐藏,删掉
client.js 里 hermes-boot-hint 那个节点即可。
- 背景题字随
hermes-ambient 渲染在 shell.overlay,每个页面(含空白新会话)都能看到;竖排两列、右起,每列拆成上下两句(句间 .85em),左列再落低 4.2em 与右列错开,整体 left: clamp(300px,24vw,500px) 偏左、纵向 46%;字号 clamp(20px,4.5vh,44px)(按视口高度收缩),深浅主题用 --hermes-inscription 两组 alpha;觉得太重就调低 alpha,想改大小改字号 clamp,想换回横排把 的 改为 、去掉 的 ,并把两列里的上下句 span 合并即可。
许可
MIT © 2026 Qijinchun (haoyu-qi)
字体不随仓库分发,只通过 font-family 引用系统已安装的字体;仓库里的 SVG、图形与文案均为本项目原创。
V3.1 内嵌的紫微排盘引擎来自 Renhuai123/ziwei-doushu(MIT,见 vendor/ziwei/LICENSE.upstream),打包依赖 iztro 与 lunar-javascript 亦为 MIT(vendor/ziwei/NOTICE.md);命盘对话框页脚保留来源说明。