Skip to content

About

Open-source Office document processing Skill for AI Agents and Sandboxes, with DOCX, PPTX, XLSX, PDF, conversion, rendering, and offline-first runtime support.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

8 Commits

Folders and files

Repository files navigation

open-office-skill

让 AI Agent 像熟练办公人员一样操作 Office:理解任务与材料 → 选择场景方法 → 组合精细原子能力 → 质量验证 → 交付可直接使用的文件。

中文 | English

License: MIT Version Format

一个面向 AI Agent / Sandbox 的开源 Office 精细操作 Skill。不是模板生成器,而是「场景 SOP + 原子能力 + 质量闭环」三层能力体系,覆盖 Word / Excel / PowerPoint / PDF 的真实办公任务。


🎯 它解决什么问题

  • 传统方案要么只有粗粒度“生成文件”,要么把业务场景写死成模板/固定 Workflow。
  • open-office-skill 让 Agent 真正在已有文件上工作:读懂结构,做局部精细修改;从材料生成文档与演示;从数据得出结论;跨格式重构;并对最终交付负责(四级质量契约 + 精确返修)。

核心价值:精细、可控、可验证。 修改只动该动的地方,交付前用机器断言 + 真实渲染验收。

✨ 核心亮点

  • 精细原子能力不缺失 —— 段落 / Run / 表格 / 单元格 / 公式 / Sheet / Shape / 图片 / 位置尺寸 / 图表 / PDF 页面均可精细操作。
  • 支持插入 Word 批注 —— 不修改正文即可把评审意见挂到段落或具体词句(docx/comment.py),是文档批改/评审的标准做法。
  • 场景 SOP 来自真实案例 —— 去行业化、去模板化,只沉淀可复用的工作方法。
  • 少量 SOP 覆盖大量场景 —— 优先 1 个主 SOP + 最少辅助 SOP + 原子能力,不按业务名称无限新增 Workflow。
  • 局部修改优先(Minimal Change) —— 先定位再 Patch,不默认整份重建。
  • 质量是独立阶段 —— Content / Data / Structure / Visual 四级契约,保存成功 ≠ 任务成功。
  • Edit/Convert 可验保真 —— 用 compare_docs.py 对比前后内容,防止误改。
  • 离线优先 + 内置依赖包 —— 内置 wheels/any + wheels/amd64 + wheels/arm64,适配各类沙箱 / 内网 / 无网环境,开箱即用。

⬇️ 一键下载安装(推荐)

一行命令直接从仓库下载打包好的 Skill(curl 直接从 GitHub 原始文件映射下载):

curl -fsSL -o open-office-skill.zip \
  https://raw.githubusercontent.com/agentforge-tech/open-office-skill/master/skills/open-office-skill.zip

unzip open-office-skill.zip -d "<你的 Agent/Sandbox Skills 目录>"
  • 该 URL 直接映射仓库中的 skills/open-office-skill.zip(默认分支 master),一行命令即可下载安装。
  • 也可从仓库的 skills/open-office-skill.zip 或 Releases 直接下载;该 zip 已纳入版本管理。

从源码一键打包(可选)

git clone https://github.com/agentforge-tech/open-office-skill.git
cd open-office-skill
python3 bin/package_skills.py --force     # 产物:skills/open-office-skill.zip

🚀 快速开始(初始化 + 冒烟)

cd skills/open-office-skill
python3 auto/init.py
export PATH="$HOME/.local/bin:$PATH"
office-run scripts/common/smoke.py

初始化器离线、多架构自适应,装好依赖并写入 $HOME/.local/bin 启动器。

🛠️ 常用操作示例

# 精细修改(Word / Excel / PPT)
office-run scripts/docx/edit.py input.docx operations.json output.docx
office-run scripts/xlsx/edit.py input.xlsx operations.json output.xlsx
office-run scripts/pptx/edit.py input.pptx operations.json output.pptx

# 插入 Word 批注(不修改正文)
office-run scripts/docx/comment.py input.docx comments.json output.docx
office-run scripts/docx/comment.py output.docx --list

# 分析 / 审计 / 交付验证
office-run scripts/xlsx/analyze.py input.xlsx --output analysis.json
office-run scripts/pptx/audit.py output.pptx --safe-margin-ratio 0.02
office-run scripts/quality/verify.py output.pptx --no-blank --max-bottom 0.96

📦 能力覆盖(按文件类型)

类型 覆盖能力
DOCX 创建 · 深度检查(Run / 编号 / 分节 / 页眉页脚 / 表格)· 角色重映射 · 精细编辑 · 全局格式化 · 文本替换 · 插入批注
XLSX 创建 · 检查 · 通用分析画像 · 精细编辑(值/公式/区域/行列/合并/样式/冻结/筛选/图表)· 报表格式化
PPTX 原语创建(textbox / rect / image / table / chart)· 检查 · 精细编辑 · 字体规范化 · 结构布局审计
PDF 创建 · 检查 · 合并 · 拆分 · 水印 / 页码
转换 / 渲染 Pandoc 语义转换 · LibreOffice 保真转换(冲突安全)· PDF → PNG 渲染 · 渲染边界审计
质量 内容保真比较 · 布局一致性审计 · 渲染复核与缓存 · 交付验证 · 精确局部返修

🗂️ 支持的场景(应用场景 SOP)

按真实工作方法路由,而不是按扩展名。每个场景对应一个 SOP;「文件类型操作」与「跨类型应用场景」分层摆放。

