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
羽毛球分组比赛记分
小程序二维码

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

小夜