浏览器里直连大模型会把密钥暴露给前端,长回复还需要边生成边展示。这个项目做的是个人学习场景下的网页对话助手:用户在页面里多轮聊天,密钥和流式转发放在服务端 BFF,算术类问题走计算器工具,避免模型口算出错。
点击空白处退出提示
浏览器里直连大模型会把密钥暴露给前端,长回复还需要边生成边展示。这个项目做的是个人学习场景下的网页对话助手:用户在页面里多轮聊天,密钥和流式转发放在服务端 BFF,算术类问题走计算器工具,避免模型口算出错。
主要模块包括多轮对话、流式输出、模型选择,以及 Express BFF 转发聊天接口。用户发送消息后,回复以流式方式逐段出现。涉及算式时,后端调用 calculator 做一次确定性计算,再把结果交回模型组织成中文回复。非法表达式会返回「无法计算」,而不是让页面崩溃或让模型编造数字。闲聊不会误触发计算器。前端负责消息列表和输入,后端负责鉴权转发、工具门控和安全求值。
我负责对话界面、BFF 流式代理。技术栈是 React、TypeScript、Vite 和 Express,模型用 DeepSeek,前端部署在 Cloudflare Pages,后端在 Render。实现要点是 SSE 流式、CORS、工具参数 schema,以及不用 eval 的表达式解析。难点在于流式中断时的错误提示、算式门控不要误伤闲聊。



评论