OfficeCLI – 為 AI 代理打造的開源 Office 套件

OfficeCLI – 為 AI 代理打造的開源 Office 套件

OfficeCLI 讓 AI 代理只需一條指令即可完整、無頭地控制 Office 文件

OfficeCLI 是首個為 AI 代理專門打造的開源套件,能在不需要 Microsoft Office 的情況下建立、讀取與修改 .docx.xlsx.pptx 檔案。它以自包含的二進位檔形式發佈,提供高保真度的 HTML/PNG 渲染,並公開一套可決定性的 JSON‑based CLI,讓代理直接呼叫。


一行安裝,立即整合 AI

  • 在 macOS/Linux 上使用 curl -fsSL https://raw.githubusercontent.com/iOfficeAI/OfficeCLI/main/install.sh | bash 安裝(Windows 透過 PowerShell)。腳本會放置單一二進位檔,並註冊一個 skill file,讓 Claude Code、Cursor、GitHub Copilot、VS Code 等 AI 工具自動偵測。
  • 對於 AI 代理,skill file 可透過 curl -fsSL https://officecli.ai/SKILL.md 取得。只要二進位檔已在路徑中,代理即可直接執行任何 officecli 指令,無需額外設定。

"Very good and well done. I found immediate use‑case for this." – HN commenter @pdp


核心功能一覽

功能 功能說明 為何對 AI 重要
建立 / 讀取 / 修改 officecli add deck.pptx / --type slide --prop title="Q4 Report" 這樣的單行指令即可取代數十行 Python/JavaScript 程式碼。 減少 token 使用,消除函式庫相依的困擾。
內建渲染引擎 officecli view deck.pptx html 產生忠實的 HTML 預覽;officecli view deck.pptx screenshot 產出每張投影片的 PNG。 代理能 看到 視覺結果,解決無頭 CI 環境中的 渲染 → 檢視 → 修正 迴圈。
公式與樞紐分析引擎 超過 350 個 Excel 函式在寫入時自動計算;officecli add sales.xlsx '/Sheet1' --type pivottable … 可建立完整的樞紐分析表。 不需要透過 Excel 來回操作,代理即可即時取得計算結果。
模板合併 officecli merge template.docx out.docx '{"client":"Acme"}' 會在所有格式中替換 {{key}} 佔位符。 版面一次設計後,可零 token 成本重複填入 N 次。
往返匯出 / 批次 officecli dump report.docx -o blueprint.json 將任意文件(或子樹)序列化為 JSON;officecli batch new.docx --input blueprint.json 重新播放。 代理可從既有文件學習,產生變體而不必自行解析原始 OOXML。
常駐模式與即時預覽 officecli open report.docx 讓檔案保持在記憶體中;officecli watch report.pptx 提供自動刷新瀏覽器預覽。 多步工作流程幾乎零延遲,立即得到視覺回饋。
MCP 伺服器 officecli mcp claude 以 JSON‑RPC 暴露所有操作,讓任何 LLM 在不需要 shell 存取的情況下充當工具。 簡化與專有 IDE 助手的整合。

三層架構讓 LLM 的漸進式複雜度安全可控

  1. L1 – 讀取 – 高階檢視 (view outlineview htmlview issues)。
  2. L2 – DOM – 結構化元素操作 (getquerysetaddremove)。路徑穩定 (/slide[1]/shape[2]),不依賴繁重的 XPath。
  3. L3 – 原始 XML – 作為備援的直接 XPath 操作 (rawraw-set)。

"If you don’t need interactive/animated features, I can absolutely recommend to have the agent build slides in HTML and convert it to PDF. Has been a game changer for me." – HN commenter pietz


社群突顯的實際使用案例

  • 自動化報表 – 在 CI 流程中從資料庫查詢產生 Word 報告或 Excel 儀表板。
  • 批次文件驗證officecli validate report.docx && officecli view report.docx issues --json 讓代理在交付前自行校正版面、引用或公式錯誤。
  • 企業問責 – 如評論者所指出,第二層驗證(修訂/屬性)對企業採用至關重要;OfficeCLI 的 view issues 與決定性 JSON 輸出為此類稽核提供堅實基礎。
  • 跨語言 SDK – 輕量的 Python (pip install officecli-sdk) 與 Node.js (npm install @officecli/sdk) 包裝器,讓開發者在不必為每次呼叫產生新行程的情況下嵌入 CLI。

與現有方案的比較

標準 OfficeCLI Microsoft Office (COM) LibreOffice (UNO) python‑docx / openpyxl
開源且免費 ✅ (Apache 2.0) ❌ (授權)
無頭、無需安裝 Office 部分支援 ✅ (需 Python)
單一二進位檔、跨平台 ❌ (多套件)
基於路徑的元素存取
內建高保真渲染
JSON 友好工具輸出
模板合併 ({{key}})
即時預覽 (watch)

討論中常見的問答

  • OfficeCLI 支援巨集或 VBA 嗎? – 目前的功能聚焦於 OOXML 操作;巨集不會被執行。Excel 公式由內建引擎計算,但 VBA 程式碼不會執行。
  • 實作是否符合 ECMA‑376 標準? – 有評論指出缺乏完整的 ECMA‑376 測試覆蓋。OfficeCLI 以功能相容為目標,尚未將正式合規測試列為首要任務。
  • OfficeCLI 能處理 LibreOffice 檔案嗎? – 不支援 .odt/.ods/.odp。此工具僅限於 Microsoft Office Open XML 格式。
  • 與 HTML → PDF 流程相比如何? – 對於靜態內容,HTML 轉 PDF 可能更簡單,但 OfficeCLI 能保留原生 Office 功能(圖表、動畫、樞紐分析表),這些是 HTML 無法呈現的。

開發者快速上手

# Install (macOS/Linux)
curl -fsSL https://raw.githubusercontent.com/iOfficeAI/OfficeCLI/main/install.sh | bash

# Create a presentation and add a slide
officecli create deck.pptx
officecli add deck.pptx / --type slide --prop title="Q4 Report"

# Live preview in the browser
officecli watch deck.pptx   # opens http://localhost:26315

# Export a high‑fidelity PNG of slide 1
officecli view deck.pptx screenshot --page 1 -o slide1.png

# Dump the document structure to JSON for an agent to learn from
officecli dump deck.pptx -o blueprint.json

下一步該往哪裡走

  • 文件 – Wiki 中有 Word、Excel、PowerPoint 的格式專屬參考,還有端到端工作流程範例。
  • 社群 – 加入 Discord(從 repo 連結取得)討論代理整合模式。
  • 貢獻 – 歡迎提交 PR;自行編譯需 .NET 10 SDK,但已發布的二進位檔是完整自包含的。

OfficeCLI 展示了專為無頭環境設計的 Office 套件,能大幅降低使用 LLM 進行文件自動化的阻力,讓在 CI 流程或自主代理中完整產生、驗證與迭代 Office 資產成為可能。

Sources