OpenProgram Docs

Provider 一览#

本页列出仓库内置的 provider 实现(openprogram/providers/ 下每个子目录一个)、各自的接入方式,以及在 Python 代码里直接使用 provider 的方法。内置实现之外,openprogram providers available 还能列出几百个走 OpenAI 兼容协议的社区 provider 目录,配置方式相同。

内置 provider#

接入方式说明:API key = 存入凭据库的密钥(providers login <id>,也可从环境变量导入);OAuth = 浏览器 / 设备码登录订阅账号;CLI 凭据 = 直接读外部 CLI 已登录的凭据文件;云凭据链 = 运行时自动走云厂商的标准凭据链。

Provider 协议 接入方式 备注
anthropic Anthropic Messages API key(ANTHROPIC_API_KEY)或 OAuth(Claude 订阅,PKCE / claude setup-token 粘贴) 显式 prompt caching(cache_control,支持 1h TTL)
openai OpenAI Responses API key(OPENAI_API_KEY Responses 协议自动缓存(prompt_cache_key
openai_responses / openai_completions OpenAI Responses / Chat Completions —(共享协议实现,被众多 provider 复用)
openai_codex ChatGPT 后端 OAuth(ChatGPT 订阅):浏览器 PKCE 登录;已有的 codex CLI 登录态也可用 providers discover 导入 模型清单从官方端点实时拉取
azure_openai_responses Azure OpenAI Responses API key(AZURE_OPENAI_API_KEY)+ 自填 base URL
google Google Generative AI API key(GEMINI_API_KEY / GOOGLE_API_KEY thinking 用 token budget 控制
google_gemini_cli Cloud Code Assist CLI 凭据:直接读 ~/.gemini/oauth_creds.json,刷新由 Gemini CLI 负责
gemini_subscription Cloud Code Assist CLI 凭据:导入 ~/.gemini/oauth_creds.json(先用 Gemini CLI 登录) 别名 geminigemini-cli
amazon_bedrock Bedrock Converse Stream 云凭据链(AWS_PROFILE / access key / bearer token 等,运行时自动识别) 显式 prompt caching(cachePoint
github_copilot OpenAI Responses 等 GitHub 浏览器设备码登录,或导入 COPILOT_GITHUB_TOKEN / GH_TOKEN / GITHUB_TOKEN 环境变量;按需换取 Copilot 短期 token,不落盘 不支持 thinking 档位
deepseek OpenAI Completions API key(DEEPSEEK_API_KEY reasoner 型号推理不可调档
openrouter OpenAI Completions API key(OPENROUTER_API_KEY) 聚合网关
vercel_ai_gateway Anthropic Messages API key(AI_GATEWAY_API_KEY 聚合网关
groq OpenAI Completions API key(GROQ_API_KEY
cerebras OpenAI Completions API key(CEREBRAS_API_KEY
mistral OpenAI Completions API key(MISTRAL_API_KEY
xai OpenAI Completions API key(XAI_API_KEY
zai OpenAI Completions API key(ZAI_API_KEY
huggingface OpenAI Completions API key(HF_TOKEN
minimax / minimax_cn Anthropic Messages API key(MINIMAX_API_KEY / MINIMAX_CN_API_KEY 国际 / 国内两个端点
minimax_cn_coding_plan Anthropic Messages API key(MINIMAX_CN_API_KEY / MINIMAX_API_KEY,与 minimax_cn 同账号同密钥) "MiniMax Token Plan (CN)" coding 套餐
kimi_coding Anthropic Messages API key(KIMI_API_KEY / MOONSHOT_API_KEY
alibaba_token_plan_cn OpenAI Completions 套餐 API key 别名 bailian
opencode OpenAI Completions 等 API key(OPENCODE_API_KEY

流式输出所有 provider 都支持(整个层建立在流式接口上)。多模态输入按模型而非按 provider 决定,来自各 provider 的模型目录数据,界面上以模型实际标注为准。prompt caching 只在上表标注处经代码核实。

claude_codechatgpt_subscriptionclaude_max_proxy 等空目录是别名占位(claude-maxclaude-codechatgpt-subscriptionopenai-codex),行为由别名表决定,不是独立实现。minimax_cn_coding_plan 同样纯配置驱动,没有自己的代码。

自定义 provider#

上表没覆盖的 OpenAI 兼容端点可以在 Web UI 的 Settings → Providers 里添加:必填项只有显示名和 base URL(不填 id 时从名字自动派生)。之后同一个 Fetch 按钮就能浏览该端点 /models 返回的模型列表,启用后无需改代码即可使用。自定义 provider 记在配置的 providers.<id> 下,标记 source: "custom"

库方式使用#

在自己的 Python 代码里创建 runtime,首选自动检测:

from openprogram.providers.registry import create_runtime

runtime = create_runtime()                                        # 自动选第一个可用 provider
runtime = create_runtime(provider="anthropic", model="claude-sonnet-4-6")

六个 provider 在 create_runtime 背后有专属 runtime 行为(OAuth / CLI 凭据接管、按 provider 的约定):

runtime = create_runtime(provider="anthropic", model="claude-sonnet-4-6")  # Anthropic API key
runtime = create_runtime(provider="openai", model="gpt-4.1")               # OpenAI Responses API
runtime = create_runtime(provider="gemini", model="gemini-2.5-flash")      # Google Generative AI
runtime = create_runtime(provider="claude-code")   # Claude 订阅直连,无需 API key
runtime = create_runtime(provider="openai-codex")  # ChatGPT 订阅(Codex OAuth)
runtime = create_runtime(provider="gemini-cli")    # 复用 Gemini CLI 登录态

上表其余 provider:create_runtime(provider=..., model=...) 会按该模型的协议自动路由,与聊天界面走同一条路径。

Last updated · 2026-08-13