autotrain/CODEMAP.md
xinxin6623 7a01ed4db9 feat: add invoice batch wrap-up (name extraction + roster annotation) and web ui automation improvements
- 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)
2026-07-10 00:11:45 +08:00

54 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!-- 本文件由 /wrap-up 自动生成并覆盖,勿手工编辑;生成器见 wrap-up skill references/codemap.md -->
# autotrain铁路系统发票· 代码图谱索引 (CODEMAP)
> 由 codebase-memory-mcp 于 2026-07-09 生成 · 图谱 548 节点 / 1704 边 · 活文件,每次 /wrap-up 覆盖
## 一、给能连 MCP 的 agent首选
本项目已索引project 名 `Users-qoragufimo390gmail.com-Documents-works-autotrain`。直接查图谱代替 grep省 ~120x token
- 架构总览:`get_architecture(project="Users-qoragufimo390gmail.com-Documents-works-autotrain", aspects=["all"])`
- 查函数/类:`search_graph(project="Users-qoragufimo390gmail.com-Documents-works-autotrain", name_pattern=".*X.*")`
- 调用链:`trace_path(project="Users-qoragufimo390gmail.com-Documents-works-autotrain", function_name="X", direction="both")`
- 死代码:`search_graph(project="Users-qoragufimo390gmail.com-Documents-works-autotrain", max_degree=0, exclude_entry_points=true)`
- Cypher`query_graph(project="Users-qoragufimo390gmail.com-Documents-works-autotrain", query="MATCH ...")`
未连 MCPCLI 等价:`~/.local/bin/codebase-memory-mcp cli <tool> '<json>'`
## 二、结构画像快照(连不上 MCP 时读这段就够)
- **规模**548 节点 / 1704 边 / 30 文件
- **语言**Python 6 · Bash 3
- **节点构成**Section 182 · Function 180 · Variable 91 · File 30 · Module 30 · Method 17 · Folder 8 · Class 7 · Branch 1 · Decorator 1 · Project 1
- 判性质Function/Method 多 = 应用代码Section 182 说明文档/配置块占比较高AGENTS.md/CODEMAP.md 等文档拆段)
- **目录地图**
- `scripts/` - 主代码9 文件5 个入口 CLI + 校准/重启/守护脚本(`invoice_tool.py` / `web_ui.py` / `vision_fallback.py` / `record_step.py` / `add_invoice_passenger_name.py` / `calibrate.py` / `restart_web_ui.sh` / `web_ui_watchdog.sh` / `install_web_ui_launch_agent.sh`
- `docs/` - `usage.md` / `debug-trace-2026-06-09.md` / `screen-adaptation.md` / `device-adaptation.md` / `web-ui-adaptation-log.md`
- `templates/` - `android_flow.example.json`
- `out/` - 交付产物CSV/README/manifest
- **入口 / 路由**5 个 `main()` 入口
- `scripts.invoice_tool.main` - 主 CLI台账/名单/邮件/Android 自动化/视觉批量)
- `scripts.web_ui.main` - HTTP 服务(端口 8765`/calibrate` 校准页)
- `scripts.vision_fallback.main` - 视觉调用层ping/detect-page/ask/list-rows
- `scripts.record_step.main` - 录制工具
- `scripts.add_invoice_passenger_name.main` - 乘客名补充
- **热点函数**(按入度 fan_in
- `builtins.dict.get` (82) · `builtins.print` (44) · `builtins.len` (34) · `builtins.list.append` (27)
- `scripts.invoice_tool.run_adb` (23) - ADB 执行封装,全 Android 路径共用
- `scripts.invoice_tool.project_path` (20) - 项目路径常量
- `scripts.invoice_tool.adb_dump_nodes` (17) - uiautomator XML dump 解析
- `scripts.invoice_tool.adb_visible_texts` (14) - 可见文本提取
- `scripts.invoice_tool.match_roster` (13) - 名单匹配
- `scripts.invoice_tool.read_progress` (12) - 读处理进度 CSV
- **聚类clusters**9 个社区,核心几簇与脚本分工对应:
- Web UI 状态层:`status_payload` / `do_POST` / `write_json` / `str` / `len`
- H5 扫码开票单流程:`android_h5_page_run` / `read_progress` / `update_progress` / `build_vision_page_queue` / `get`
- 原生列表 XML 路径:`android_invoice_step` / `run_adb` / `auto_scan_qr_to_list` / `android_vision_page_run` / `android_page_step`
- 视觉驱动路径:`_vision_find_button` / `apply_speed_defaults` / `_vision_find_qr_thumbnail` / `record` / `int`
- 台账导入/导出:`import_codes` / `export_summary` / `ensure_dirs` / `print` / `list` / `str`
- 名单匹配 + 路径:`project_path` / `match_roster` / `android_run_flow` / `android_type_id` / `import_roster`
- 页面队列构建:`build_visible_page_queue` / `first_matched_visible_passenger` / `find_android_nodes` / `node_center_y` / `append`
- 解析入口:`build_parser` / `main`
- **边构成**CALLS 712 · DEFINES 567 · USAGE 148 · SEMANTICALLY_RELATED 127 · WRITES 76 · SIMILAR_TO 26 · CONTAINS_FILE 25 · DEFINES_METHOD 12 · CONTAINS_FOLDER 7 · IMPORTS 2 · DECORATES 1 · HAS_BRANCH 1
- 注意IMPORTS 仅 2 条 - 脚本间靠文件CSV/配置/截图)耦合而非 import与 AGENTS.md「四个脚本通过文件耦合」描述一致