前言¶
DeepSeek Harness(DSH)右侧栏文档面板默认可预览常见文本类文件。工作区里若打开 .docx 或 .xlsx,会落到纯文本渲染器,界面提示「非文本文件,暂时无法预览」。要对照文档内容写提示词或核对表格,只能切到系统里的 Office/WPS,或另开浏览器上传——与「在 Harness 里完成上下文工作」的路径不一致。
dsh-office-preview 是维护者 JohnGD 发布的客户端类插件:在浏览器内解析 OOXML,只读展示 Word 与 Excel,不安装 Office、不访问外部服务。下面介绍它的能力边界、安装方式与使用时的注意点。
这是什么¶
dsh-office-preview 面向 DeepSeek Harness 右侧栏文档面板,接管 Word(.docx 等)与 Excel(.xlsx 等)的预览渲染。
- 维护者:JohnGD
- 分类:客户端(行为全部在浏览器 bundle 中)
- 许可:MIT(package.json 版本 1.0.0)
- 源码与说明:GitHub - JohnGD/dsh-office-preview
- 社区目录页:SkillHub - dsh-office-preview(独立社区站点,与 DeepSeek / 幻方无官方从属关系)
未安装本插件时,上述 Office Open XML 文件仍走官方纯文本回退;安装并在 Harness 中启用后,在侧边栏点开对应文件即可看到结构化预览。
核心功能¶
支持的扩展名与渲染内容¶
| 扩展名 | 渲染内容 |
|---|---|
.docx .docm .dotx .dotm |
标题层级;段落(缩进与项目符号);加粗 / 斜体 / 下划线;表格(含嵌套表格) |
.xlsx .xlsm .xltx .xltm |
工作表分页签;行列号表头;合并单元格;列宽;数字与日期格式;公式的缓存值 |
旧二进制格式(.doc、.xls)不由本插件声明,仍使用纯文本回退;.pptx 目前不在范围内。
实现要点(客户端、零外部依赖)¶
插件在官方扩展点 ctx.documentPreviews 与插槽 sidebar.right.tab.document 上注册两个渲染器,不 patch Harness 源码,不调用外部服务;除 react 外无额外运行时依赖。
OOXML 在浏览器内处理:lib/client.js 内置 ZIP 中央目录读取(通过 DecompressionStream 解 raw-DEFLATE)与小型 XML 读取器,未引入 JSZip、SheetJS 或 mammoth。lib/index.js 仅用于让 Cordis loader 加载客户端入口,可见逻辑均在客户端半。
Harness 兼容性在 package.json 中声明为 dsh >= 0.1.1-rc.2,并列出若干已标注 compatible 的发行版本;运行环境要求 Node >= 20。
安装与启用¶
插件以当前 DSH 进程权限运行;安装前建议阅读仓库源码与 MIT 许可证,确认符合你的安全策略。
从插件市场安装(推荐)¶
在 Harness 中:设置 → 插件市场 → 发现,搜索 dsh-office-preview,安装后按提示重启 Harness。
用预构建包安装(不用市场、不用 npm)¶
本包未发布到 npm;官方 README 给出的命令如下:
dsh plugin --profile web add https://github.com/JohnGD/dsh-office-preview/releases/latest/download/dsh-office-preview.tgz
离线手动安装¶
Windows 使用 install.ps1,macOS 与 Linux 使用 install.sh。以 Windows 为例:
powershell -ExecutionPolicy Bypass -File install.ps1
脚本会做三件事:
- 将包复制到
<home>\plugins\dsh-office-preview; - 建立
<home>\profiles\node_modules\dsh-office-preview联结指向该目录(Cordis loader 解析插件条目名的回退根); - 在 profile 补丁层
<home>\profiles\web\cordis.patch.yml追加一条insert行,修改前自动备份。
补丁层启用 patchReload: live 监听,通常刷新页面(Ctrl+R)即可生效;若无变化,重启 DSH Desktop。
两种安装形态不要同时启用:profile 依赖(dsh plugin add 或 link:)与 install.ps1 / install.sh 路径若重复挂载同一插件 id,会冲突。
安装后可在 Harness → 设置 → 插件清单 看到 dsh-office-preview 与内置插件并列。仅当作为 profile 依赖安装时,插件市场 → 已安装 才会列出,并标记为「本地开发」。
典型用法¶
无需单独命令行「打开预览」:在 DSH 工作区选中或打开已支持的文件,右侧栏文档面板会自动走本插件注册的渲染器。
维护者在仓库提供自检脚本(需 Node >= 20),可在克隆或下载源码后于插件目录执行,验证解析、渲染与客户端注册契约(README 示例路径面向 Windows DSH Desktop 自带的 node):
$node = "$env:APPDATA\dsh-desktop\harness\.desktop-bin\node.cmd"
& $node test\parse.mjs samples\sample.xlsx samples\sample.docx
& $node test\render.mjs samples\sample.xlsx samples\sample.docx
& $node test\plugin.mjs
成功时各脚本输出 ALL CHECKS PASSED;samples/ 内含示例工作簿与文档,不依赖外部文件。
适用场景与限制¶
适合:在 Harness 内只读查看 .docx / .xlsx 正文与表格结构;离线或不便安装 Office 的环境;希望预览数据不出本机、不经第三方 SaaS 的场景。
边界与限制(来自官方 README):
- 只读:预览不会写回文档。
- 图片、批注、修订痕迹、图表、宏不渲染;相关文字内容仍会显示。
- 单文件读取上限受 Harness
workspaceFiles.readAll约束,默认 32 MiB。 - 大表格最多渲染 4000 行 × 160 列,超出部分会提示。
卸载:若用 install.ps1 安装,可执行 uninstall.ps1(加 -RemoveFiles 可删除已复制文件);若作为 profile 依赖安装,在 市场 → 已安装 → 卸载 移除。
结尾¶
dsh-office-preview 把 Word / Excel 的 OOXML 预览收进 DSH 右侧栏文档面板:浏览器内解析、无 Office、无联网,与 DSH「一切皆插件」的扩展方式一致。需要能力细节或自行审计实现时,以 GitHub 仓库 README 为准。