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 列表在啓動時讀取)。
啓用與停用¶
通過編輯配置文件控制主題的啓用與停用。
- 打開配置文件:
~/.dsh/profiles/web/cordis.patch.yml。 - 添加或修改條目:
- 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
注意事項¶
- 字體依賴:插件字體均調用系統已有的字族,不內嵌任何字體文件。
- 多主題衝突:多主題並存會互相疊加,建議只留一個啓用,其餘寫上
disabled: true。 - 暗色邏輯:暗色不是亮色的機械反轉,而是暖調暗色,暗階間距比亮階更寬。
- 許可證:插件採用 MIT 許可證。
dsh-theme-newsprint 通過純 CSS 和系統字體棧,爲 DSH 帶來了報紙級的閱讀體驗。更多細節與源碼,請參考 GitHub 倉庫:https://github.com/2754LM/dsh-theme-newsprint。