dsh-theme-newsprint:报纸衬线主题插件

DeepSeek Harness(DSH)采用插件化架构,开发者可以通过安装社区主题插件快速切换界面风格。dsh-theme-newsprint 是一款将 Typora newsprint 主题的报纸排版气质移植到 DSH Web GUI 的插件。它通过纯 CSS 实现暖白报纸与暖褐暗色方案,并引入衬线字体栈和特定的排版笔画,为 DSH 提供一份具有阅读感的视觉风格。

核心特性

插件核心特性包括:
* 纯 CSS 实现:无 hooks,无图片资产,无运行时依赖。
* 双配色方案:支持暖白纸张与暖褐暗色两套配色。
* 衬线字体栈:正文使用 Georgia → PT Serif → 思源宋体 → 宋体 的降级字体栈。
* 排版笔画:包含 h1、h3、blockquote 等元素的报纸排版笔画。
* 埋点机制:使用 cordis 埋点插件,不依赖 @deepseek-ai/dsh-client-ui-theme。

安装

通过 dsh plugin 命令安装,插件本身是一个普通的 profile bundle。

# 从仓库安装
dsh plugin --profile web add github:2754LM/dsh-theme-newsprint

# 或安装预构建包
dsh plugin --profile web add https://github.com/2754LM/dsh-theme-newsprint/releases/latest/download/dsh-theme-newsprint.tgz

安装完成后刷新浏览器即可生效。若主题未出现,需重启一次 dsh(bundle 列表在启动时读取)。

启用与停用

通过编辑配置文件控制主题的启用与停用。

  1. 打开配置文件:~/.dsh/profiles/web/cordis.patch.yml。
  2. 添加或修改条目:
    - id: newsprint
      disabled: true    # true = 停用;false 或删除这一行 = 启用
加载器会自动热重载。插件以客户端模式运行,修改配置后普通刷新浏览器即可生效,无需重启 dsh。

排版与配色

排版笔画

排版的核心在于笔画。插件定义了以下排版规则:

元素 处理方式
h1 下方一条 1px 细线,常规字重,上方留 2em
h3 恢复常规字重,不逐级加粗
blockquote 左侧 5px 粗边框 + 斜体 + 弱化墨色
thead th 大写
tr:nth-child(even) 斑马行
hr 只保留一条 1px 底线
a 默认无下划线,悬停时显示
img 题注使用暗砖红调

配色方案

配色方案集中在 lib/client.js 的 SCHEMES 中。两套方案共用 buildTokens() 角色映射,修改一处即可全局生效。

  • 亮色:底色为暖白 #f5f3ed,墨色为深褐 #1f0909,强调色为海蓝 #065588。
  • 暗色:底色为暖褐黑 #1a1815(非纯黑),墨色为暖白 #ece7dd,强调色提亮为 #5aa9d6。

开发调试

若要修改配色,只需编辑 lib/client.js 中的 SCHEMES。修改后刷新浏览器即可,因为插件的 <style> 是客户端挂载时注入的。

回归测试需要本机有 Chrome:

npm test

若 ws 不在本包旁边,可用 DSH_ROOT 指向任一带 ws 的 checkout:

DSH_ROOT=/path/to/deepseek-harness npm test

注意事项

  1. 字体依赖:插件字体均调用系统已有的字族,不内嵌任何字体文件。
  2. 多主题冲突:多主题并存会互相叠加,建议只留一个启用,其余写上 disabled: true。
  3. 暗色逻辑:暗色不是亮色的机械反转,而是暖调暗色,暗阶间距比亮阶更宽。
  4. 许可证:插件采用 MIT 许可证。

dsh-theme-newsprint 通过纯 CSS 和系统字体栈,为 DSH 带来了报纸级的阅读体验。更多细节与源码,请参考 GitHub 仓库:https://github.com/2754LM/dsh-theme-newsprint。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