前言¶
讓智能體產出一份能直接交付的演示文稿,在 Agent 開發裏一直不算輕鬆。常見做法是讓模型輸出 Markdown 或大綱,再由人工套模板排版;如果想直接生成 PPTX,又要面對 OOXML 的複雜格式,出錯概率不低。
dsh-np-ppt 把這件事收斂到了 DSH(DeepSeek Harness)插件體系內:用一套 YAML 語法的 PPTD DSL 描述幻燈片,配合本地可視化編輯器與 Python-PPTX 編譯內核,從對話生成到導出 PPTX 在同一條鏈路上完成。下面介紹這個插件的定位、核心能力和安裝使用方法。
這是什麼¶
dsh-np-ppt 是 DSH 原生的 PPT 演示文稿專家插件,作者爲 GitHub 用戶 z953218350,採用 MIT 許可證,當前版本 1.0.0。一句話概括:內置 PPTD DSL 引擎、55173 所見即所得可視化編輯器、Python-PPTX 高保真離線編譯內核與一鍵導出 PPTX 功能。
DSH 的理念是「一切皆插件」,插件可以注入系統提示詞、註冊 Agent 工具、擴展 Web 前端。這個插件按同一套機制工作:裝載後會在 DSH Web GUI 新增「PPT 演示文稿專家」Agent 預設,自動注入系統提示詞,使 AI 直接具備演示文稿創作能力;同時把預設文件複製到 ~/.dsh/.agent-presets/np-ppt/,便於離線複用。
核心功能¶
PPTD DSL 引擎¶
PPTD 採用 YAML 語法描述幻燈片,標準 16:9 畫布。頁面按文件模塊化拆分,從 01_cover.page 到 XX_final.page,每頁獨立自洽。編譯時自動爲所有幻燈片添加淡入淡出(Fade)切換過渡。
55173 所見即所得可視化編輯器¶
插件內置一個輕量級本地 Web 編輯器,服務地址爲 http://127.0.0.1:55173/,支持多層嵌套富文本修改、自由拖拽對齊與即時渲染。
導出彈窗做了聯動:點「下載」直接觸發本地 Python-PPTX 編譯引擎生成文件;選「圖片」則保持原生圖片切圖下載。
Python-PPTX 高保真離線編譯內核¶
編譯內核位於 compiler/export_pptx.py,離線運行。它基於 RichTextHTMLParser 狀態機解析富文本,支持無限層級嵌套的 HTML 標籤(span、strong、b、em、i、u、br),顏色支持 #HEX、rgb()、rgba()、$theme 全格式。
輸出側做了幾處保真處理:微軟雅黑(Microsoft YaHei)字族鎖定、DrawingML 漸變背景、noAutofit 文本框防縮放。
9 大專業視覺風格體系¶
內置九套視覺風格:
- 商務管理風
- 深淺代碼風
- 高能增長風
- 炫光紫綠風
- 冷白調研風
- 輕擬態風
- 黑金實驗風
- 色譜圖表風
- 深藍雜誌風
Agent 工具與前端擴展¶
插件註冊了原生 Agent Tools(ppt_export、ppt_serve 等),並通過 client 注入方式提供 DSH Web 前端插件擴展。
安裝與啓用¶
先確認環境:需要已安裝並能運行 dsh 命令的 DSH 環境;Node.js 16+(推薦 18+),插件爲預編譯 ESM,lib/ 目錄即裝即用,無需構建;Python 3.x,需 py -3 / python3 / python 之一可調用。
推薦通過 DSH 命令行掛載,在終端執行:
dsh plugin --profile web add link:<項目路徑>
<項目路徑> 指插件在本機的目錄路徑,按實際位置替換。在 pnpm workspace 根目錄下添加時,可能需要附加 -w/--workspace-root 參數:
dsh plugin --profile web add -w link:<項目路徑>
如果不走命令行,也可以手動配置:在 ~/.dsh/profiles/web/cordis.patch.yml 中添加:
- insert:
- id: dsh-np-ppt
name: 'dsh-np-ppt'
然後在 ~/.dsh/profiles/web/node_modules/ 下建立指向項目路徑的符號鏈接:Windows 用 Junction / mklink /J,macOS 與 Linux 用 ln -s。
安裝完成後需要重啓 web profile:在運行 dsh web 的終端按 Ctrl+C,再重新執行 dsh web,插件即加載生效。
關於 Python 依賴:首次運行編譯器時會自動通過 pip 安裝 pyyaml 與 python-pptx;缺網或缺 pip 的環境可手動執行:
pip install pyyaml python-pptx
典型用法¶
對話驅動生成¶
在 DSH Web GUI 中切換到「PPT 演示文稿專家」預設,直接與 AI 對話,例如:
幫我用科技藍風格做一份 8 頁的《微服務架構重構技術方案》
該預設內置了完整的 PPTD DSL 編寫規範、9 大風格主題說明,以及本地編譯與 55173 編輯器的聯動指引。
本地可視化編輯與導出¶
經過上面的步驟裝好插件後,可以在瀏覽器裏做可視化調整:
- 瀏覽器打開
http://127.0.0.1:55173/; - 點擊「打開 PPTD 文件夾」,授權選擇包含
deck.pptd的項目目錄; - 在頁面中直接修改文字、調整排版,即時查看渲染效果;
- 點擊右上角「導出」-> 選擇 PPT -> 點擊「下載」,即可下載 PPTX 幻燈片。
命令行直接編譯¶
不需要編輯器時,可以在 PPTD 項目目錄下直接運行內置編譯器:
py -3 <項目路徑>/compiler/export_pptx.py deck/deck.pptd --output deck/deck.pptx --force
macOS / Linux 下把 py -3 換成 python3。首次運行若無 pyyaml / python-pptx,腳本會自動通過 pip 安裝。
適用場景與注意事項¶
適合的場景:
- 已在使用 DSH,希望通過對話直接產出可交付 PPTX 的用戶;
- 生成後需要在本地做可視化微調、再編譯導出的工作流;
- 希望離線編譯、不依賴在線轉換服務的環境。
使用前注意:
- 瀏覽器要求:55173 編輯器使用
window.showDirectoryPicker()等 File System Access API 能力授權本地目錄讀寫,推薦 Chrome / Edge 等支持該 API 的桌面瀏覽器;不支持該 API 的瀏覽器會降級爲只讀上傳模式。僅做「對話生成 + 命令行編譯導出 PPTX」時,瀏覽器不是必須。 - 權限與安全:插件以當前
dsh進程的權限運行。安裝前建議先閱讀項目源碼與許可證(MIT),確認可接受再掛載。 - 手動安裝時,符號鏈接的建立方式因系統而異:Windows 用 Junction /
mklink /J,macOS 與 Linux 用ln -s。
結語¶
dsh-np-ppt 把對話生成、本地可視化編輯和離線編譯導出串成一條鏈路:對 DSH 用戶來說,裝載一個插件即可讓 Web GUI 多出一位「PPT 演示文稿專家」,產出物是標準 PPTX 文件,可直接進入後續使用環節。
項目地址與目錄頁:
- GitHub:https://github.com/z953218350/dsh-np-ppt
- 社區插件目錄:https://www.skillhub.cn/plugins/z953218350/dsh-np-ppt
(目錄爲社區獨立維護的站點,與 DeepSeek 無官方從屬關係。)