agent space api密钥绝不能放在前端,因浏览器中js完全暴露,密钥会被轻易提取盗用;必须通过后端代理转发或使用agentrun兼容openai协议的端点来保障安全。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

Agent Space API密钥绝不能直接放在前端项目里,因为浏览器中运行的JavaScript代码完全暴露,任何用户都能通过开发者工具的“Sources”或“Network”面板瞬间提取密钥,进而盗用配额、伪造请求、触发恶意操作。
为什么前端硬编码Agent Space密钥等于公开泄露
打开浏览器开发者工具→切换到“Sources”选项卡→在文件树中搜索 apiKey、agent_space_key 或 secret 字样→十秒内就能定位 const AGENT_SPACE_API_KEY = "sk-xxx" 这类明文赋值语句。一旦找到,攻击者可立即用 curl 或 Postman 模拟请求,你的调用额度会在几小时内耗尽,甚至被用于生成违法内容。
即使把密钥写进 .env 文件并用 Vite 的 import.meta.env.AGENT_SPACE_API_KEY 引用,构建后该字符串仍会原样打入 dist 目录下的 JS 文件——用文本编辑器打开任意一个 chunk.js,Ctrl+F 搜索 sk- 开头的字符串,99% 能立刻命中。
安全方案:必须走后端代理转发
第一步:在 Node.js(Express)服务中创建 /api/agent-space/proxy 端点
第二步:将 Agent Space 密钥存入服务器环境变量(如 Linux 的 export AGENT_SPACE_API_KEY=sk-xxx),并确保该变量未被任何前端构建流程读取
第三步:前端发起请求时只传业务参数,不带密钥 → fetch("/api/agent-space/proxy", { method: "POST", body: JSON.stringify({ prompt: "列出所有待办" }) })
第四步:后端收到请求后,拼接完整 Agent Space API 调用(含 Authorization: Bearer ${process.env.AGENT_SPACE_API_KEY}),用 axios 或 node-fetch 转发至 https://api.agent.space/v1/chat/completions
【关键前提】 代理端点必须校验 Origin 请求头是否来自你自己的域名(如 https://yourapp.com),否则第三方网站也能调用你的代理,变相开放密钥使用权。
替代路径:用 AgentRun 兼容 OpenAI 协议的端点
方法一:直接复用现有 OpenAI 调用逻辑
把原来 openai.chat.completions.create() 中的 base_url 从 https://api.openai.com/v1 改为 AgentRun 分配的 HTTPS 端点(形如 https://{account-id}.agentrun-data.{region}.aliyuncs.com/agent-runtimes/{agent-name}/endpoints/{endpoint-name}/invocations)→ 密钥保留在 AgentRun 后台,前端不感知也不持有
方法二:前端只传用户输入,由 AgentRun 自动挂载工具、检索知识库、执行沙箱命令 → 所有敏感凭证、模型配置、权限控制均在服务端完成,前端仅负责渲染流式响应
这一步操作起来很简单,直接替换 base_url 和 api_key 参数即可,无需修改请求结构或重写 SDK。
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!