你的意图 主 SOP 常用辅助 SOP
分析表格数据、发现规律、产出结论/报告 scenario/数据分析与报告.md 从材料创作文档 / 从分析制作演示 / 质量
清洗、规范、校验或整理工作簿 xlsx/表格清洗与规范化.md 质量 / 格式转换
从材料创建新的 Word 报告/方案/总结 scenario/从材料创作文档.md 多源材料整合 / 质量
润色、改版式、批注审阅已有 Word docx/文档审阅与润色.md 质量
从分析/报告/笔记/PDF 制作 PPT 汇报 scenario/从分析制作演示.md 多源材料整合 / 质量
重构叙事、局部美化已有 PPT pptx/演示重构与美化.md 质量
多个 Office/PDF/图片整合为一份交付物 scenario/多源材料整合.md 从材料创作文档 / 从分析制作演示 / 质量
Office↔PDF、合并拆分、水印、最终交付 pdf/格式转换与交付.md 质量
任意正式交付的最终质量门 _meta/质量检查与局部返修.md(辅助 SOP) —

SOP 目录结构

references/sop/
├── docx/ xlsx/ pptx/ pdf/   # 文件类型:README.md(类型路由)+ 精细操作指南.md(核心操作)+ <场景>.md
├── scenario/                # 跨类型应用场景 SOP(为某个目的怎么组织工作)
└── _meta/                   # 统一执行协议 / 质量 Gate / Skill 反馈

三层路由:SKILL.md → references/sop/README.md(总路由)→ 类型 README.md(再分「精细操作指南 / 场景 SOP」)或 scenario/ / _meta/。核心工具操作与场景工作流分文件维护,Agent 可逐层快速定位。


🧩 环境适配与内置依赖

  • 离线优先 —— python3 auto/init.py 无需联网即可装好依赖,适合沙箱 / 内网 / 无网 CI。
  • 内置多架构 wheels —— 仓库自带 wheels/,无需外部源:
    • wheels/any/ —— 纯 Python 依赖(python-docx、python-pptx、openpyxl、XlsxWriter、pypdf、reportlab、typing_extensions、et_xmlfile);
    • wheels/amd64/、wheels/arm64/ —— 针对 x86_64 / aarch64(manylinux)的二进制依赖(lxml、Pillow、charset-normalizer)。
  • 多架构自适应 —— 初始化器按当前架构与 requirements.txt 哈希选择依赖并写入 ready 缓存;完整重验依赖用 --force-check。
  • 系统能力探测 —— scripts/common/runtime_probe.py 报告 LibreOffice / Pandoc / Poppler / qpdf / Tesseract 等系统工具能力与降级模式(只报告,不越界安装系统包)。

🧭 工作原理

理解 → 组织 → 操作 → 验证 → 交付              # 面向人
Understand → Inspect → Classify → Plan → Execute → Validate → Deliver   # 面向 Agent

六类 Task Model(路由语言,不是固定模板):Generate / Edit / Analyze / Transform / Convert / Workflow。

四条核心原则:Read Before Write · Minimal Change · Evidence First · Transform ≠ Convert。

组合流程

真实任务 → Task Model 分类 → 1 主 Scenario SOP + 最少辅助 SOP
        → Atomic Office Engine(DOCX / XLSX / PPTX / PDF / Convert)
        → Content / Data / Structure / Visual 验证 → Local Repair → Deliver

✅ 质量契约

正式交付按任务需要验证,闭环为 执行 → 验证 → 局部返修 → 验证 → 交付:

  • Content —— 内容、事实、关键文本、名称、日期、结论;
  • Data —— 数值、公式、汇总、单位、图表数据源与口径;
  • Structure —— 文件内部结构、Sheet/Section/Slide/Page 与引用关系;
  • Visual —— 真实渲染后的溢出、重叠、乱码、分页、可读性与图片变形。

跨文件任务维护统一 Shared Facts,让 Word/PPT/PDF 从同一事实层派生,避免数值/结论漂移。

🏗️ 仓库结构

open-office-skill/
├── README.md / README.en.md
├── CHANGELOG.md / CHANGELOG.zh-CN.md
├── VERSION                         # 0.1.6
├── githooks/                       # pre-commit / pre-push:自动打包 Skill zip
├── bin/package_skills.py           # 打包脚本 → skills/open-office-skill.zip
├── docs/                           # 研究 / 设计 / 版本 / 迭代记录(仅仓库级)
└── skills/open-office-skill/       # Agent 运行时 Skill(不含迭代记录)
    ├── SKILL.md                    # 总入口与路由表
    ├── auto/  scripts/  examples/  test/  wheels/
    └── references/sop/             # docx/ xlsx/ pptx/ pdf/ + scenario/ + _meta/

🧑💻 开发者:提交即自动打包(Git Hooks)

仓库内置 githooks/:commit / push 时自动把 skills/open-office-skill 打包到 skills/open-office-skill.zip。启用一次即可:

git config core.hooksPath githooks
  • pre-commit:打包并把 skills/open-office-skill.zip 加入本次提交;
  • pre-push:推送前校验 zip 是否为最新,过期则拒绝推送(先提交再 push)。

也可随时手动打包:

python3 bin/package_skills.py --force       # 默认输出 skills/open-office-skill.zip
python3 bin/package_skills.py --output-dir <目录> --force

📮 联系与相关链接

License

MIT License。第三方依赖保持各自上游许可证,详见 Skill 内 THIRD_PARTY_NOTICES.md。

About

Open-source Office document processing Skill for AI Agents and Sandboxes, with DOCX, PPTX, XLSX, PDF, conversion, rendering, and offline-first runtime support.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages