Vai al contenuto principale
N

dsh-parchment-theme

nacivageer/dsh-parchment-theme

Parchment-and-ink theme for the DeepSeek Harness Web UI, with a paper texture, Song serif type and a matching dark palette.

Installazione

dsh plugin --profile web add github:nacivageer/dsh-parchment-theme

README

羊皮纸主题 · dsh-parchment-theme

把 DeepSeek Harness 的 Web 界面换成一套「旧纸 + 墨褐 + 宋体」的样子:浅色是羊皮纸,深色是墨夜,跟着系统的明暗自动切换。

只换皮,不动骨架:侧栏、会话、设置、插件市场还是原来的位置和操作,拉一个回车还是拉一个回车。

本外观主题主要聚焦于护眼和 4K 屏易读性,因此本主题的界面文字普遍会比原尺寸更大。如果你在小屏幕上更看重信息密度,这个主题可能不合手——界面上的侧栏、设置、工具栏是主题里写死的档位,会话正文则跟随「设置 → 通用 → 字号大小」(推荐 17px;主题以前把这个值钉在 18px,导致设置项形同虚设,现已交还给设置)。

看效果

羊皮纸(浅色) 墨夜(深色)

左浅右深,同一台机器、同一个只装了本主题的干净实例(默认工作区、起始页),1600×1000。

界面语言切成英文(en-US)也是同一套。西文不是把中文字形硬套上去:正文的拉丁字形来自思源宋体自带的拉丁部分(Source Serif 一脉),标题与标签的拉丁来自寒蝉活宋体自带的拉丁(它由 Shippori Mincho 改造而来)。所以英文界面换的是另一套西文衬线,不是被拉伸的宋体拉丁。

英文界面:羊皮纸(浅色) 英文界面:墨夜(深色)

会话轨迹页,浅色(v0.1.25 起整页提了一档字号,图例与轮次标签也换过):

轨迹页(浅色)

设置页(通用设置)在两种模式下的样子:

浅色:设置 → 通用设置 深色:设置 → 通用设置

抓的是「外观」「字号大小」「工作步骤」这些行与右侧控件:整个面板放大到 1.15 倍,下拉、按钮、三张外观卡片各有自己的表面,选中项是暖褐底 + 暖边。账号页需要登录才能看,所以这里没放。

装与停

  1. 把本仓库放到本地任意目录(或者解压 Release 里的包)。
  2. 在 Harness 里执行 plugin_manager → install_bundle,target 填本目录的绝对路径。
  3. 刷新页面。之后改了样式表也是这样刷新,客户端模块不热更新。
  4. 停用:plugin_manager → set_plugin / set_bundle(enabled: false),再刷新,界面回到出厂外观。

主题不占「设置 → 外观」里的位置(那里仍然只有 明 / 暗 / 跟随系统 三项),开关就是插件的启停。

你会看到什么

纸面 整页铺一层噪点纸纹(浏览器实时画的,不是图片素材),正文墨褐色,链接靛青。浅色底 #C0B8A9 / 字 #2A2219;深色底 #221D18 / 字 #ECE1CB。

排印 正文用思源宋体 CN Medium、18px;会话标题用寒蝉活宋体_復 Bold、21px;代码块正文 16px 斜体,标题「代码块」用猫啃网故障宋 20px 斜体;侧栏里工作区行 18px、会话行 16px、时间 13px,这一列的层级终于是看得出来的。

侧栏 「工作区」那一栏有色带(浅色灰蓝、深色暖褐配金字),工作区行有圆角垫底,一眼能分出分组和会话。新会话图标换成羽毛笔,「加载更早」旁边加了个沙漏。

账号 头像换成火漆印(侧栏 32px、设置页 40px);账号名是横向棕金渐变的斜体,浅色深色各一组色。

会话内容 代码块有暖纸衬底和 1px 框线;「已编辑 N 个文件」卡片、交付文件卡片、定时任务卡、自动化任务横幅(含展开的正文)统一成同一族纸面,不再有白块从纸里「挖」出来的感觉;diff 的新增 / 删除行按纸色调过,墨色字压在衬底上仍然清楚。

设置页 整个面板放大到 1.15 倍,按钮、下拉、卡片有统一的表面;账号页的打码手机号、更多账号信息、余额行标签放大到 17px;「查询用量」做成「已激活外观卡」那种暖褐面,和「充值」区分开主次。

