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 的漸進式複雜度安全可控
- L1 – 讀取 – 高階檢視 (
view outline、view html、view issues)。 - L2 – DOM – 結構化元素操作 (
get、query、set、add、remove)。路徑穩定 (/slide[1]/shape[2]),不依賴繁重的 XPath。 - L3 – 原始 XML – 作為備援的直接 XPath 操作 (
raw、raw-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 資產成為可能。