dsh-officecli:让 Agent 用自然语言操作 Office 文档并实时预览

前言

这是由 violetdream 维护的 DeepSeek Harness (DSH) 客户端插件。它的核心价值在于让 Agent 能够通过自然语言创建、编辑 Office 文档(docx / xlsx / pptx),并将结果实时回显到 DSH Web 的侧边栏。

OfficeCLI 是一个没有布局引擎的命令行工具,直接让模型调用底层 add shape 并填坐标几乎必然导致排版崩坏。本插件因此内置了一套 PPT 设计层,负责计算坐标、字号和配色,模型只需填写内容;对于 docx 和 xlsx,则提供贴近原语的底层工具。

安装与配置

1. 安装依赖与构建

进入插件目录,安装依赖并构建:

cd D:\workspace\deepseek-harness\dsh-officecli
pnpm install --ignore-workspace
pnpm build

2. 挂载到 DSH Profile

在 DSH 仓库根目录执行安装命令:

node --import tsx/esm apps/cli/src/bin.ts plugin --profile web add "D:\workspace\deepseek-harness\dsh-officecli"

3. 配置插件

编辑 $DSH_HOME/profiles/web/cordis.patch.yml(注意:不能改 cordis.yml),插入以下配置:

- insert:
    - id: dsh-officecli
      name: dsh-officecli
      config:
        officecliPath: officecli
        workspaceDir: ""
        watchPort: 0
        commandTimeoutMs: 30000
        batchTimeoutMs: 60000

4. 重启 DSH

安装完成后,重启 DSH 进程使配置生效。

核心功能

工具与设计层

插件提供 16 个 AI 工具(12 个底层原语工具 + 4 个高层 PPT 工具)。对于 PPT,内置了 设计层:
- 画布:960×540pt
- 网格:12 栏
- 基线:8pt
- 主题与模板:8 套主题、19 种版式、12 套专业模板
- 样式协议:deck.style 注入元数据、默认转场、页码格式

原生元素与安全

除了形状,插件还原生接入了 officecli 的 chart(18 种图表)、table、picture、diagram(mermaid)、connector、animation、notes。执行层面使用 spawn 参数数组,无 shell 拼接,文件名白名单校验,确保安全。

实时预览与集成

  • 侧边栏预览:点击侧栏底部的「📄 Office 预览」,iframe 加载 OfficeCLI watch 页面。
  • 跟随模式:Agent 编辑文档时,列表项高亮闪烁,预览自动刷新,无需手动刷新。
  • 视觉一致:预览面板使用 DSH 主题变量与 dsh-client-ui-primitives 图标,支持浅深色主题适配。
  • 会话隔离:每个对话会话有独立工作区,文件落点为 exec.agent.session.cwd。

使用示例

侧边栏操作

  1. 点击 DSH Web UI 侧栏底部的「📄 Office 预览」按钮。
  2. 点击文件后,下半部分 iframe 加载 OfficeCLI watch 页面。
  3. Agent 编辑文档后,列表项高亮闪烁,预览自动刷新。

底层原语(docx / xlsx)

创建一个 report.docx,写两段自我介绍。
在 report.docx 的第二段后插入一个表格,包含姓名、年龄、职业三列。
读取 report.docx 的全部内容。
列出当前会话中的所有 Office 文档。

高层 PPT 生成(推荐流程)

请先用 office_design_guide 查看设计规范,然后用 office_deck_create 生成一份 7 页的
中文 PPT,主题为《2026 年 AI 办公趋势洞察》,文件名 ai趋势洞察.pptx,主题用 tech-cyan。
生成后用 office_screenshot 逐页截图自查,如发现文字溢出或对比度问题就用 office_batch
修正,最多 3 轮。

DeckSpec 示例

提供一个 JSON 格式的配置,包含 theme、slides 等字段,模型只需关注内容填充。

注意事项

  • 前置依赖:需要安装 OfficeCLI 并在 PATH 中或配置绝对路径;需要 Node.js v18+。
  • 配置文件:配置必须写入 cordis.patch.yml,不能修改 cordis.yml。
  • 构建要求:改动 src/ 目录后必须重新运行 pnpm build 并重启 DSH,运行时加载的是编译产物。
  • 可选功能:无 HTTP 的 profile 下工具照常工作,只是没有侧边栏预览。

链接

  • 项目目录:https://www.skillhub.cn/plugins/violetdream/dsh-officecli
  • 源码地址:https://github.com/violetdream/dsh-officecli
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