DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Office Preview — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
O

dsh-office-preview

Office Preview

Word (.docx) and Excel (.xlsx) previews for the DeepSeek Harness sidebar document pane — OOXML parsed locally in the browser, no Office installation and no network.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:JohnGD/dsh-office-preview#cf6fc80a1460a18bc6f551ac908029fd14520c69
READMECompatibilityVersions

Compatibility and provenance

Office Preview is published as dsh-office-preview and currently resolves to version 1.0.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
9/23/2026

Versions

1.0.0stable
9/23/2026

Related plugins

Loading related plugins…

Latest
1.0.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
9/23/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in productivity-workflow.

Acp App@deepseek-ai/dsh-acp-appThe dsh ACP profile bundle: automation-only JSON-RPC stdio and process lifecycle over dsh-baseClient Ui Task Board@linxin666/dsh-client-ui-task-boardHost-authoritative task board for the DSH Web GUI with real session execution, Host cron scheduling, and optional cross-platform idle-sleep protection; mounted without DSH source changes.Web All@linxin666/dsh-web-allDSH Web UI 全家桶聚合插件:一键安装全部功能插件(task-board / git-graph / pet / remote-web-ui / web-ui-settings / skin-center / community-plugins / compat shim)。compat 桥接层已并入本包(src/client),无需独立 compat npm 包。Codex Ui@michengai/dsh-codex-uiDSH Codex UI — 为 DeepSeek Harness Web 提供 Codex 风格侧栏、工作区会话树、全局搜索和轮次导航 · A Codex-style sidebar, workspace session tree, global search, and turn navigation for DSH Web

README

dsh-office-preview

EN · 中文

Word (.docx) and Excel (.xlsx) previews for the DeepSeek Harness sidebar document pane — read-only, no Office installation, no network.

Without this plugin, opening a .docx or .xlsx in the sidebar falls through to the plain-text renderer and shows "Not a text file, preview is unavailable for now."

What it renders

ExtensionRendered
.docx .docm .dotx .dotmHeadings, paragraphs with indentation and bullets kept, bold / italic / underline, tables including nested ones
.xlsx .xlsm .xltx .xltmSheet tabs, row and column headers, merged cells, column widths, number and date formats, cached formula results

Legacy binary formats (.doc, .xls) are not claimed by this plugin and still fall back to plain text. .pptx is out of scope today.

How it works

  • No dependencies, no services. The plugin registers two renderers on the official extension points ctx.documentPreviews and the sidebar.right.tab.document slot. It patches no Harness source, calls no external service, and its only import is react.
  • OOXML is parsed in the browser. lib/client.js contains a ZIP central-directory reader (raw-DEFLATE through DecompressionStream) and a small XML reader; no JSZip, SheetJS or mammoth.
  • The host half is empty. lib/index.js exists only so the Cordis loader carries a client entry; all visible behaviour lives in the browser bundle.

Install

From the plugin market (recommended). In Harness: Settings → Plugin Market → Discover → search dsh-office-preview → Install → restart Harness when asked.

From the prebuilt tarball (no market, no npm).

dsh plugin --profile web add https://github.com/JohnGD/dsh-office-preview/releases/latest/download/dsh-office-preview.tgz

Manual, offline — install.ps1 on Windows, install.sh on macOS and Linux:

powershell -ExecutionPolicy Bypass -File install.ps1

The script does three things:

  1. copies the package to <home>\plugins\dsh-office-preview;
  2. links <home>\profiles\node_modules\dsh-office-preview at it — a root the Cordis loader resolves plugin entry names through;
  3. appends one insert row to the profile's own patch layer <home>\profiles\web\cordis.patch.yml, backing that file up first.

The patch layer is watched (patchReload: live), so a page refresh (Ctrl+R) usually activates the plugin; if nothing changes, restart DSH Desktop.

This package is not published to npm: npm writes the publisher's account e-mail into every published package's public metadata (maintainers[].email). Shipping a prebuilt tarball on a GitHub Release avoids that entirely.

Where it shows up

  • Harness → Settings → Plugin inventory lists dsh-office-preview as an active plugin, next to the built-in ones.
  • Plugin market → Installed lists it only when it is installed as a profile dependency (dsh plugin add, or a link: dependency). There it is labelled "local development" and can be enabled, disabled or uninstalled. The install.ps1 form — patch layer plus fallback link — does not appear in that list; its advantage is that it touches no profile dependency, lockfile or generation projection. The two forms must not be enabled at once: mounting one entry id twice collides.

Uninstall

powershell -ExecutionPolicy Bypass -File uninstall.ps1                # keeps the copied files
powershell -ExecutionPolicy Bypass -File uninstall.ps1 -RemoveFiles   # removes them as well

