Skip to main content
S

dsh-plugin-doc-review

suren-vill/dsh-plugin-doc-review

Review AI-generated Word, PowerPoint, PDF and HTML in the official preview: box problems, edit the text in place, and hand the notes to the agent. PDF and images are annotate-only; editing relies on the Harness bundled LibreOffice kit and Python.

Install

dsh plugin --profile web add github:suren-vill/dsh-plugin-doc-review

README

文档审阅台 · Document Review Desk

一个 DeepSeek Harness 插件:在官方预览里直接审阅和修改文档 —— 不用切换窗口,不用另外导出。

Word、PowerPoint 的页面显示在右侧预览里,你可以框选问题写批注,也可以直接改文字;改完保存回原文件,或把批注打包发给 AI 让它改。


它解决什么

AI 生成的文档需要人过一遍。通常的流程是:打开文件 → 发现问题 → 切回对话描述问题 → 等 AI 改 → 再看。中间要来回换窗口,而且「第 3 页第二段那个数不对」这种话,AI 很难定位。

这个插件把审阅这件事放进预览本身:

  • 看到的就是要改的 —— 页面连着批注框、选中高亮、改字窗,都在同一处
  • 小的错直接改 —— 错别字、数字、措辞,选中就改,保存写回
  • 大的问题框出来 —— 拖一个框,写下意见,附在页面上
  • 一起交给 AI —— 「发给 AI」把批注和已改好的文字整理成结构化清单,打进输入框

支持什么

格式页面预览框选批注改文字逐段编辑
.docx .doc✓✓✓ 就地改✓ 统一字体的段落列表
.pptx .ppt✓✓✓ 选中文字块→改字窗✓ 按页分组
.pdf✓✓——
.xlsx .xls✓✓✓—
.md .txt——✓ 纯文本直接编辑—
.html .htm报告原样显示—✓ 在报告里改—
图片✓✓——

格式保留:改字走的是「按 run 差分替换」,改一个词不会把整段的加粗、字号、颜色抹掉。表格单元格同理。


安装

# 从 npm
npm install dsh-plugin-doc-review

# 或从 GitHub
npm install github:<用户名>/dsh-plugin-doc-review

装完在 Harness 的设置 → 插件里启用,然后重启 Harness。

插件会作为预览器候选注册。打开文档后,在预览标题栏的下拉里选「审阅台」——官方的预览器仍然是默认,随时可以切回去。


怎么用

进入审阅模式后:

框选批注

在页面上拖一个框 → 右侧写下意见。框会自动定位到它覆盖的段落,批注上显示 → p:12,点它跳到原文。

改文字(Word / Excel)

看页面:单击一个段落,弹出改字窗(字号可读、带原文对照)。改完 Ctrl+Enter 应用,Esc 取消。

看文字:切换成段落列表,一行一段,像文本文件一样连续改。Word 用等宽字体,PPT 保留原字体并按页分组。

改过的段落会变黄,右侧「改字」页签列出所有待保存的改动,可以单独撤销。

改文字块(PowerPoint)

幻灯片按文字块(形状)来编辑,和 PowerPoint 一样:单击一个文字块 → 它整体高亮 → 打开改字窗,窗里是这个块的全部段落,一行一段。改完应用,写成对每个段落的修改。

保存 / 发给 AI

按钮作用
保存把改过的文字写回文件(自动备份 <文件名>.bak-<时间戳>),然后重新渲染
发给 AI把批注 + 已改好的文字整理成清单,放进输入框,你过一眼再发送

缩放

[−] 100% ▾ [+]

  • 点百分比打开菜单:50% / 75% / 100% / 125% / 150% / 200% / 300%,以及适应宽度、适应页面
  • Ctrl + 滚轮(触控板捏合同样)缩放,光标下的位置保持不动
  • 快捷键:Ctrl 0 回到 100%、Ctrl 1 适应宽度、Ctrl 2 适应页面

性能

打开文档时只渲染第一页,其余页滚动到时才画;标了「正在准备可编辑文字」时,文字其实已经能改了。

同一个文档第二次打开是秒开 —— 转换走的是 Harness 自带的 Office 转换服务,按内容缓存。

配置(可选):

# cordis.patch.yml
- id: doc-review
  name: dsh-plugin-doc-review
  config:
    dpi: 96              # 页面图的分辨率,越大越清晰也越慢
    maxPagePixels: 2400000  # 单页像素上限

依赖

  • Harness 自带的 LibreOffice Kit —— 页面渲染和格式转换用它,不需要另外装
  • Harness 自带的 Python(~/.dsh/dsh-runtimes/.../python.exe)—— 需要 python-docx、python-pptx、pypdf,Harness 的运行时里都有
  • 插件优先用 Harness 的 officeToPdf 服务转换;那个服务不在时会直接调渲染器,所以两种环境都能跑

已知限制

  • PDF 只能批注,不能改字 —— PDF 没有可编辑的文本模型
  • 图片只能批注
  • 就地改字时,段落重新换行由原文档的排版决定,浏览器里的换行位置可能和渲染图略有出入 —— 保存写回的是文字,排版由 Office 重排
  • 改字保存后会自动备份;备份文件不会被清理,需要时自己删

开发

# 在真实浏览器里跑插件(不需要启动 Harness)
node tools/verify-client.mjs <文档路径> <截图输出>

# 改字流程
node tools/verify-inplace.mjs <文档路径> <截图输出>

# 缩放与改字窗
node tools/verify-zoom.mjs <文档路径> <截图输出>

# HTML 报告
node tools/verify-html.mjs <html 路径> <截图输出>

这些探针会把文档复制到临时目录再测,不会碰你的原文件。它们用 tools/diag-server.mjs 在本地起一个跑着真实插件代码的服务器,再用真实 Chromium 驱动真实的 client.js。

插件结构:

index.js            Host 端:/api/dsh-doc-review 一条路由,按 action 分派
client.js           浏览器端:预览器注册、审阅界面、缩放的控制器
cordis.patch.yml    装进 profile 的 bundle 补丁
tools/doc_textblocks.py   段落 + 坐标(Word / PPT)
tools/doc_apply_text.py   按 run 差分写回,保留格式
tools/doc_html.py         HTML 报告的文本定位与写回

许可

MIT

Related plugins