AI 对话前端为什么不能直接内置服务商 API 密钥?
参考答案
浏览器收到的 JavaScript、请求参数和构建时注入的变量,都可以被用户检查。把服务商长期密钥写进 VITE_ 环境变量、打包文件或混淆字符串,不能让它保密;私有源码仓库也不改变已发布网页的可读取性。
常见架构是前端负责输入、流式展示和交互,受控服务端或函数负责调用模型、认证、额度和密钥。AI SDK 的 Next.js 示例采用客户端聊天界面与服务端路由分工,但不意味着所有 AI 应用必须使用 Next.js。
纯静态页面也能承载浏览器端模型推理,或连接另行部署的受控 API。若服务商提供短期、受限的客户端凭据,需要按其明确协议使用,不能直接拿普通长期密钥替代。这里讨论的是 AI 产品架构,题库网站本身只展示知识,不需要为这些题目增加后端。
补充参考:Vite · 环境变量与密钥保护。