Hacker News· fgrandon·· 8 天前AI 评分36
Antigravity Excel Engine:面向 AI 智能体的双核 Excel 自动化引擎
Antigravity Excel Engine – Dual-Core Excel Automation for AI Agents
AI 导读
Antigravity Excel Engine 发布,这是一款面向 AI 智能体与数据管道的 Excel 自动化引擎,采用双核混合运行时:文件打开时走 Live COM 实时重算,关闭时自动切换 Headless OpenPyXL。
正文 · AI 翻译
面向自主智能体与数据管道的企业级、AI 原生 Excel 自动化引擎。
问题所在 • 核心功能 • 快速开始 • CLI 界面 • 对比矩阵 • 贡献指南
💡 为什么选择 Antigravity Excel Engine?
构建与 Microsoft Excel 交互的自主 AI 智能体(LangChain、AutoGen、CrewAI、MCP Sidecars)或机器人流程自动化,向来以脆弱著称:
- 💥 交互式冻结(
0x8001010A): 如果用户正在单元格中主动输入,经典 COM 库会立即以RPC_E_SERVERCALL_RETRYLATER崩溃。 - 💸 Token 上下文窗口耗尽: 向 LLM 发送冗长的 JSON 结构或原始矩阵会耗尽上下文窗口,并使推理成本成倍增加。
- 🧟 僵尸进程噩梦: 未处理的异常经常会在后台内存中留下隐藏、挂起的
EXCEL.EXE进程,永久锁定文件。 - 🐢 OpenPyXL 盲区: 无头文件操作无法重新计算易失性公式,也无法实时评估活动电子表格。
Antigravity Excel Engine 通过自适应 双核运行时、自动 Token 压缩、自愈式 COM 锁恢复 以及有保证的 零泄漏进程生命周期,彻底消除了这些摩擦点。
🚀 核心功能
- 🔄 Dual-Core Hybrid Runtime: Seamlessly detects whether the target spreadsheet is currently open in Microsoft Excel.
- 文件已打开? 启用 实时 COM,实现实时重新计算、动态公式求值、可视化更新以及完整的
Ctrl+Z撤销历史。 - 文件已关闭? 自动切换到 无头 OpenPyXL,以获得最大吞吐量和服务器级速度。
- 文件已打开? 启用 实时 COM,实现实时重新计算、动态公式求值、可视化更新以及完整的
- 📉 75% LLM Token 压缩: 将表格数据打包成密集、规范化的 CSV 流,专为 LLM 提示上下文注入而设计,而非浪费性的 JSON 序列化。
- 🛡️ 自愈单元格守护者: 采用指数自适应退避,优雅地拦截交互式编辑状态,等待人工输入完成,而不是抛出 COM 错误。
- ⚡ 声明式原子映射: 在单个原子事务中更新值、公式、注释、RGB 样式、边框和列自动适应。
- 🔍 公式错误哨兵: 在保存或向智能体报告之前,自动审计区域中的求值错误(
#VALUE!、#REF!、#DIV/0!、#N/A、#NAME?)。 - 🤖 带确定性 JSON 的 CLI: 原生命令行界面,带有
--json标志,可零摩擦集成到智能体工作流和工具调用框架中。
🏗 双核架构
flowchart TD
Agent[🤖 Autonomous AI Agent / Data Pipeline] --> Engine[Antigravity Excel Engine API]
Engine --> Detector{Target Workbook Open in Excel?}
Detector -- Yes --> COM[🚀 Live COM Engine\nwin32com.client]
Detector -- No --> Headless[⚡ Headless Engine\nOpenPyXL]
COM --> Guardian[🛡️ Self-Healing Backoff Guardian\n0x8001010A Auto-Recovery]
Guardian --> LiveOps[Real-time Recalculation & Undo Support]
Headless --> FastOps[High-Speed In-Memory File Processing]
LiveOps --> Streamer[📉 Token-Optimized CSV Streamer\n-75% LLM Context Overhead]
FastOps --> Streamer
Streamer --> Agent
加载中
⚡ 快速开始
1. 安装
# Clone the repository git clone https://github.com/FranciscoGrandon/antigravity-excel-engine.git cd antigravity-excel-engine # Install dependencies pip install -r requirements.txt
2. 30 秒上手 Python API
from antigravity_excel_core import AntigravityExcelEngine # Initialize (auto-detects Live COM vs Headless OpenPyXL) engine = AntigravityExcelEngine(mode="auto", file_path="financial_model.xlsx") # 1. Read token-optimized stream (ideal for LLM prompt context) csv_stream = engine.get_range_as_csv("A1:D50") print(csv_stream) # 2. Apply declarative atomic updates with styles & formulas engine.set_cells({ "A1": { "value": "Total Revenue", "cellStyles": {"fontWeight": "bold", "backgroundColor": "#0E2E63", "fontColor": "#FFFFFF"} }, "B1": { "formula": "=SUM(B2:B10)", "cellStyles": {"numberFormat": "$#,##0.00"} }, "A2": { "value": "Autonomous Agent Note", "note": "Audited and verified by Antigravity Engine" } }, autofit=True) # 3. Audit for broken formulas errors = engine.check_formula_errors("A1:B10") if errors: print(f"⚠️ Formula errors found: {errors}") # 4. Commit changes safely engine.save()
🤖 面向 AI 智能体与管道的 CLI
每条命令都支持确定性 --json 输出,使其可直接兼容子智能体、bash 脚本和工具调用编排器:
# Inspect Excel environment and active workbooks python antigravity_excel_cli.py status --json # Extract range as token-dense CSV stream python antigravity_excel_cli.py get-csv A1:D50 --file "data.xlsx" --json # Apply batch cell updates from JSON payload with auto-fitting python antigravity_excel_cli.py set-cells --input-file payload.json --autofit --json # Audit formulas for evaluation anomalies python antigravity_excel_cli.py check-errors A1:Z100 --file "model.xlsx" --json
📊 功能矩阵
| 功能 | Antigravity Excel Engine | xlwings | openpyxl | 纯 win32com |
|---|---|---|---|---|
| AI 提示 Token 优化 | ✅ 是(-75%) | ❌ 否 | ❌ 否 | ❌ 否 |
| 双核(实时 COM + 无头) | ✅ 自动 | ❌ 仅实时 | ❌ 仅无头 | ❌ 仅实时 |
自愈 COM 锁(0x8001010A) |
✅ 内置 | ❌ 崩溃 | 不适用 | ❌ 崩溃 |
| 公式错误哨兵 | ✅ 内置 | ❌ 手动 | ❌ 无求值 | ❌ 手动 |
| 保证零僵尸泄漏 | ✅ 是 | ⚠️ 偶尔 | ✅ 是 | ❌ 容易泄露 |
| 面向代理的确定性 CLI | ✅ 原生 JSON | ❌ 否 | ❌ 否 | ❌ 否 |
🤝 贡献
非常欢迎贡献、问题报告和功能建议!在提交 Pull Request 之前,请查阅我们的 CONTRIBUTING.md 指南。
📄 许可证与作者
由 Francisco Grandón Vergara 自豪开发。
基于 MIT License 发布。
来源:Hacker News · github.com