跳到主要内容

API 密钥

API 密钥是让您访问 LLM 提供商 API 的身份验证令牌。AISCouncil 使用 BYOK(自带密钥)模式 —— 您直接从每个提供商获取密钥并将其存储在浏览器中。密钥从不通过任何中间服务器。

从哪里获取 API 密钥​

每个提供商都有自己的开发者控制台,您可以在那里创建 API 密钥:

提供商控制台 URL密钥格式免费额度
Anthropicconsole.anthropic.com/settings/keyssk-ant-api03-...否(需要预付额度)
OpenAIplatform.openai.com/api-keyssk-proj-... 或 sk-...否(需要预付额度)
xAIconsole.x.aixai-...$25 月度免费额度
Google Geminiaistudio.google.com/apikey字母数字字符串是(慷慨的免费额度,无需信用卡)
OpenRouteropenrouter.ai/keyssk-or-v1-...是(20+ 免费模型,无需信用卡)
DeepSeekplatform.deepseek.com/api_keyssk-...否(需要预付额度)
Groqconsole.groq.com/keysgsk_...是(免费额度有限速)
Mistralconsole.mistral.ai/api-keys字母数字字符串否
Ollama不适用(本地)不需要是(本地运行,无需密钥)
免费开始

Google Gemini 和 OpenRouter 都提供无需信用卡的免费额度。Gemini 让您访问 Gemini 2.5 Flash 和 Pro。OpenRouter 让您访问 20+ 免费模型,包括 DeepSeek R1、Llama 3.3、Qwen 3 等。这是开始聊天的最快方式。

密钥如何存储​

API 密钥存储在您浏览器的 localStorage 中,使用提供商特定的键:

localStorage 键提供商
ais-apikey-anthropicAnthropic (Claude)
ais-apikey-openaiOpenAI (GPT)
ais-apikey-xaixAI (Grok)
ais-apikey-geminiGoogle Gemini
ais-apikey-openrouterOpenRouter
ais-apikey-deepseekDeepSeek
ais-apikey-groqGroq
ais-apikey-mistralMistral

密钥是 localStorage 中的纯字符串。它们在启动时同步读取,以便应用程序可以立即确定哪些提供商可用。

设置 API 密钥​

通过设置对话框​

  1. 打开设置(侧边栏中的齿轮图标)
  2. 进入 API 密钥部分
  3. 密钥面板显示模型注册表中的所有提供商,按提供商组织
  4. 在相关提供商的字段中输入您的密钥
  5. 密钥在输入时立即保存

通过配置面板​

  1. 打开配置面板(右侧边栏)
  2. 底部的 API 密钥字段显示当前所选提供商的密钥
  3. 直接输入或更新密钥
  4. 更改时保存密钥

通过浏览器控制台​

// 设置密钥
localStorage.setItem("ais-apikey-anthropic", "sk-ant-api03-your-key-here");

// 读取密钥
localStorage.getItem("ais-apikey-openai");

// 删除密钥
localStorage.removeItem("ais-apikey-xai");

安全模型​

密钥安全保证
  1. 密钥从不出现在 URL 中 —— 机器人分享只编码配置,从不编码密钥
  2. 密钥从不被导出 —— 导出所有数据功能明确排除所有 API 密钥
  3. 密钥从不离开您的浏览器 —— 除了直接发送到提供商自己的 API 端点时
  4. 密钥不发送到 aiscouncil.com —— 应用程序不会使用您的密钥向自己的服务器发出任何请求
  5. 密钥从不被记录 —— 不在控制台、不在分析中、不在错误报告中

当您发送消息时,API 调用直接从您的浏览器发送到提供商:

您的浏览器  --(HTTPS + API 密钥)-->  api.anthropic.com
您的浏览器 --(HTTPS + API 密钥)--> api.openai.com
您的浏览器 --(HTTPS + API 密钥)--> api.x.ai
您的浏览器 --(HTTPS + API 密钥)--> generativelanguage.googleapis.com

没有代理、没有中间件、没有中间人。密钥通过 HTTPS 直接传输到提供商,不会去其他任何地方。

全局 vs 每机器人 API 密钥​

AISCouncil 支持两个级别的 API 密钥:

全局密钥(每个提供商)​

在设置 > API 密钥中设置。这些是给定提供商的所有机器人使用的默认密钥。存储在 localStorage 中为 ais-apikey-{provider}。

每机器人密钥​

在配置面板的每机器人 API 密钥下设置。这仅覆盖特定机器人的全局密钥。用例:

  • 不同项目的不同 API 密钥(分开计费)
  • 测试新密钥而不影响其他机器人
  • 使用具有不同速率限制或权限的密钥

