- add scripts/annotate_roster_invoices.py: match passenger names to invoice PDFs, write status + relative encoded hyperlinks into roster xlsx - add scripts/add_invoice_passenger_name.py, scripts/calibrate.py - add .opencode/skills/invoice-wrapup skill - improve invoice_tool.py / web_ui.py / vision_fallback.py automation - add device/screen/windows adaptation docs - ignore out/ (delivered invoice PDFs contain sensitive data)
90 lines
3.2 KiB
Markdown
90 lines
3.2 KiB
Markdown
# 铁路系统发票
|
||
|
||
铁路系统发票专项工作区,用于沉淀铁路系统相关发票资料、处理脚本、核对记录和衍生产出。
|
||
|
||
> 🤖 Agent 上手先读 [`AGENTS.md`](./AGENTS.md) 的操作守则(通用协议在 [`../docs/trio-protocol.md`](../docs/trio-protocol.md));改动后记得追加 [`CHANGELOG.md`](./CHANGELOG.md)(强标签格式见文件顶部)。
|
||
|
||
## 当前接力点 (Handoff)
|
||
|
||
> 只保留最新一条,下一轮 wrap-up 直接覆盖。历史接力沉淀到 obwiki。
|
||
|
||
### 概述
|
||
**换手机后开票报错的适配改造已完成,下一步需在 `/calibrate` 页生成 `device_profile.json` 并实测。**
|
||
|
||
### 明细
|
||
2026-07-09:跟踪 `web_runner.log` 定位换手机报错三根因(硬编码像素/滑动幅度绝对值/视觉 fallback 失败)。Web UI 三处改造:① 首页状态栏加「设备校准」入口;② run-actions 排加「查缺补漏」toggle 按钮(`final_retry_pass` 可见可控);③ 总进度表按 progress 行序(开票处理顺序)排列。产出文档 `docs/device-adaptation.md`(截屏节点清单)+ `docs/web-ui-adaptation-log.md`(操作记录)。
|
||
|
||
**待办**:
|
||
1. 在 `http://127.0.0.1:8765/calibrate` 点「保存设备配置」生成 `work/device_profile.json`
|
||
2. 逐状态截图校准(重点:「确认」「继续开票」「开具」)
|
||
3. 真换手机后实测滑动比例适配
|
||
|
||
## 项目结构
|
||
|
||
```text
|
||
铁路系统发票/
|
||
├── 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/
|
||
```
|
||
|
||
## 子模块导航
|
||
|
||
(本项目暂无子目录)
|
||
|
||
## 常用操作
|
||
|
||
```bash
|
||
# 初始化目录和配置模板
|
||
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](./CHANGELOG.md)
|
||
- 🤖 Agent 守则:[AGENTS.md](./AGENTS.md)
|
||
- 使用说明:[docs/usage.md](./docs/usage.md)
|