- web_ui.py: major refactor with improved runner, mode selection, progress tracking - scripts: add device_runtime, device_calibrate, calibration_trace, record_android_flow - docs: add phone-control-manual, update device-adaptation and windows-migration - invoice_tool: enhance H5 automation flow and visual fallback - calibrate.py: expand calibration capabilities - add skills/ and tests/ directories - remove obsolete .opencode/skills/invoice-wrapup Co-Authored-By: Claude <noreply@anthropic.com>
3.5 KiB
3.5 KiB
铁路系统发票
铁路系统发票专项工作区,用于沉淀铁路系统相关发票资料、处理脚本、核对记录和衍生产出。
🤖 Agent 上手先读
AGENTS.md的操作守则(通用协议在../docs/trio-protocol.md);改动后记得追加CHANGELOG.md(强标签格式见文件顶部)。
当前接力点 (Handoff)
只保留最新一条,下一轮 wrap-up 直接覆盖。历史接力沉淀到 obwiki。
概述
02 批次收尾完成(去重+儿童票标注+清一轮按钮),Web UI 改动需重启验证,敬曦翔未开票待确认。
明细
2026-07-11:02 批次开票跑完,做了三件收尾事。① 按发票号去重:删了主目录 3 份重复张辰铭 _invoice.pdf(同一发票号 26119121152005549789),手工目录 4 份确认无重。② 儿童票标注:annotate_roster_invoices.py 新增 is_child_ticket() + --child-suffix 参数,读 PDF 正文检测「孩」字,状态列输出「已开票-孩」。7 位儿童票:陈露萱/胡初然/邱瑞泽/邱景媛/胡云辰/高振瑜/王楚渃。③ Web UI 加「清一轮开票记录」按钮:reset_current_round() + /api/reset-round + confirm() 二次确认,归档到 archive/round-resets/<ts>/,保留 roster/tasks/agent_id_last8。另把 invoice-wrapup skill 从 .opencode/skills/ 移到 skills/invoice-wrapup/。
待办:
./scripts/restart_web_ui.sh重启 Web UI,验证「清一轮开票记录」按钮功能敬曦翔名单有但无发票(未开票),人工确认是否漏开- 下一批开票前用「清一轮开票记录」按钮清空本轮数据
项目结构
铁路系统发票/
├── AGENTS.md
├── CHANGELOG.md
├── CLAUDE.md -> AGENTS.md
├── INDEX.md
├── config.example.json
├── config.local.json(本地自建,忽略提交)
├── data/
│ ├── attachments/
│ ├── input/开票码批次/
│ └── mail/
├── docs/
│ └── usage.md
├── output/
├── scripts/
│ ├── invoice_tool.py
│ ├── web_ui.py
│ ├── restart_web_ui.sh
│ ├── web_ui_watchdog.sh
│ ├── vision_fallback.py
│ └── record_step.py
├── templates/
│ └── android_flow.example.json
└── work/
子模块导航
(本项目暂无子目录)
常用操作
# 初始化目录和配置模板
python3 scripts/invoice_tool.py init
cp config.example.json config.local.json
# 导入二维码/手工码生成开票任务
python3 scripts/invoice_tool.py import-codes
# 导入名单并匹配身份证后 8 位
python3 scripts/invoice_tool.py import-roster --input /path/to/名单.xlsx
python3 scripts/invoice_tool.py match-roster --masked-name '张*岩'
# Android 页面读取和身份证后 8 位输入
python3 scripts/invoice_tool.py android-dump --output work/android_page.txt
python3 scripts/invoice_tool.py android-type-id --tap 500,1200
# 本地 Web UI:上传名单、看进度、启动/停止批处理
./scripts/restart_web_ui.sh
# 生成网页辅助开票页
python3 scripts/invoice_tool.py rpa-plan
# 归集邮件/附件并导出汇总
python3 scripts/invoice_tool.py collect-mail
python3 scripts/invoice_tool.py collect-attachments
python3 scripts/invoice_tool.py export-summary
相关链接
- 📓 演绎记录:CHANGELOG.md
- 🤖 Agent 守则:AGENTS.md
- 使用说明:docs/usage.md