If the plugin was installed as a profile dependency, remove it from the market instead: Market → Installed → Uninstall.

Self-check

$node = "$env:APPDATA\dsh-desktop\harness\.desktop-bin\node.cmd"   # or any Node >= 20
& $node test\parse.mjs  samples\sample.xlsx samples\sample.docx   # parsers
& $node test\render.mjs samples\sample.xlsx samples\sample.docx   # render path, edge cases included
& $node test\plugin.mjs                                           # client registration contract

Each script prints ALL CHECKS PASSED on success. samples/ carries a small workbook and a small document, so the checks run without any external file.

Limits

  • Read-only: a preview never writes to the document.
  • Images, comments, tracked changes, charts and macros are not rendered; their text is still shown.
  • The per-file read cap comes from Harness's workspaceFiles.readAll — 32 MiB by default.
  • Large sheets are truncated at 4000 rows × 160 columns, with a notice.

License

MIT


中文说明

EN · 中文

dsh-office-preview —— DeepSeek Harness 右侧栏文档面板的 Word(.docx)与 Excel(.xlsx)预览插件:只读、不依赖 Office、不联网。

没有这个插件时,在右侧栏点开 .docx / .xlsx 会落到纯文本渲染器,显示「非文本文件,暂时无法预览」。

渲染能力

扩展名渲染内容
.docx .docm .dotx .dotm标题层级;段落(保留缩进与项目符号);加粗 / 斜体 / 下划线;表格(含嵌套表格)
.xlsx .xlsm .xltx .xltm工作表分页签;行列号表头;合并单元格;列宽;数字与日期格式;公式的缓存值

旧二进制格式(.doc、.xls)本插件不接管,仍走官方纯文本回退;.pptx 目前不在范围内。

实现方式

  • 零依赖、无外部服务。 插件只在官方扩展点 ctx.documentPreviews 与插槽 sidebar.right.tab.document 上注册两个渲染器;不修改 Harness 任何源码,不调用外部服务,唯一引入的模块是 react。
  • OOXML 在浏览器内解析。 lib/client.js 内置 ZIP 中央目录读取器(用 DecompressionStream 解 raw-DEFLATE)与一个小型 XML 读取器,不引入 JSZip、SheetJS 或 mammoth。
  • 宿主半是空的。 lib/index.js 的唯一作用是让 Cordis loader 里存在这个条目,全部可见行为都在浏览器半。

安装

从插件市场安装(推荐)。 在 Harness 里:设置 → 插件市场 → 发现 → 搜索 dsh-office-preview → 安装 → 按提示重启 Harness。

用预构建包安装(不用市场、不用 npm)。

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:

powershell -ExecutionPolicy Bypass -File install.ps1

脚本只做三件事:

  1. 复制包到 <home>\plugins\dsh-office-preview;
  2. 建立 <home>\profiles\node_modules\dsh-office-preview 联结指向它 —— 这是 Cordis loader 解析插件条目名所用的回退根目录;
  3. 在 profile 自己的补丁层 <home>\profiles\web\cordis.patch.yml 追加一条 insert 行,改前自动备份该文件。

补丁层被 live 监听(patchReload: live),通常刷新页面(Ctrl+R)即可生效;若界面无变化,重启一次 DSH Desktop。

本包不发 npm:npm 会把发布者的注册邮箱写进每个已发布包的公开元数据(maintainers[].email)。改为把预构建包挂在 GitHub Release 上,可以完全避开这一点。

它出现在哪里

  • Harness → 设置 → 插件清单:会列出 dsh-office-preview 处于活动状态,与内置插件并列。
  • 插件市场 → 已安装:只有把它装成 profile 依赖(dsh plugin add,或 link: 依赖)时才会出现,标记为「本地开发」,可在市场里启用 / 禁用 / 卸载。用 install.ps1 装的形式(补丁层 + 回退目录链接)不在该列表中;它的好处是完全不触碰 profile 依赖、锁文件与代际投影。两种形式不能同时启用:同一条目 id 挂两次会冲突。

卸载

powershell -ExecutionPolicy Bypass -File uninstall.ps1                # 保留已复制的文件
powershell -ExecutionPolicy Bypass -File uninstall.ps1 -RemoveFiles   # 连文件一起删除

若插件是以 profile 依赖装的,请在市场 → 已安装 → 卸载里移除它。

自检

$node = "$env:APPDATA\dsh-desktop\harness\.desktop-bin\node.cmd"   # 或用任意 Node >= 20
& $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 的 workspaceFiles.readAll,默认 32 MiB。
  • 大表格最多渲染 4000 行 × 160 列,超出部分给出提示。

许可

MIT