本教程详细介绍在 AstrBot 中配置各种大语言模型 API 的多种方法,帮助你快速搭建自己的 AI 聊天机器人。
简介
AstrBot 是一个开源的 AI Agent 聊天机器人平台,支持多种即时通讯软件的接入,包括 QQ、Telegram、飞书、钉钉、Discord 等。它支持大语言模型对话、多模态、Agent、MCP、技能、知识库、人格设置等功能。
AstrBot 适配了三种原生 API 格式:OpenAI API 格式、Google Gemini API 格式和 Anthropic API 格式。通过这些接口,你可以接入几乎所有主流的 AI 模型服务提供商。
准备工作
在开始之前,你需要:
- 安装 AstrBot:
uv tool install astrbot - 初始化项目:
astrbot init - 拥有相应的 API 访问权限
- 配置文件位于
data/cmd_config.json
方法一:使用 Defapi(推荐)
如果你想节省成本,推荐使用 Defapi!
Defapi 是一个 AI 模型聚合平台,所有模型价格只有官方的半价。Defapi 支持 OpenAI 兼容的 v1/chat/completions 接口,配置简单方便。
优势
- 价格半价:Claude Sonnet 仅需 $1.5/M 输入,$7.5/M 输出
- 兼容性强:完美兼容 OpenAI 接口格式
- 稳定可靠:国内访问速度快
- 支持模型丰富:涵盖 Claude、GPT、Gemini 等多种模型
支持的主要模型
- Claude Opus / Sonnet / Haiku
- GPT-4o / GPT-4o-mini
- Gemini 1.5 Flash
配置步骤
-
访问 Defapi 注册账号,获取 API Key
-
修改配置文件
data/cmd_config.json:
{
"provider": [
{
"id": "defapi-claude",
"type": "openai_chat_completion",
"model": "claude-sonnet-4-20250514",
"key": ["你的Defapi-API-Key"],
"api_base": "https://api.defapi.org/v1",
"enable": true
}
],
"provider_settings": {
"default_provider_id": "defapi-claude"
}
}
或者通过 WebUI 配置:
-
访问 AstrBot 控制台 (默认
http://localhost:6185) -
进入「服务提供商」页面
-
点击「+ 新增服务提供商」
-
选择「OpenAI」类型
-
填写 API Key:
你的Defapi-API-Key -
填写 API Base URL:
https://api.defapi.org/v1 -
填写模型名称:
claude-sonnet-4-20250514 -
保存配置
-
验证配置:
启动 AstrBot 并发送消息测试:
astrbot
在支持的聊天平台发送消息,Bot 会自动使用 Defapi 的模型进行回复。
方法二:使用 OpenAI 官方 API
这是最直接的接入方式,适合有 OpenAI API Key 的用户。
获取 API Key
- 访问 OpenAI Platform
- 进入 API Keys 页面创建新密钥
配置文件
{
"provider": [
{
"id": "openai-official",
"type": "openai_chat_completion",
"model": "gpt-4o",
"key": ["sk-xxx"],
"api_base": "https://api.openai.com/v1",
"enable": true
}
]
}
方法三:使用 OpenRouter
OpenRouter 提供统一的 API 接口,可访问多种模型,包括 Claude、GPT、Gemini 等。
获取 API Key
- 访问 OpenRouter
- 注册并创建 API Key
配置文件
{
"provider": [
{
"id": "openrouter",
"type": "openai_chat_completion",
"model": "openai/gpt-4o-mini",
"key": ["sk-or-v1-xxx"],
"api_base": "https://openrouter.ai/api/v1",
"enable": true
}
]
}
可用模型示例
openai/gpt-4oanthropic/claude-sonnet-4-5google/gemini-1.5-flash
方法四:使用 Anthropic Claude 官方 API
如果你想直接使用 Claude 模型,可以使用 Anthropic 官方 API。
获取 API Key
- 访问 Anthropic Console
- 创建 API Key
配置文件
{
"provider": [
{
"id": "anthropic-claude",
"type": "anthropic_chat_completion",
"model": "claude-sonnet-4-20250514",
"key": ["sk-ant-api03-xxx"],
"enable": true
}
]
}
方法五:使用 Google Gemini 官方 API
获取 API Key
- 访问 Google AI Studio
- 创建 API Key
配置文件
{
"provider": [
{
"id": "gemini-official",
"type": "googlegenai_chat_completion",
"model": "gemini-1.5-flash",
"key": ["AIzaSy-xxx"],
"enable": true
}
]
}
方法六:使用国内模型服务商
AstrBot 也支持多种国内模型服务商,价格更优惠,访问更稳定。
SiliconFlow
{
"provider": [
{
"id": "siliconflow",
"type": "openai_chat_completion",
"model": "Qwen/Qwen2-7B-Instruct",
"key": ["sk-xxx"],
"api_base": "https://api.siliconflow.cn/v1",
"enable": true
}
]
}
DeepSeek
{
"provider": [
{
"id": "deepseek",
"type": "openai_chat_completion",
"model": "deepseek-chat",
"key": ["sk-xxx"],
"api_base": "https://api.deepseek.com/v1",
"enable": true
}
]
}
方法七:使用环境变量
为了安全性,推荐使用环境变量加载 API Key。
配置方式
{
"provider": [
{
"id": "openai-env",
"type": "openai_chat_completion",
"model": "gpt-4o",
"key": ["$OPENAI_API_KEY"],
"api_base": "https://api.openai.com/v1",
"enable": true
}
]
}
然后在系统环境变量中设置:
export OPENAI_API_KEY="sk-xxx"
验证是否正常工作
配置完成后,验证步骤如下:
- 重启 AstrBot 服务
astrbot
-
在已配置的消息平台发送消息测试
-
检查控制台日志,确保 API 调用成功
如果配置正确,你应该能收到 AI 的回复。
内部机制:Provider 系统
AstrBot 的 Provider 系统设计非常灵活,理解其工作原理有助于更好地使用。
Provider 注册机制
AstrBot 使用装饰器模式注册 Provider:
@register_provider_adapter(
"openai_chat_completion",
"OpenAI API Chat Completion 提供商适配器",
)
class ProviderOpenAIOfficial(Provider):
pass
所有 Provider 实现位于 astrbot/core/provider/sources/ 目录。
请求流程
- 用户发送消息
- AstrBot 接收消息并构建上下文
- 根据配置选择 Provider
- Provider 将请求转换为对应 API 格式
- 发送请求到模型服务商的 API
- 解析响应并返回结果
多 Key 负载均衡
AstrBot 支持配置多个 API Key,实现负载均衡:
{
"provider": [
{
"id": "openai-multi-key",
"type": "openai_chat_completion",
"model": "gpt-4o",
"key": ["key1", "key2", "key3"],
"api_base": "https://api.openai.com/v1",
"enable": true
}
]
}
当某个 Key 触发速率限制时,会自动切换到其他 Key。
错误处理
AstrBot 内置完善的错误处理机制:
- 401/403 错误:认证问题
- 429 错误:速率限制,自动切换 Key
- 超时错误:可配置代理或更换服务商
常见用例
1. 智能客服
将 AstrBot 接入企业微信或钉钉,作为智能客服回答客户问题。
2. 群聊助手
在 QQ 群或 Discord 中使用,作为群聊助手,提供信息查询、翻译等功能。
3. 角色扮演
配置人格和系统提示词,让 AI 扮演特定角色(如虚拟偶像、游戏 NPC)。
4. 个人助理
接入 Telegram 或微信,作为个人的 AI 助手,帮助处理日常事务。
5. 内容创作
利用 AI 的文本生成能力,帮助撰写文章、生成创意内容。