DSH Plugins Marketplace

DSH Plugins

Plugins

/

Themes & Skins

/

dsh-preview-theme

d

dsh-preview-theme

Identified

Color presets and a custom paper-color picker for the built-in DSH sidebar PDF, converted Office, and spreadsheet previews, with dark-mode brightness control and locally saved preferences; changes onl

预览配色(dsh-preview-theme)

给 DeepSeek Harness 的侧边栏文档预览换纸张底色:PDF、Word(docx/doc,经 LibreOffice 转 PDF)和 Excel(xlsx/xls/csv/tsv)都能一键变成「黑底白字」,也可以选护眼米黄、豆沙绿、淡蓝、午夜蓝等, 或者用取色器调任意颜色。只改显示,不改文件——所有改动都是浏览器里的 CSS,原文件一个字节都不会动。

纯黑(黑底白字)护眼米黄
黑底白字 PDF护眼米黄 PDF
Excel 黑色Excel 淡蓝
Excel 黑色Excel 淡蓝

支持的文件类型

格式预览方式是否支持
.pdf内置 pdf.js 画布支持
.doc / .docxHost 用 LibreOffice 转成 PDF 后走 PDF 预览支持
.ppt / .pptx同上(转 PDF)支持
.xlsx / .xlsFortuneSheet 表格(浏览器内解析)支持
.csv / .tsv表格预览(切到纯文本时不套用配色)支持
图片 / Markdown / 代码 / HTML其它预览器不在本插件范围

安装

从 npm 安装

在 DSH 的「插件」页面选择「添加插件」/「安装第三方插件」,输入 dsh-preview-theme 并安装、启用。 如果界面没有立即变化,刷新页面。也可以在完全退出 DSH 后,用其 CLI 安装:

dsh plugin --profile desktop add dsh-preview-theme

然后重新启动 DSH。Web 配置请把 desktop 换成 web。卸载时使用 dsh plugin --profile desktop remove dsh-preview-theme。

从本地源码安装

将仓库克隆到一个稳定位置,例如 ~/.dsh/plugins/dsh-preview-theme,然后在插件页面输入该目录的 绝对路径,或用 CLI 执行 dsh plugin --profile desktop add /绝对路径/dsh-preview-theme。 本地路径安装会链接该目录,因此安装后不要移动或删除它。

使用

打开右侧边栏里的 PDF / Word / Excel 预览,预览标题栏(路径那一行)最右边会多一个调色盘按钮:

  • 点开就是配色面板:原色 / 纯黑 / 墨黑 / 深灰 / 午夜蓝 / 墨绿 / 护眼米黄 / 豆沙绿 / 淡蓝 / 淡粉 / 自定义;
  • 「自定义」用系统取色器选任意颜色,深色自动变黑底白字、浅色自动变浅底深字;
  • 深色方案多一个亮度滑杆(70%–120%),觉得白字太亮可以调暗;
  • 选过的配色会记住(localStorage),重启/刷新后仍然生效;
  • 点「原色」或「恢复默认」就完全还原成默认外观。

改动是全局预览配色:换一个文件、换一个标签页都沿用;想只临时看一个文件时,看完点回「原色」即可。

配色表

名称色值效果
原色—关闭插件效果(白色纸张 + 浅灰底)
纯黑#000000纯黑纸、白字
墨黑#0b0f14近黑(偏冷)
深灰#1f2126炭灰纸、浅字
午夜蓝#101b2d深蓝纸、白字
墨绿#101f17深绿纸、白字
护眼米黄#f4ecd8米黄纸、黑字
豆沙绿#cce8cf护眼绿纸、黑字
淡蓝#dbe7f5淡蓝纸、黑字
淡粉#f6e3e5淡粉纸、黑字
自定义任意按亮度自动选深色/浅色方案

原理(为什么不用改预览器)

内置预览包 @deepseek-ai/dsh-client-ui-sidebar-documentpreview 在 DOM 上留了稳定的 data-* 钩子:

  • [data-textpreview-body]:预览滚动区;
  • [data-pdf-preview]:PDF / Word / PPT 的页面容器(每页是一个 canvas + 透明文字层);
  • [data-excel-preview]:表格容器(FortuneSheet 画布 + 公式栏 + 工作表标签)。

