docx-cli Skill:让 AI 精准操控 Word 文档的 CLI 工具,弱模型用它 7 倍碾压默认技能
docx-cli Skill:让 AI 精准操控 Word 文档的 CLI 工具,弱模型用它 7 倍碾压默认技能
docx-cli 是一个专为 AI Agent 设计的 Word 文档操控 CLI,支持读取、编辑、加评论、填写占位符、开启修订模式,全程保留原始格式不破坏文档。核心差异点在于:它不依赖模型”手写 OOXML”,而是通过稳定的位置定位符(p3:5-20 格式)直接操作文档 XML,让 Haiku 这样的弱模型也能精准完成任务。2026 年 9 月 7 日更新,GitHub 196 Star,是近期值得关注的新兴实用 Skill。
功能与原则
docx-cli 解决了一个具体但高频的问题:AI Agent 如何可靠地编辑 .docx 文件而不产生”Word 打不开的废文档”。
核心能力:
– 读取:将 .docx 内容转换为带位置标注的 Markdown,Agent 看到的是语义块而非 XML
– 编辑:用 docx replace 替换文本,不破坏样式、主题色、嵌入式对象
– 评论:docx comments add 在指定位置留下 Word 原生评论
– 修订模式:docx track-changes on/off 开启/关闭修订追踪
– 填写占位符:批量填充 NDA、合同、简历等模板的黄色高亮字段
设计原则:XML in-place 变更而非”模型重新生成整个文档”。这让它不挑模型强度,也天然避免了 Word 渲染失败的问题。
认可度
- GitHub Star:196(截至 2026-09-08),更新活跃
- 定位:聚焦单点问题,不追求功能堆砌,在 Claude Code 生态中填补了”弱模型也能精确处理 Word”的核心空白
- 在 smithery/skills.sh 平台可一键安装,Claude Code、Codex、Pi 等主流 Agent 均兼容
链接
GitHub:https://github.com/kklimuk/docx-cli
原作者
GitHub 用户 kklimuk,专注 AI Agent 与文档处理工具链,repo 数量少但每一枚都直击痛点。
介绍
传统 Agent 处理 Word 文档的方式是解压 .docx、手写 OOXML——这对强模型勉强可用,对弱模型(Haiku 等)来说 token 消耗高且极易产生 Word 拒绝打开的输出。docx-cli 的思路是让模型只下命令,不写 XML。
docx-cli 内部维护一套稳定的位置定位系统(段落 + 字符偏移),读取时将 .docx 转换为带位置标注的 Markdown,Agent 依据位置信息调用 replace、comments add、track-changes 等原子命令,CLI 在后台完成 OOXML 原地修改。这样模型不需要理解 OOXML 语法,只需要理解”我要改哪段文字”。
作者还做了一个严格的 A/B 对比实验:6 个真实文档任务(NDA 填写、合同修订、简历改版等),独立裁判评分,两个模型 tier 各跑 3 轮。结果在 Haiku 档位,docx-cli 完成任务 5.0/6,默认 Claude Skill 只有 0.7/6;即使用 Sonnet,docx-cli 6/6,默认 Skill 4/6。tokens 消耗节省约 2.2–2.5 倍,Word 渲染失败率为 0。
特点
- 弱模型友好:Haiku + docx-cli > 默认 Claude Skill(0.7 → 5.0 任务完成率)
- 零渲染失败:所有输出均经过 Word 格式验证,无”Word 打不开”风险
- Token 高效:同等任务 input tokens 节省 2.2–2.5 倍,output tokens 节省 2 倍
- 原子命令设计:replace / comments add / track-changes / find / read,各自职责单一,Agent 调用逻辑清晰
- 跨 Agent 兼容:Claude Code、Codex、Pi 等主流 Agent 均通过
npx skills add kklimuk/docx-cli一键安装 - 跨平台二进制:Linux x64/arm64、macOS、Windows 均有预编译包,无需 Bun/npm 也能跑
使用方法
安装(二选一)
Bun(推荐):
bun add -g bun-docx
bunx bun-docx read doc.docx
独立二进制(无 Bun 依赖):
curl -fsSLO https://github.com/kklimuk/docx-cli/releases/latest/download/install.sh
sh install.sh
基础调用流程
# 读取文档内容(返回带位置标注的 Markdown)
docx read doc.docx --from t1 --to t1
# 替换占位符
docx replace doc.docx "Fill in: today's date" "September 8, 2026"
# 检查是否还有未填充的占位符
docx find doc.docx '[(Fill|fill)[^]]*]' --regex --all
# 开启修订追踪
docx track-changes doc.docx on
# 修订一段文字
docx replace doc.docx "old text" "new text"
# 加一条评论
docx comments add doc.docx --at p7:0-30 --text "Should we narrow this?"
# 接受所有修订(CLI 批量完成)
docx track-changes accept doc.docx --all
Claude Code 内安装
/plugin marketplace add kklimuk/docx-cli
/plugin in
使用场景与人群
适用场景:
– 法务/HR:让 AI 批量填写 NDA、合同、Offer 等模板,输出修订模式供人工审核
– 咨询/报告:AI 编辑企业提案、投标文件,保留品牌样式不出错
– 学术:自动填充论文模板格式,研究生/助理必备
目标用户:
– 每天处理大量 Word 文档的知识工作者
– 需要 AI 辅助完成文档润色、修订、格式调整的职场人
– 搭建 Agent 工作流的开发者(特别是处理合同、报告等结构化文档场景)
输入与输出案例
案例 1:填写 NDA 模板
输入:一份带黄色高亮占位符的 .docx NDA 文件([Fill in: today's date]、[fill in state and/or county] 等)
Agent 调用:
docx replace mnda-filled.docx "Fill in: today's date" "September 8, 2026"
docx replace mnda-filled.docx "fill in state and/or county" "California"
docx track-changes mnda-filled.docx on
docx replace mnda-filled.docx "having a reasonable need to know" "with a documented need to know"
docx comments add mnda-filled.docx --at p7:0-30 --text "Should we narrow 'representatives' to a named list?"
输出:一份 Word 原生修订追踪开启的 NDA,评论显示在审阅窗格,人工点击接受/拒绝即可。
案例 2:弱模型 Haiku 处理合同修订
对比测试(6 项任务综合得分):
| 方案 | 任务完成率 | 输入 Tokens | Word 渲染失败率 |
|——|———–|————|—————-|
| Haiku + docx-cli | 5.0/6 | 3.2M | 0% |
| Haiku + 默认 Skill | 0.7/6 | 7.9M | ~22% |
结论:docx-cli 将弱模型处理 Word 的可靠性从”不可用”提升到”可投产”。
评论区
登录后可评论。