登录/注册
身份验证 (Authentication)
API 密钥认证
海鲸AI 使用 API 密钥来验证您的身份并追踪使用量。所有 API 请求都需要通过 Token 进行身份验证。
为什么使用 API 密钥?
- 账户识别 - 识别您的账户并从您的积分余额中扣费
- 使用追踪 - 记录您的 API 调用历史和费用明细
- 安全管理 - 可以随时创建、删除或限制 API 密钥的权限
如何获取 API 密钥?
- 登录海鲸AI 控制台
- 进入 API 密钥管理页面
- 点击"创建新密钥"
- 为密钥设置一个便于识别的名称
- (可选)设置该密钥的信用额度限制
- 复制并妥善保管您的 API 密钥
WARNING
安全提示:API 密钥具有访问您账户的完整权限,请勿在公开代码或前端代码中暴露。
使用方式
认证格式
海鲸AI API 使用标准的 Token 认证方式,完全兼容 OpenAI SDK。
在 HTTP 请求头中添加:
Authorization: YOUR_API_KEYjs
import OpenAI from 'openai'
// 初始化 OpenAI SDK,配置海鲸AI
const openai = new OpenAI({
baseURL: 'https://api.atalk-ai.com/v2', // 海鲸AI API 地址
apiKey: '<API_KEY>', // 替换为您的 API 密钥
})
async function main() {
const completion = await openai.chat.completions.create({
model: 'gpt-4o',
messages: [{role: 'user', content: '你好,这是一个测试'}],
})
console.log(completion.choices[0].message)
}
main()python
from openai import OpenAI
# 初始化 OpenAI SDK,配置海鲸AI
client = OpenAI(
base_url="https://api.atalk-ai.com/v2", # 海鲸AI API 地址
api_key="<API_KEY>", # 替换为您的 API 密钥
)
# 发送请求
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "user", "content": "你好,这是一个测试"}
]
)
# 输出结果
print(response.choices[0].message.content)bash
curl https://api.atalk-ai.com/v2/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: <API_KEY>" \
-d '{
"model": "gpt-4o",
"messages": [
{"role": "system", "content": "你是一个有帮助的助手。"},
{"role": "user", "content": "你好!"}
]
}'可选请求头
除了必需的 Authorization 头,您还可以添加以下可选的请求头:
HTTP-Referer
您的网站或应用的 URL。这可以帮助我们:
- 统计不同来源的使用情况
- 提供更好的技术支持
最佳实践
1. 密钥安全
- ❌ 不要:将 API 密钥提交到 Git 仓库
- ❌ 不要:在前端 JavaScript 中硬编码 API 密钥
- ✅ 推荐:使用环境变量存储 API 密钥
- ✅ 推荐:在后端服务中调用 API
2. 环境变量示例
bash
# .env 文件
HAIJINGAI_API_KEY=your_api_key_herejavascript
// 使用环境变量
const openai = new OpenAI({
baseURL: 'https://api.atalk-ai.com/v2',
apiKey: process.env.HAIJINGAI_API_KEY,
})3. 多密钥管理
- 为不同的项目或环境创建独立的 API 密钥
- 为每个密钥设置合理的信用额度限制
- 定期轮换密钥以提高安全性
- 删除不再使用的密钥
常见问题
Q: API 密钥泄露了怎么办?
立即在控制台删除该密钥,并创建新的密钥。
Q: 可以创建多少个 API 密钥?
没有数量限制,您可以根据需要创建任意数量的密钥。
Q: API 密钥会过期吗?
默认情况下不会过期,但您可以随时手动删除或重新生成。
Q: 忘记保存 API 密钥怎么办?
出于安全考虑,密钥创建后只显示一次。如果忘记保存,需要删除旧密钥并创建新密钥。