Day 129 · BillSleuth(八):在线演示、实时调查面板与部署
把 BillSleuth 做成招聘方点开就能试的网页:FastAPI 用 SSE 把调查图的每个节点更新实时推给前端,页面上并排展示调查步骤、复算对比表、结论和证据链。每次调查在独立子进程里、用独立的库副本跑,标准答案不下发,按 IP 限流加每日花费上限。调查结束可以下载 Agent Loupe SDK 格式的 JSONL,拖进作品一回放,我用作品一的导入器实际导入验证过。最后给出两种部署。
把 BillSleuth 做成招聘方点开就能试的网页:FastAPI 用 SSE 把调查图的每个节点更新实时推给前端,页面上并排展示调查步骤、复算对比表、结论和证据链。每次调查在独立子进程里、用独立的库副本跑,标准答案不下发,按 IP 限流加每日花费上限。调查结束可以下载 Agent Loupe SDK 格式的 JSONL,拖进作品一回放,我用作品一的导入器实际导入验证过。最后给出两种部署。
把导入器接到后端:SQLite 表和索引怎么设计,导入为什么要放在一个事务里,运行列表用游标分页而不是 OFFSET,一万步的 trace 怎么分段加载,成本按价格表补上。最后用 curl 和 pytest 把每个接口都验一遍,并实测一万步导入和查询的耗时。
用 FastAPI 把工作流包成 HTTP 接口,用 SSE 把每个步骤、每次工具调用、每个字推给前端;再用 Next.js + React + TypeScript 做两个页面:客户视角看着 Agent 干活并追问,客服工作台一键审批退款。讲清楚为什么不用 EventSource、要不要上 Vercel AI SDK、怎么停止、怎么让读屏软件不被逐字播报逼疯。不会前端的同学,文末有 Streamlit 版。
前五周的工单 Agent 一直活在命令行里。今天给它套上 HTTP 接口:用 FastAPI 原生 SSE 把 token、工具调用和审批请求实时推给前端,用 LangGraph 的 Postgres checkpointer 管会话,再处理好并发、超时和用户中途关掉页面这几件事。