- 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)
54 lines
4.4 KiB
Markdown
54 lines
4.4 KiB
Markdown
<!-- 本文件由 /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 ...")`
|
||
|
||
未连 MCP?CLI 等价:`~/.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「四个脚本通过文件耦合」描述一致
|