返回

文章详情

展示HN:Docx-CLI:代理使用一半的时间和令牌读取/编辑Word文档

Hacker News2026年7月7日 18:19

一个为AI代理构建的.docx命令行界面。留言、建议红线、编辑Word文档,而不会破坏格式或丢失内容——人类在Word中接受或拒绝。将一个.docx文件交给Claude或Codex,得到一个带有评论的红线副本——在Word中打开,照常接受或拒绝。代理通过稳定的定位器和字符偏移量(p3:5-20)来处理文本;人类在磁盘上看到正常的Word格式。自定义样式、主题颜色、嵌入对象——所有这些都能够保存。命令行在原地变异XML,而不是从损失模型中重新发出。为什么选择docx-cli?代理编辑Word文档的默认方法是解压缩.docx并手动编写内部OOXML。这需要强大的模型才能正确处理,消耗令牌,并且经常生成Word无法打开的文件。docx-cli向代理提供简单的命令以及注释的Markdown读取视图,因此它从不必考虑XML。我们进行了测量——一场控制的A/B比拼:六个实际文档任务(填写NDA、填写发票、重新设计简历、红线合同、完成合同、撰写期刊),相同的起始文件,一个独立的评审对Word渲染页面中的每个结果进行评分。每个模型级别的三个运行:Haiku(弱,小) Sonnet(强) docx-cli默认技能 docx-cli默认技能 完成的任务(共6个) 4.3(4-5) 0.7(0-1) 6.0(6-6) 4.0(4-4) 正确渲染(共6个) 6 3.7 6.0 4.7 完全损坏的文档 0 ~1/运行(最多2个) 0 0 输入令牌 2.4M 6.1M(2.6×) 1.6M 3.6M(2.2×) 实际时间 924 s 1,882 s(2.0×慢) 1,175 s 2,029 s(1.7×慢) 正确性差距在廉价的Haiku层次上最广泛(约6×),而前沿模型从未能缩小它——默认技能在4/6处上限,失去了合同红线和每个Sonnet运行的简历。成本和速度惩罚与模型无关——在两个级别上,令牌数量大约是2.2-2.6倍更多,速度大约是1.7-2倍更慢,令牌/时间范围从不重叠。Word无法可靠地打开默认技能的工作——它未能打开36个输出中的5个;docx-cli的36个所有在第一次尝试中都可以打开。完整的方法论、每个任务的评分标准和侧面渲染:比拼报告。安装npm——最简单的路径(需要Bun >= 1.3):bun add -g bun-docx #或在不安装的情况下运行:bunx bun-docx read doc.docx 独立的二进制文件(不需要Bun)。每个版本发布预构建的二进制文件加上SHA256SUMS清单,安装程序在安装之前验证二进制文件的SHA-256:curl -fsSL https://raw.githubusercontent.com/kklimuk/docx-cli/main/install.sh | sh 荣誉PREFIX(默认$HOME/.local/bin)和VERSION(默认latest)。预构建适用于linux/x64、linux/arm64、darwin/x64、darwin/arm64、windows/x64。希望先检查一下?从最新发行版下载docx-<platform> + SHA256SUMS,验证,chmod +x,并将其放在PATH中。快速示例:填写NDA 仓库包含在tests/fixtures/mnda.docx的共同纸相互保密协议模板。以下是代理将组合以填充封面页并留下红线编辑的原语——显示在上面视频中的相同流程。每个命令都经过端到端验证:# 首先制作副本——没有撤销(git是历史;命令行在原地覆盖) cp tests/fixtures/mnda.docx mnda-filled.docx # 读取封面页表格,以便代理知道有哪些占位符存在 docx read mnda-filled.docx --from t1 --to t1 # 填写黄色高亮的括号占位符 docx replace mnda-filled.docx " 填写:今天的日期 " " 2026年5月6日 " docx replace mnda-filled.docx " 填写州和/或县 " " 加利福尼亚 " docx replace mnda-filled.docx " 填写州 " " 加利福尼亚 " docx replace mnda-filled.docx " 填写,如有的话。 " " 无。 " # 验证没有遗漏(裸定位器行,每个匹配一个;没有→退出0) docx find mnda-filled.docx ' \\[(Fill|fill)[^]]*\\] ' --regex --all # 打开跟踪更改以进行红线处理 docx track-changes mnda-filled.docx on # 在“使用与保护”条款中缩紧“合理需要知道” docx replace mnda-filled.docx \ " 在合理需要知道 \ " \ " 在有文件记录的需要知道 \ " # 为人类审阅者留下评论——使用--at指定现有范围 docx comments add mnda-filled.docx --at p7:0-30 \ --text " 我们是否应该将‘代表’缩小到一个命名列表? " 在Word中打开mnda-filled.docx:跟踪更改和评论出现在审阅窗格中,准备接受、拒绝或回复。或者运行docx track-changes accept mnda-filled.docx --all以从CLI中将它们孤立使用作为代理技能。docx-cli作为代理技能而运作——一个SKILL.md在Claude Code、Codex、Pi和其他读取开放技能格式的工具中通用。该技能教授定位器模型和红线/评论/填写工作流,然后在运行时推迟到docx <command> --help,因此它不会过时。为什么需要一个技能?docx-cli是为最弱、最便宜的代理构建的。在我们的弱代理基准测试中——6个实际文档任务(填写合同、红线、评论、重新设计简历、红线合同、完成合同、撰写期刊等),...

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