Skip to content

LLM 接入

NekoBot 通过 Provider 接入不同模型服务。Provider 配置位于 data/config.jsonprovider_configs 对象中,也可以在 WebUI 中管理。

内置 Provider

类型/名称说明常用字段
openaiOpenAI 官方 Chat Completionsapi_keydefault_modelbase_url
anthropicAnthropic Claudeapi_keydefault_modelbase_url
geminiGoogle Geminiapi_keydefault_model
openai_compatibleOpenAI 兼容服务api_keybase_urldefault_model
openai_ttsOpenAI TTSapi_keydefault_modelbase_url
openai_sttOpenAI STT / Whisperapi_keydefault_modelbase_url
edge_ttsMicrosoft Edge TTSvoice

配置示例

json
{
  "provider_configs": {
    "openai": {
      "api_key": "sk-...",
      "default_model": "gpt-4o"
    },
    "anthropic": {
      "api_key": "sk-ant-...",
      "default_model": "claude-3-5-sonnet-latest"
    },
    "gemini": {
      "api_key": "...",
      "default_model": "gemini-2.0-flash"
    },
    "openai_compatible": {
      "api_key": "...",
      "base_url": "https://api.deepseek.com/v1",
      "default_model": "deepseek-chat"
    }
  }
}

OpenAI

字段说明
api_keyOpenAI API Key
default_model默认模型,例如 gpt-4o
base_url可选,自定义兼容端点

Anthropic

字段说明
api_keyAnthropic API Key
default_model默认模型,例如 claude-3-5-sonnet-latest
base_url可选,自定义端点

Gemini

字段说明
api_keyGoogle AI Studio API Key
default_model默认模型,例如 gemini-2.0-flash

OpenAI Compatible

适用于 DeepSeek、OpenRouter、LM Studio、Ollama 兼容端点等服务。

字段说明
api_keyAPI Key,本地服务可按服务要求填写
base_url兼容 OpenAI 的 API 根地址,例如 http://localhost:11434/v1
default_model默认模型名

语音 Provider

OpenAI TTS/STT 和 Edge TTS 可用于语音合成、语音识别等场景。插件可以通过 PluginContext.tts()PluginContext.stt() 使用。

在插件中调用

插件可以通过上下文请求 Provider:

python
result = await self.request_provider(
    "openai",
    messages=[{"role": "user", "content": "你好"}],
)

具体请求对象由 Provider 类型决定。普通聊天场景通常由框架的 LLM fallback 自动调用,无需插件手动处理。

配置安全

包含 api_keytokensecretpassword 等关键字的配置项会按框架规则加密保存。仍建议避免把真实密钥提交到 Git 仓库。

基于 AGPL-3.0 与 MIT 许可发布