每机器人密钥存储在 IndexedDB 的机器人配置对象(k 字段)中。分享机器人 URL 时不包含它们 —— 接收者使用自己的密钥。

优先级:每机器人密钥 > 全局提供商密钥

如果机器人设置了每机器人密钥,它会使用它。否则,它会回退到该提供商的全局密钥。

密钥验证​

应用程序在保存时不执行显式的密钥验证。相反,如果密钥无效,您会在首次尝试发送消息时看到错误。常见错误:

错误原因
401 UnauthorizedAPI 密钥无效或密钥已被撤销
403 Forbidden密钥没有请求模型的权限
429 Too Many Requests超过速率限制(稍后重试)
402 Payment Required额度不足或计费过期

轮换密钥​

要轮换(更改)密钥:

  1. 在提供商控制台中生成新密钥
  2. 在设置 > API 密钥中更新密钥
  3. 旧密钥立即被替换 —— 没有过渡期

新密钥在下次 API 调用时生效。无需重启或重新加载。

提供商特定说明​

Anthropic​

  • 密钥以 sk-ant-api03- 开头(第三代格式)
  • 在任何 API 使用之前需要预付额度
  • 支持 anthropic-dangerous-direct-browser-access 头用于浏览器直接调用
  • 速率限制取决于您的使用级别(1-4)

OpenAI​

  • 项目密钥以 sk-proj- 开头;旧密钥以 sk- 开头
  • 需要预付额度或活跃的计费计划
  • 某些模型(GPT-4、o1)需要更高的使用级别

xAI (Grok)​

  • 密钥以 xai- 开头
  • 新账户获得 $25/月的免费额度
  • 支持视觉和函数调用

Google Gemini​

  • 密钥是来自 Google AI Studio 的字母数字字符串
  • API 密钥作为 ?key= 查询参数传递(不是 Bearer 头)以避免 CORS 预检请求
  • 免费额度包括 Gemini 2.5 Flash(10 RPM)、Gemini 2.5 Pro(5 RPM)和 Gemini 2.5 Flash-Lite(30 RPM)
  • 免费额度无需信用卡

OpenRouter​

  • 密钥以 sk-or-v1- 开头
  • 提供访问来自许多提供商的 300+ 模型
  • 免费模型立即可用(无需信用卡)
  • 付费模型通过 OpenRouter 自己的计费系统计费

DeepSeek​

  • 密钥以 sk- 开头
  • 定价明显低于其他提供商
  • 支持推理(DeepSeek R1)和编码(DeepSeek Coder)

Groq​

  • 密钥以 gsk_ 开头
  • 专注于快速推理
  • 免费额度有限速
  • 支持 Llama、Mixtral 和 Gemma 模型

Ollama​

  • 无需 API 密钥 —— Ollama 在您的机器上本地运行
  • 应用程序内部使用占位符值 'ollama'
  • 需要安装并运行 Ollama(ollama serve)
  • 设置 OLLAMA_ORIGINS=* 以进行浏览器 CORS 访问
  • 模型通过 GET /api/tags 自动检测

故障排除​

"无 API 密钥"错误​

  • 检查您是否在设置中为正确的提供商输入了密钥
  • 验证配置面板中的提供商下拉菜单与您设置的密钥匹配
  • 尝试再次粘贴密钥 —— 某些密码管理器可能会更改剪贴板

"401 Unauthorized" 或 "无效的 API 密钥"​

  • 在提供商控制台中重新生成密钥
  • 确保密钥没有被撤销或过期
  • 对于 Anthropic,确保您已向账户添加额度
  • 对于 OpenAI,确保您的计费计划处于活动状态

"429 Too Many Requests"​

  • 您已达到提供商的速率限制
  • 等待一分钟再试
  • 考虑升级您在提供商的使用级别
  • 对于免费额度模型,速率限制较低(例如,Gemini 免费:10 RPM)

"402 Payment Required"​

  • 您的预付额度已用完
  • 在提供商的计费仪表板中添加更多额度
  • 切换到免费额度模型(Gemini、OpenRouter 免费模型)

清除浏览器数据后密钥消失​

  • 当您清除浏览器数据、站点数据或 cookie 时,localStorage 会被清除
  • 在清除之前导出您的密钥(手动复制它们,因为它们被排除在数据导出之外)
  • 考虑使用密码管理器存储您的 API 密钥
危险

切勿与任何人分享您的 API 密钥。切勿将它们粘贴到公共聊天消息、论坛或代码存储库中。如果密钥被泄露,请立即在提供商控制台中撤销它并生成新密钥。