开发者生态
morning
与您的代理一起编辑文档看起来很有希望
摘要
paper-docx paper-pptx paper-xlsx Today, we release Paper Office, a suite of Python packages that allow agents to manipulate Word, PowerPoint, and Excel files with added safety, correctness and breadth...
and
with
for
Office
packages
skills
that
python
the
paper
2026-09-24
1 阅读
约6分钟阅读
nvmdbljstm
字号:
paper-docx paper-pptx paper-xlsx 今天,我们发布了 Paper Office,这是一套 Python 软件包,允许代理以更高的安全性、正确性和广度操作 Word、PowerPoint 和 Excel 文件,它建立在传统开源软件包:python-docx、python-pptx 和 OpenPyxl 的基础上。在 5 个模型和 61 项任务中,Paper 包加指导通过了 92.5% 的试验,而没有技能的上游包的通过率为 80.7%,具有 Anthropic 类似 Office 技能的上游包的通过率为 69.5%。特工们还编写代码来直接编辑 Office 文件内部结构,仅在 Paper 运行中的 1.6% 中完成,而没有技能的情况下为 78.7%,有人类技能的情况下为 50.5%。我们注意到,除了提示、技能和工具之外,基本软件仍然是线束优化的重要杠杆。代理人在顾问、律师、银行家和运营商的日常工作中的渗透率仍然很低。我们认为专业采用的瓶颈是对真实工作流程的忠实度。代理不会使用与人类相同的技术来操纵现有文档,因此生成的幻灯片、表格和文档处于一个恐怖谷状态,不适合客户使用。 DOCX、PPTX 和 XLSX 文件使用 Office Open XML (OOXML):每个文件都是一个 ZIP 存档,其中包含链接在一起的 XML 文件、图像和其他资源,而不是单个文本文件。编辑它们意味着保持这些部分及其关系一致,因此即使是很小的可见更改也可能需要在多个位置进行更新。标准 Python Office 库(python-docx、python-pptx 和 openpyxl)是成熟的构建工具,具有多年积累的边缘案例,大多数生产代理通常依赖这些库进行文档操作。然而,他们已经好几年没有看到更新了,而且对于许多重要的工作流程来说,缺乏功能广度和正确性契约。在某些情况下,模型会选择其他基于 Javascript 的包或 HTML 到文档流程来更轻松地表示和操作经典办公文档,但这些中间表示是有损的,并且经常会破坏现有的棕地工作。我们分叉、修补和重新设计了标准 Python Office 库的 API,以支持各种代理优先用例,提高正确性并扩展功能完整性。编辑文件的代理通常必须:找到用户引用的逻辑对象,即使其文本跨元素拆分或从模板继承,应用请求的更改,同时维护格式和关系,保留请求范围之外的所有内容,包括库不理解的包部分,重新打开已保存的工件,并确定预期效果在序列化中幸存下来。当包无法表达这些操作时,模型就会陷入包装脚本和原始 OOXML,从而用包机制污染其上下文。这通常会导致注释锚点、图表工作簿、字段、自定义 XML、公式依赖项等出现静默回归。 Paper Office 保留熟悉的导入并扩展其下面的包。现有模型先验仍然有用: import docx 、 from pptx importPresentation 和 import openpyxl 仍然有效。这些附加功能将隐藏结构公开为键入的机器可读数据,在支持的编辑之前验证目标,提供包保留保存路径,报告有界更改,并在无法安全处理操作时明确拒绝。 Paper DOCX 概述 paper-docx 通过文档范围搜索、跟踪编辑、注释、撰写和可逆红线扩展了 python-docx,允许代理使用 Word 的本机审阅模型修改和审阅现有 Word 文档。探索功能 与工作相关的附加功能:交叉运行文本搜索。 docx.search 通过选择加入规范化匹配来匹配 Word 运行碎片中的精确文本,并返回实时 Span 以进行替换、跟踪编辑或注释锚定。 Span 在突变前重新生效;在文本更改替换后重新获取跨度。编号重新开始。 docx.numbering.restart_numbering() 创建一个新的编号实例,该实例保留现有定义并从 1 重新启动; apply_numbering() 将其分配给预期的段落。本机词红线。 docx.package.compare 将文本和表行更改作为 Word 本机跟踪的更改发出,验证私有副本上的接受和拒绝结果,并拒绝它无法安全表示的差异。查看解决方案和评论主题。 doc.revisions 枚举支持的修订并自动接受或拒绝它们;剩余的不支持()识别需要其他工具的表单。 docx.commentops 将回复、锚点和解析状态作为连接的线程进行管理。内容控制。 docx.controls 用键入的值填充支持的控件。支持的数据绑定文本更新将可见文本与自定义 XML 存储同步;不支持的绑定类型、锁定的控件和不安全的结构都会被拒绝。字段和书签。 docx.bookmarks 和 docx.fields 在跨度和作者页面上创建书签
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