右侧栏起始页 右侧那排入口(工作区文件 / 代码审查和变更 / 新建终端 / 浏览器 / 更多工具)标题 16px、摘要 14px、卡片 78 高;四枚来自不同包的彩色图标(黄文件夹、蓝终端、蓝地球、浅蓝格子)统一压成墨褐色,与「代码审查和变更」的线条图标同一色系。快捷键统一 13px。

会话轨迹页 工具栏、事件表、详情面板整页比出厂提一档:工具栏 14/24(出厂 12/20),事件表正文 14,turn 标签 10、类型标签 12、详情标题 15。时间轴的「输入 / 模型 / 工具」图例从 10px 最淡的墨提到 12px 二级墨;轮次标签用上游自带的紧凑写法「#18」(14px、纸色底),比原来挤在 36px 栏位里的「第 18 轮」清楚得多;工具栏那几个「全部收起 / 展开」图标也从字符换成了与时钟同规格的 SVG,线宽与尺寸一致。

会话底栏 底部那排读数点开后的三张卡片(上下文已用 / 会话统计 / Token 用量)正文 14/20、标题 15/22,两列行距也放宽了。上下文卡片里的构成条三段由墨褐 → 暖棕 → 金,不再是从调色板跳出来的蓝紫色。

Platform 覆盖层 打开「用量 / 充值」这类平台页时,顶部那条「返回 DeepSeek Harness」用侧栏入口那套显示字面(寒蝉活宋体 17/24),不是系统 UI 字体。

两套配色(选摘)

用途羊皮纸(浅色)墨夜(深色)
底纸#C0B8A9#221D18
卡片 / 代码块#D2CCC2#332C24
正文#2A2219#ECE1CB
用户气泡#B8A987#332D26
主按钮#3A2E20#E6DECE
链接 / 业务强调#4A6172#A3B4BF
成功 / 错误 / 警告#4C7A5A / #A33C31 / #A9772B同色提亮

字体

这些字体本机要装好,主题里只声明家族名、不分发字体文件:

  • 思源宋体 CN(Medium、SemiBold)—— 正文与分组标题
  • 寒蝉活宋体_復(含 Bold)—— 会话标题、设置页导航、新会话大标题、「加载更早」
  • 猫啃网故障宋 —— 只用于代码块标题,没有就落到寒蝉

京華老宋体在 0.1.28 撤出(它只服务「新会话」「加载更早」两处,却是一份 35 MB、作者条款不许修改字形的字体),这两处改用寒蝉活宋体 400 字重。

缺字体不会变成无衬线:字体栈最后兜到 serif。另外,如果你在「设置 → 通用 → 文本字体」里自己选了字体,那个选择仍然优先。

已知限制

这几处不是没做完,是改不到或者故意不改:

  • 「设置 → 外观」里不会多出第四项,主题不占那个位置。
  • 标题栏右侧的窗口按钮区、顶栏「应用 / 编辑」菜单、文字的右键菜单由系统和 Electron 画,不跟随配色。
  • 「设置 → 通用 → 字号大小」现在会真正改变会话正文(10–22px),主题不再覆盖它;代码块与终端字号由同页的另外两项控制。侧栏、设置页、工具栏的字号仍是主题自己的档位,不跟这三项走。
  • 只有浅色、深色两套,没有第三种。
  • DSH 上游的 tooltip 偶发残留:一个提示停在旧位置不走,典型是「新会话 Ctrl+N」卡在标题栏左上角、消息上的「复制」飘在正文旁边。原因是 tooltip 组件没拿到定位(JS 没写 left/top),不是主题引入的,主题也改不到。清掉的方法:
    • 侧栏上的(如「新会话」):点一下左侧栏的收起图标,把侧栏收起来(提示随之消失),再点开即可。
    • 消息区的(如「复制」):切到另一个会话再切回来,提示就没了。
    • 这两种都只是清掉当前的残留,下次悬停还可能再出现;根治要等上游修 tooltip。

想自己改

  • 颜色:client.js 顶部有两张表(LIGHT / DARK),改完刷新即可。
  • 字号与个别组件:同一文件下面的样式表字符串,按组件注释找对应那几行。
  • 改完跑一次 node test/smoke.mjs,CI 跑的也是这一条。
  • 版本变化见 CHANGELOG.md;当初为什么这么做、踩过哪些坑见 docs/决策记录.md。

许可

MIT。字体由各自的授权方提供,本仓库不分发字体文件;纸纹是运行时生成的 SVG 噪声,不含任何素材图片。

Plugin correlati