- 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)
4.4 KiB
4.4 KiB
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.mdtemplates/-android_flow.example.jsonout/- 交付产物(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
- Web UI 状态层:
- 边构成: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「四个脚本通过文件耦合」描述一致