加班餐费报销自动化工具。当用户输入以 [加班餐报销] 开头时触发,自动读取发票 PDF、填写报销审批表、生成发票打印单。
# 1. 复制到目标 OpenClaw workspace
cp -r skills/reimbursement-tool /path/to/new/workspace/skills/
# 2. 安装系统依赖
# Ubuntu/Debian:
sudo apt-get install -y poppler-utils
# macOS:
brew install poppler
# 3. 安装 Python 依赖
cd /path/to/new/workspace/skills/reimbursement-tool
pip install -r requirements.txt
# 4. 创建发票目录
mkdir -p /path/to/new/workspace/reimbursement
# 5. 测试
python3 scripts/main.py "[加班餐报销] 加班事由:测试 加班人员:张三"
<workspace>/
├── skills/
│ └── reimbursement-tool/ # 此技能目录
└── reimbursement/ # 发票 PDF 目录(可选位置)
方式 1: 默认路径
<workspace>/reimbursement/<workspace>/方式 2: 环境变量
export REIMBURSE_INVOICE_DIR=/path/to/invoices
export REIMBURSE_OUTPUT_DIR=/path/to/output
方式 3: 命令行参数
python3 scripts/main.py "[加班餐报销] ..." \
--invoice-dir /path/to/invoices \
--output-dir /path/to/output
用户输入以 [加班餐报销] 开头
[加班餐报销] 加班事由:<事由>。加班人员:<姓名 1>、<姓名 2>...
[加班餐报销] 加班事由:支撑部科技司某方案的集中改稿。加班人员:贺林佳、甘俊霖、陈朴、刘畅、李婷、徐若雨、钟鸣、张扬
skills/reimbursement-tool/
├── SKILL.md # 技能定义(本文件)
├── README.md # 详细文档
├── scripts/ # 可执行脚本
│ ├── extract_invoices.py # 从 PDF 提取发票信息
│ ├── fill_reimbursement.py # 填写报销审批表
│ ├── create_invoice_sheet.py # 生成发票打印单
│ ├── main.py # 主入口脚本
│ ├── analyze_docx.py # 分析 docx 生成模板(开发工具)
│ └── fill_from_template.py # 通用模板填写工具(开发工具)
├── templates/ # 模板文件
│ ├── 加班餐费报销审批表模板.docx
│ ├── 加班餐费报销审批表.json
│ └── 加班餐费报销审批表模板_template.json
└── references/ # 参考资料(可选)
本技能支持完全可移植,通过以下方式配置路径:
export REIMBURSE_INVOICE_DIR=/path/to/invoices # 发票 PDF 目录
export REIMBURSE_OUTPUT_DIR=/path/to/output # 输出文件目录
python3 scripts/main.py "[加班餐报销] ..." \
--invoice-dir /path/to/invoices \
--output-dir /path/to/output
<workspace>/reimbursement/<workspace>/(技能目录的上级)从用户输入中提取:
加班事由: 之后、加班人员: 之前的内容加班人员: 之后的姓名列表(支持 、,,, 分隔)读取 /home/lc/.openclaw/workspace/reimbursement/ 目录下的所有 PDF 文件:
python3 skills/reimbursement-tool/scripts/extract_invoices.py \
/home/lc/.openclaw/workspace/reimbursement \
/tmp/invoice_data.json
提取每张发票的:
# 对所有价税合计求和
sum = sum(所有发票的价税合计)
# 向上取整到 50 的倍数
if sum % 50 == 0:
amount = sum