本插件做两件事:

  1. 纸色:覆盖主题 token --dsw-alias-bg-document-preview(通过 ctx.theme.overrideTokens, 官方扩展点,写成 body 内联变量,不跟内置样式抢优先级);
  2. 页面内容:
    • 浅色纸:给 canvas(PDF)/ 表格子元素(Excel)加 mix-blend-mode: multiply —— 白纸乘上纸色变成纸色,黑字仍是黑字;
    • 深色纸:先 filter: invert(1) hue-rotate(180deg) 把白纸/黑字翻成黑纸/白字,再 mix-blend-mode: screen 把页面底色染成所选深色(白色文字保持不变)。hue-rotate(180deg) 让图表和图片的颜色尽量保持原色相。

插件只注册一个标题栏按钮(文档预览的 sidebar.right.tab.document.actions 槽位)和一段样式表, 关掉/卸载后样式与 token 覆盖都会被清理干净。

限制

  • 只影响内置预览。「近期成品」等其它位置里用系统 PDF 查看器 iframe 显示的 PDF 不在可样式化范围内。
  • 深色方案会反转文档里的图片/图表颜色(hue-rotate 只能近似还原色相),这是所有「反色阅读模式」的通病。
  • Excel 是整块画布渲染,深色模式下公式栏、工作表标签会跟着一起反色(通常正是想要的效果);不支持只改单元格区域。
  • 预览的 data-* 属性属于 DSH 内部实现,升级 DSH 大版本后如失效,重新适配即可(test/check-bundle.mjs 可做冒烟检查)。

开发与验证

node test/check-bundle.mjs     # 无需浏览器:校验 bundle 契约、样式选择器、槽位注册
node --check lib/client.js     # 语法检查

客户端半边修改后是热重载的(安装后 <1s 生效);Host 半边是空实现,不需要重启。

目录

dsh-preview-theme/
  package.json          # dsh.bundle.patch + dsh.client(无构建步骤)
  cordis.patch.yml      # Host 行(空实现,只为让 Loader 挂载并下发 client bundle)
  lib/index.js          # Host 半边:空 apply
  lib/client.js         # 全部功能:样式、token、标题栏按钮、配色面板(纯 React.createElement)
  locale/{zh,en}.json   # 插件管理里显示的名称/描述
  icon.svg              # 插件图标
  docs/*.png            # 效果图
  test/check-bundle.mjs # 静态冒烟测试
  README.md             # 本文件

Comments

Loading…

Similar plugins

dsh-theme-pack

by MoYu-CN

Extra light and dark color themes for the DSH UI, registered as pure color tokens on top of the official theme runtime.

Manifest valid

★ 0

MIT

JavaScript

Oct 12, 2026

dsh plugin --profile web add dsh-theme-pack

by Alicex7777

DSH Web 界面配色调节插件:在设置里直接调整会话栏、左右侧栏与文字色,含 OKLCH 深度/鲜亮度调节、日间夜间方案与预设

Terminal & ClientsManifest valid

★ 0

MIT

JavaScript

Oct 2, 2026

dsh plugin --profile web add dsh-theme-colors
dsh-background-by-model3

No screenshots

by HarmlessFunny

Per-model appearance for the DSH Web UI: an ordered rule list matched against the current session model name, each rule carrying its own wallpaper, theme colour, layout mode, framing and wallpaper opa

Themes & SkinsManifest valid

★ 24

↓ 1.2k/wk

MIT

TypeScript

Oct 25, 2026

dsh plugin --profile web add dsh-background-by-model
dsh-md-preview

No screenshots

Dockable Markdown preview for the DSH Web UI: side-by-side with the conversation, a per-session recently-read .md list, local relative-path images render in place, and clicking an in-chat .md referenc

Themes & SkinsDevelopment & InfrastructureManifest valid

★ 0

dsh plugin --profile web add dsh-md-preview
dsh-themes

No screenshots

Look & theme plugin for the DSH Web UI: built-in palettes, light/dark/follow-system appearance modes, Open VSX theme search & install, and VS Code theme import with a persisted theme library.

Themes & SkinsManifest valid

★ 1

MIT

TypeScript

dsh plugin --profile web add dsh-themes
dsh-style-hub3

No screenshots

by Au1314

Theme studio for the DeepSeek Harness web GUI: eight switchable preset styles, accent and panel-translucency fine-tuning, host-side wallpapers painted on the first frame, and a one-click fix when the

Themes & SkinsManifest valid

★ 0

MIT

TypeScript

Sep 26, 2026

dsh plugin --profile web add dsh-style-hub