Day 129 · BillSleuth(八):在线演示、实时调查面板与部署
把 BillSleuth 做成招聘方点开就能试的网页:FastAPI 用 SSE 把调查图的每个节点更新实时推给前端,页面上并排展示调查步骤、复算对比表、结论和证据链。每次调查在独立子进程里、用独立的库副本跑,标准答案不下发,按 IP 限流加每日花费上限。调查结束可以下载 Agent Loupe SDK 格式的 JSONL,拖进作品一回放,我用作品一的导入器实际导入验证过。最后给出两种部署。
把 BillSleuth 做成招聘方点开就能试的网页:FastAPI 用 SSE 把调查图的每个节点更新实时推给前端,页面上并排展示调查步骤、复算对比表、结论和证据链。每次调查在独立子进程里、用独立的库副本跑,标准答案不下发,按 IP 限流加每日花费上限。调查结束可以下载 Agent Loupe SDK 格式的 JSONL,拖进作品一回放,我用作品一的导入器实际导入验证过。最后给出两种部署。
用 FastAPI 把工作流包成 HTTP 接口,用 SSE 把每个步骤、每次工具调用、每个字推给前端;再用 Next.js + React + TypeScript 做两个页面:客户视角看着 Agent 干活并追问,客服工作台一键审批退款。讲清楚为什么不用 EventSource、要不要上 Vercel AI SDK、怎么停止、怎么让读屏软件不被逐字播报逼疯。不会前端的同学,文末有 Streamlit 版。
前五周的工单 Agent 一直活在命令行里。今天给它套上 HTTP 接口:用 FastAPI 原生 SSE 把 token、工具调用和审批请求实时推给前端,用 LangGraph 的 Postgres checkpointer 管会话,再处理好并发、超时和用户中途关掉页面这几件事。
API 没有记忆,多轮对话是你的程序每次把历史整个重发一遍,所以聊得越久越贵,而且是平方级地贵。今天弄清四种 role 的分工、system prompt 该写什么、怎么裁剪历史,再用 SSE 流式输出把首字延迟压下来,最后封装一个后面整门课都要用的 LLMClient。