前言¶
在 DeepSeek Harness(DSH)里做 Office 相关任务时,常见做法是读写磁盘上的 .docx、.xlsx、.pptx 文件。用户若在 Word 里改了几段却还没保存,智能体只能看到上次落盘的内容;改完文件还要用户关掉再打开,或手动刷新,才能在窗口里看到结果。
dsh-office-live 走另一条路:通过 Windows COM 挂到正在运行的 Word、Excel、PowerPoint,针对当前前台文档读取、截图和就地编辑,无需为同步内容反复保存、关闭、重开。维护者为 BeiSheng2333,在 SkillHub 社区目录中归类为客户端插件;仓库见 GitHub,当前版本 0.1.0,MIT 许可证。
这是什么¶
插件向 DSH 注册一组工具,Node 侧在 lib/index.js 里通过 @deepseek-ai/dsh-tools 注册七个工具,实际 COM 与截图由 assets/office-live.ps1 执行;结果经 UTF-8 侧文件回传,避免中文在 Windows 控制台代码页下乱码。与同类插件 dsh-office-tools(面向文件)不同,本插件只操作用户眼前那一窗里的活文档,包括未保存的输入。
核心功能¶
下面按 README 列出的工具说明能力;编辑默认不写盘,除非调用时显式传入 save: true。
状态与读取¶
| 工具 | 作用 |
|---|---|
office_live_status |
查看 Word / Excel / PowerPoint 是否在运行,以及各应用打开了哪些文档 |
office_live_read |
以 JSON 读取活内容:Word 段落与样式、Excel 单元格(含公式求值结果)、PowerPoint 形状 |
office_live_shot |
对应用窗口(含功能区与页面)截 PNG |
office_live_snapshot |
一次调用完成 read + shot,适合编辑前先摸清现状 |
读取上限(README 写明):Word 最多前 400 段;Excel 为活动表已用区域,最多 200 行 × 40 列。
编辑与窗口管理¶
| 工具 | 作用 |
|---|---|
office_live_edit |
批量就地编辑(段落、查找替换、表格、单元格、幻灯片等) |
office_live_open |
在真实 Office 应用中打开文件,便于屏幕上可见 |
office_live_close |
关闭窗口(可选是否保存) |
office_live_edit 支持的操作包括:
- Word:
word.append_paragraph、word.insert_paragraph_before、word.set_paragraph、word.replace、word.insert_table、word.insert_page_break - Excel:
excel.set_cell、excel.set_range、excel.add_sheet - PowerPoint:
ppt.set_text、ppt.add_slide
README Demo 中的可核对行为(未保存即出现在窗口)包括:Word 追加章节与表格;Excel 读出公式值后写入「备注」列;PowerPoint 改要点并 ppt.add_slide 增加第二页。截图与说明见仓库 docs/images/。
环境与依赖¶
- Windows,且安装带桌面的 Microsoft Office,COM ProgID 为
Word.Application、Excel.Application、PowerPoint.Application;README 注明在 Office LTSC 2024 上测试过。 - Windows PowerShell 5.1+(
powershell.exe);可用环境变量OFFICE_LIVE_POWERSHELL指定其他解释器(例如pwsh.exe)。 - 仅真 Office:Microsoft Store 版占位包、网页版无 COM;WPS 使用不同 ProgID,不在本插件设计范围内。
- Node ≥ 20;DSH 兼容性见
package.json中dsh.compatibility字段。
安装与启用¶
在插件市场 UI 中添加 dsh-office-live,或从 checkout / 压缩包安装:
dsh plugin --profile desktop add ./dsh-office-live-0.1.0.tgz
安装后重启 DSH;新会话中即可看到上述工具。安装前建议阅读仓库源码与 MIT 许可证;插件以当前 DSH 进程权限运行,会操作本机已打开的 Office 实例。
典型用法思路¶
- 让用户在 Word / Excel / PowerPoint 中打开目标文档(或用
office_live_open打开文件)。 - 调用
office_live_snapshot或先office_live_read、再office_live_shot,把结构与窗口画面交给智能体。 - 用
office_live_edit按 JSON 操作列表修改;用户在窗口中可用 Ctrl+Z 撤销,确认后再决定是否带save: true保存。 - 需要收尾时调用
office_live_close。
截图会短暂将 Office 窗口置前(抢焦点),属 README 中已说明的行为。
安全与边界¶
- 只附着已有 Office 进程,不创建隐藏文档副本。
- 默认不保存;适合「先看效果再落盘」的协作方式。
- 与文件型 Office 插件互补:要处理未保存编辑或必须「屏幕上立刻可见」时选 live;纯批处理、无 GUI 场景仍可用
dsh-office-tools等读写文件。
更细的架构(三层、JSON 桥、UTF-8 侧文件、默认不保存的原因)见仓库中文文档 docs/HOW-IT-WORKS.md。
结尾¶
dsh-office-live 把 DSH 智能体接到用户正在看的 Office 窗口:读活文档、截窗、COM 就地改,减少文件往返与重开成本。社区目录页:SkillHub — dsh-office-live;源码与 Issue:github.com/BeiSheng2333/dsh-office-live。