首頁工具

OfficeCLI:為 AI Agent 設計的原生 Office 套件

2026-06-08 · github.com/iOfficeAI/OfficeCLI · 6.5k ⭐ · MIT
一句話:把 python-docx + openpyxl + python-pptx 三件套壓進單檔二進位,加上內建渲染引擎讓 agent 能「看到」自己產出的文件——這是現有 Office 自動化工具從未解決的問題。

它是什麼

OfficeCLI 是單一二進位 CLI 工具(.NET 內嵌,無外部依賴),讓 AI agent 透過指令列讀寫 .docx/.xlsx/.pptx。不需安裝 Microsoft Office、不需 Python、不需 npm。

repo 6.5k stars、503 forks,最後 commit 不到 24 小時前(撰文當下),活躍開發中。支援 Linux ARM64——可以直接在 Oracle ARM 機器上跑。

它不是:Python 包裝器(底層直接操作 OOXML)、桌面應用(雖然有 AionUi GUI 可選)、僅限特定 agent 生態(MCP server 內建,Claude Code/Cursor/Copilot 都支援)。

三層架構

層級用途指令
L1 (Read)語義視圖:快速了解文件view text/outline/stats/issues/html
L2 (DOM)結構化操作:讀寫元素get/set/add/remove/query
L3 (Raw)原始 XML 兜底raw/raw-set/add-part

傳統程式庫(python-docx 等)只有 L2。OfficeCLI 往上加 L1(語義視圖),往下加 L3(原始 XML 兜底)。agent 工作流變成:view stats 了解規模 → view issues 找問題 → get --json 定位 → set --prop 修改 → view html 視覺確認。每一步都最小化 token 用量。

核心差異化

渲染引擎

多數 Office 自動化工具的盲點:agent 改完文件後無法確認產出是否正確。OfficeCLI 內建從零打造的渲染引擎,把 .docx/.xlsx/.pptx 轉成 HTML/PNG,二進位自帶。CI/CD 裡可以 view screenshot 存成 artifact,Docker 內可以 watch 開 localhost 預覽。這是目前開源 Office 工具中唯一做到「render → look → fix」的。

公式引擎

Excel 場景下,set A1 --prop value="=SUM(B1:B10)" 後 get A1 --json,回傳的 value 已經是計算結果。150+ 內建函數,含動態陣列函數(FILTER/UNIQUE/SORT)自動加 _xlfn. 前綴。不需等 Excel 打開才 recalc。

模板合併

officecli merge template.pptx output.pptx data.json 把 {{placeholder}} 替換成 JSON 值。agent 設計一次版面(token 昂貴),後續用 JSON 填入 N 次(便宜、確定性)。

對 DKY 的適用性

場景適用度說明
保險 PDF 比對報告產出模板 .docx → merge JSON,比 python-docx 簡單一個量級
GA4 數據報表公式引擎 + 樞紐分析直接吐 .xlsx
內容策展視覺驗證watch 模式讓 agent 發布前看到 PPT/Word 產出
PDF 原生操作處理 .docx 不是 .pdf,需搭配其他工具

限制

我的判斷

如果 DKY 環境需要程式化產出 Office 文件(報告、報表),裝一個 ARM64 單檔二進位比維護三套 Python library 更簡單。但目前 DKY 內容站以 HTML 為主,Office 文件的場景有限。先列入觀察清單,等保險 PDF 比對 pipeline 重構時優先試用。