Files
Auto-Finance/src
wandering d3728bfe51 docs: 记录 git 历史清洗,并把文档里的提交号重映射到新历史
- 方案文档新增 §12:为什么洗(公开文档含真实工号/姓名/16 位公务卡号/内网 LLM 地址与 key,
  历史 config.json 含真实登录密码;另发现两份 .xls 是真实申购单、四组样本发票无法证明不含个人信息)、
  怎么做(git-filter-repo 删 19 条路径 + 全历史替换六类特征)、怎么验证(重扫 608 个 blob 零命中、
  与备份 HEAD 逐文件对比只有预期差异)、善后(改密码、轮换 Gitea token、旧 clone 重新拉、删备份 bundle)
- §11.5 第 3 项(模板选择)标记完成
- 按 .git/filter-repo/commit-map 把文档引用的 6 个提交号重映射(6 文件 10 处),
  否则所有「看提交 xxx」的指引在重写后的历史里都是死链
- src/infra/documents/README.md 改写模板章节;docs/MCP.md 文档产物段、README 结构表、
  AGENTS 重要约束同步模板解析顺序与 REQUISITION_TEMPLATE
- 另记一笔:.git/filter-repo/already_ran 时间戳是 2026-06-12,这个仓库六月中已洗过一次历史
2026-10-19 23:57:49 +08:00
..

last_reviewed
last_reviewed
2026-10-19

src — 源码

MCP 服务器的全部实现:工具层在上,确定性内核在下,infra 是被调用的手。

src/
├── mcp/            工具与协议层(17 个工具,stdio)
│   ├── server.py   INSTRUCTIONS + TOOLS 注册 + build_server()
│   ├── tools/      materials 材料 / extraction 抽取交接 / analysis 匹配校验 / documents 产物
│   ├── schemas.py  抽取字段定义单一真源 + 日期金额规范化
│   └── envelope.py ok/fail 统一信封(工具不把异常抛穿协议)
├── cases.py        会话目录 cases/<id>/ 唯一实现:材料·收件箱·产物·阶段推导·上传令牌
├── upload/         扫码上传收件器(独立进程,Flask + segno)
├── core/           确定性内核:extraction matching validation
├── infra/          browser · documents · com_thread
├── config.py       scripts/data/config.json + 环境变量
├── exceptions.py   异常层次
└── __init__.py     get_logger(终端 + logs/<日期>.log)

依赖方向

mcp 依赖 core/infra/cases;core 不依赖 infra 与任何框架;infra 不依赖 mcp。 cases.py 只依赖标准库,是会话目录布局的唯一真相:想知道产物叫什么,读它,别猜。

分层原则

  • 判断在上,事实在下:读图、综合、决定交给宿主 Agent;本项目只做渲染、匹配、校验、生成
  • 无状态:阶段从磁盘产物推导,进程随时可杀可重启
  • 不承诺未完成的事:INSTRUCTIONS 只列已注册工具,browser_* 与 submit_* 尚未实现