DeepSeek Harness 的核心理念是「一切皆插件」。在構建自動化工作流時,智能體往往需要處理演示文稿文件。傳統的方案要麼依賴本地安裝 PowerPoint 或 LibreOffice,要麼依賴外部轉換服務。dsh-plugin-web-ppt 作爲一個純 JS 實現的工具,直接在 Harness 環境中讀取並導出 PPT 文件,無需聯網,也不需要安裝 Office。
核心工具¶
該插件提供三個工具,分別對應讀取、渲染和導出三個階段:
ppt_read:逐頁返回標題、正文和演講者備註,是 Agent 讀懂一份 PPT 的入口。ppt_render_svg:每頁導出一個自包含的 SVG(圖片內聯爲 data URI)。ppt_export_html:整份導出爲一份可打印 HTML,通過瀏覽器「打印爲 PDF」即可得到 PDF 文件。
所有文件讀寫操作經由 Harness 的 fs 服務,因此 workspace 歸屬、沙箱策略與寫入審批與 Harness 的常規行爲一致。
安裝與啓用¶
在終端中執行以下命令完成安裝:
dsh plugin --profile <你的 profile> add dsh-plugin-web-ppt
安裝完成後,運行 dsh --profile <name> --dump-config,配置輸出中會出現 # == dsh-plugin-web-ppt 節點,插件即處於生效狀態。
配置項¶
插件支持通過 profile 的 cordis.patch.yml 進行覆蓋配置。注意 patch 會整體替換 config,因此需要寫全所有鍵值對。
- id: web-ppt
name: dsh-plugin-web-ppt
config:
maxFileBytes: 134217728
maxTextChars: 40000
includeHidden: false
| 配置鍵 | 默認值 | 說明 |
|---|---|---|
maxFileBytes |
67108864 (64 MB) | 單文件讀取上限,超出直接失敗 |
maxTextChars |
20000 | ppt_read 的文本預算,超出會截斷並標記爲 truncated |
includeHidden |
false | 是否默認把隱藏頁算進來 |
邊界與限制¶
該插件爲只讀模式,不支持寫入或編輯 PPT。
| 能力 | 限制說明 |
|---|---|
| 文件格式 | 支持 .pptx (Zip+OOXML) 與 .ppt (CFB+Escher) |
| 導出格式 | 不支持導出 PNG(Node 環境無 canvas) |
| 加密文件 | 默認不支持,需在調用時傳入 password |
| 動畫 | 不支持播放動畫,只能導出終態或按點擊批次展開 |
| SVG 兼容性 | 導出 SVG 使用原生 <text> 而非 foreignObject,以確保設計工具兼容性 |
| 文件大小 | 單文件讀取上限爲 64 MB |
典型用法¶
pages 參數一律是 1 基選擇串,例如 1-3,7 表示第 1、2、3 頁和第 7 頁。不傳該參數表示全部。
1. 讀取 PPT 內容
讀取指定頁面的標題、正文和備註:
ppt_read path/to/presentation.pptx pages=1-5 password=yourpass
2. 導出 SVG
將 PPT 每頁渲染爲 SVG 並保存到指定目錄:
ppt_render_svg path/to/presentation.pptx out_dir=slides pages=1-3
3. 導出可打印 HTML
生成一份包含所有動畫步驟的可打印 HTML 文件:
ppt_export_html path/to/presentation.pptx out_file=print.html animation_steps=true
總結¶
dsh-plugin-web-ppt 爲 DeepSeek Harness 提供了原生的 PPT 處理能力。它不依賴外部轉換服務,不佔用本地 Office 軟件,且所有操作均受 Harness 的權限體系管控。對於需要在 Agent 工作流中涉及演示文稿處理的場景,這是一個直接的解決方案。