下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/lexord-technology--lexord-office-automation.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @lexord-technology/lexord-office-automation。【律令】(Word/Excel/PPT 快捷键批处理)日常办公自动化与办公流程自动化:WPS/Office 办公自动化工具,识别 Word、Excel、PPT 文档窗口与清单,发送标准快捷键完成 Word自动化、Excel自动化、PPT自动化 批量处理,办公效率提升,高危键需确认。
阅读全文 (展开查看完整说明)
概述
本地运行,零网络请求、免 API Key、不主动外发数据。
四项诚实承诺:① 算不出就说算不出,绝不编造数字;② 高危动作强制人工确认;③ 幂等断点,绝不重复副作用;④ 全程留痕可审计。
边界说明:本包脚本自身不联网、不外发;若你把内容贴进 AI 对话,内容是否离开本机由你所使用的客户端决定,不由本包决定。
<!– WB-CLAIM-BOUNDARY v1 –>
lexord-office-automation — WPS Office 自动化操作 · 文档批量处理
运行方式
<!– WB-INVOKE-CONTRACT v1 –>
环境:Python 3.8+,仅标准库,无需安装任何依赖。
作用:办公软件窗口操作(WPS/Office,零网络)
命令(在技能目录下执行;<尖括号> 是你要替换的输入):
# 查看子命令帮助
python scripts/office_ops.py --help
# 按子命令执行(示例)
python scripts/office_ops.py apps <参数>子命令:
| 子命令 | 说明 |
|---|---|
apps | 识别运行中的办公软件窗口 |
docs | 列出已打开的文档窗口 |
open | 用系统关联方式打开文档 |
activate | 聚焦办公软件窗口 |
keys | 向办公窗口发送快捷键(先自动聚焦) |
选项:
| 选项 | 说明 |
|---|
退出码:0 成功 / 2 输入错误 / 3 鉴权失败 / 4 环境或依赖失败 / 8 部分成功。
输出:产物写入执行目录,源文件不改动;先跑预览确认,再加 --execute 落盘。
工作流(编号阶段)
| 阶段 | 做什么 | 产物 | 闸门 |
|---|---|---|---|
| 一 | 一句话定位 | 执行结果 + 留痕文件 | 前置输入齐备、前置条件满足;缺参数先索取,不要假设默认值 |
| 二 | 与桌面矩阵的关系 | 执行结果 + 留痕文件 | 上一阶段产物已可用且通过检查;否则退回上一阶段重做 |
| 三 | 核心能力 | 执行结果 + 留痕文件 | 上一阶段产物已可用且通过检查;否则退回上一阶段重做 |
| 四 | 典型场景 | 执行结果 + 留痕文件 | 上一阶段产物已可用且通过检查;否则退回上一阶段重做 |
| 五 | 脚本与数据目录 | 执行结果 + 留痕文件 | 上一阶段产物已可用且通过检查;否则退回上一阶段重做 |
| 六 | 禁止事项 | 执行结果 + 留痕文件 | 高危动作已人工确认;失败项已列原因与回滚方式 |
按顺序推进;上一阶段闸门没过,不进入下一阶段。
相邻路线转交
本包只做自己职责范围内的事,遇到下列情形直接转给兄弟技能:
| 用户要做的事 | 转交给 | 转交话术 |
|---|---|---|
| 要多文档多步骤批量处理 | lexord-rpa-flow | 「多步编排交给 lexord-rpa-flow」 |
| 涉及保存覆盖/关闭未保存等高危 | lexord-computer-use | 「高危动作先过 lexord-computer-use 的门禁」 |
| 办公软件还没打开 | lexord-desktop-automation | 「启动交给 lexord-desktop-automation」 |
| 要批量处理一批文档 | lexord-batch-runner | 「批量调度交给 lexord-batch-runner」 |
| 要直接读写单元格/批量改数据 | lexord-excel-csv-toolkit | 「数据级表格处理交给 lexord-excel-csv-toolkit,本包只发快捷键」 |
反向边界:本包是 GUI 层(识别窗口 + 发标准快捷键),不碰单元格数据——要合并/拆分/去重/统计表格数据,转 lexord-excel-csv-toolkit(数据层)。不做文档内容生成、不做批量调度。高危键(如覆盖保存)必须先确认。
一句话定位
管"已打开的办公软件窗口":识别、聚焦、快捷键、高危防误关——深度文档内容编辑请走文档处理类 Skill,本包管软件操作层。
与桌面矩阵的关系
- 上游:
lexord-computer-use(门禁) - 兄弟:
lexord-desktop-automation(通用窗口)、lexord-win-ui-automation(控件树) - 与文档处理类 Skill 分工:改内容用文档 Skill(直接读写文件),本包做窗口层的保存/打印/切换
核心能力
- apps / docs:识别运行中的办公软件窗口(Word/Excel/PPT/WPS 全家桶,标题+类名双重匹配),列出已打开文档清单
- open:系统关联方式打开文档;支持
--verb printto等只读动词(静默打印到指定打印机) - activate:按 app(word/excel/ppt/wps)或标题聚焦到指定文档
- keys:自动聚焦后发快捷键;高危组合键(alt+f4 / ctrl+w / ctrl+f4 等关闭类)必须 –confirm,防误关未保存文档
- 内置高危组合键黑名单 + 全量审计日志
典型场景
"把这 5 个打开的表格都保存一遍"
→ docs 列出文档窗口
→ 逐个 activate + keys ctrl+s(medium,门禁放行)
→ record 留痕
"把这个 Word 打印到打印机 A"
→ open path.docx --verb printto(只读动词,无内容修改)脚本与数据目录
- 脚本:
scripts/office_ops.py+scripts/win32_native.py(纯 ctypes,零网络,零 subprocess,无宏、无 VBA 注入) - 数据:
~/.office-ops/actions.log(审计;环境变量OFFICE_OPS_DIR可重定向)
python scripts/office_ops.py apps # 哪些办公软件在运行
python scripts/office_ops.py docs # 已打开的文档清单
python scripts/office_ops.py open "D:\报表.xlsx"
python scripts/office_ops.py open "D:\报表.xlsx" --verb printto
python scripts/office_ops.py activate --app excel
python scripts/office_ops.py keys ctrl+s --app excel
python scripts/office_ops.py keys alt+f4 --confirm --title "未命名" # 高危需确认禁止事项
- ❌ 未保存确认前关闭文档(高危键强制 –confirm)
- ❌ 执行宏 / VBA / 加载项(本包无此能力,也禁止诱导用户开启)
- ❌ 用窗口层操作替代文档内容编辑(改内容请用文档处理 Skill 直接读写文件,更可靠)
触发词
办公软件自动化、WPS 自动化、Word 自动化、Excel 操作、PPT 自动化、保存文档、打印文档、切到 Excel、文档窗口、批量保存、办公快捷键、关闭文档、把表格调出来、这几个文件都保存下
许可与版权
本 Skill 采用 BUSL-1.1 许可(源码可见,可自由使用)。
版权所有 © 2026 律令科技(深圳)有限公司(@lexord-technology)。
允许个人及企业内部免费使用、复制、修改,包括内部生产环境。未经书面许可,不得将本 Skill 或其修改版作为商业服务对外销售、转售或提供托管服务。各版本发布之日起 4 年后自动转为 Apache License 2.0。详见随包 LICENSE.md。
输出规范
- 交付形态:执行结果 + 变更清单,说清动了什么、没动什么。
- 必含字段:执行前状态 / 执行动作 / 执行后状态 / 失败项与原因 / 回滚方式。
- 留痕:产生副作用的执行必须写留痕文件(manifest / log),可回溯。
- 自检:失败项未列原因,或无可回滚路径,视为未完成。
版本:v0.2.4 · 出品:【律令】
反例对照(避开这些写法)
| ❌ 反例 | ✅ 正例 | 判据 |
|---|---|---|
| 高危动作直接执行 | 先 dry-run 预览,人工确认后再落盘 | 这一步做错了能不能一键撤回 |
| 失败只说「失败了」 | 失败项 + 失败原因 + 已回滚到什么状态 | 用户能不能据此判断要不要重试 |
| 重复执行已做过的动作 | 先查留痕文件,已完成的跳过(幂等) | 重跑一次会不会产生重复副作用 |
| 执行完不说改了什么 | 给出变更清单:动了哪些、没动哪些 | 用户能否核对结果 |
<!– WB-SELFCHECK v1 –>
交付前自检(必跑)
本包自带可执行自检脚本。在交付 / 打包 / 发布之前,必须运行并通过:
python scripts/selfcheck.py退出码语义(与本节末尾「退出码(脚本契约)」一致):
| 码 | 含义 | 你要做的事 |
|---|---|---|
| 0 | 全部通过 | 可以交付 |
| 2 | 用法错误 | 检查运行路径,用包根目录下 scripts/selfcheck.py |
| 3 | 门禁未通过 | 按 FAIL 项逐条修好再交付,不要带病交付 |
| 4 | 环境问题 | 检查 Python 版本(需 3.8+)与入口脚本是否可运行 |
| 8 | 部分通过 | 无 FAIL,但有 WARN;建议先修警告项再交付 |
自检覆盖:SKILL.md 与 frontmatter(name·description)/ 合规声明(frontmatter license 或 ATTRIBUTION.md,二者其一即可——第三方转化包常以后者记录归属)/ 必备章节 / 打包卫生(禁止 .pyc·__pycache__·.bak·.zip)/ 脚本可编译 / 入口脚本 --help 可运行。<!– /WB-SELFCHECK –>
退出码(脚本契约)
| 码 | 含义 | 你要对用户说的话 |
|---|---|---|
| 0 | 成功 | 直接给结果,不解释过程 |
| 2 | 输入错误(缺参数 / 格式不对 / 文件不存在) | 「你给的 <X> 不对,需要 <Y>」—— 说明正确格式,不要猜默认值硬跑 |
| 3 | 鉴权/授权失败(密钥缺失、无权限) | 「需要你先提供 <凭据>」—— 说明去哪里拿,不要跳过鉴权 |
| 4 | 服务/环境失败(网络不可用、依赖缺失) | 「这一步依赖 <X> 不可用」—— 给出替代路径或降级方案 |
| 8 | 部分成功(有成功项也有失败项) | 「N 项成功、M 项失败」—— 逐条列出失败项与原因,不要只报总数 |
脚本退出非 0 时:不要静默重试。先把该码对应的话告诉用户,再决定是补齐输入重试、还是换路径。
状态与断点
- 多阶段流程在执行目录写
outputs/.state.json,记录「当前阶段 + 已完成产物路径 + 时间」。 - 每个阶段结束后写一次;中途中断后重启,先读该文件,从断点阶段继续,不从头重跑。
- 状态文件只记阶段与产物路径,不记对话内容、不记敏感数据。
- 发现状态文件与实际情况不符(产物已不存在)时,以实际产物为准并重置状态。