[1.5.0] - 2026-06-13
Added
- 🆕 Custom Provider 支持: 新增通用 OpenAI 兼容客户端
CustomClient,支持任意 OpenAI 兼容端点(OpenAI、OpenRouter、Together AI、Anthropic 代理、本地 vLLM/Ollama 等) - 🆕 Provider Registry 模式: 用 Map 取代 if/else 链,新增 provider 只需添加一行工厂映射
- 🆕 灵活鉴权配置: 支持
bearer/x-api-key/custom三种鉴权方式,自定义模式支持{{key}}模板替换 - 🆕 Thinking 模式适配: CustomClient 支持
disabled/openai/qwen_extra_body三种 thinking 字段位置配置 - 🆕 CustomProviderConfig 类型:
LumaConfig新增customProvider?字段,集中管理自定义 provider 配置 - 🆕 测试覆盖:
test/test-custom.ts覆盖鉴权头构造、构造函数校验、baseURL 尾斜杠处理、getModelName
Configuration
使用自定义 provider 的 .env 配置示例:
MODEL_PROVIDER=custom
# 必填三项
CUSTOM_API_KEY=sk-your-key
CUSTOM_BASE_URL=https://your-endpoint.com/v1
CUSTOM_MODEL_NAME=your-model-name
# 可选(都有默认值)
CUSTOM_AUTH_HEADER=bearer # bearer | x-api-key | custom
CUSTOM_PATH=/chat/completions
CUSTOM_TIMEOUT_MS=60000
CUSTOM_THINKING_MODE=disabled # disabled | openai | qwen_extra_body
# 自定义 Header(authHeader=custom 时使用)
CUSTOM_AUTH_HEADER=custom
CUSTOM_AUTH_HEADER_VALUE="X-API-Key: {{key}}"Technical Details
- 新增文件:
src/custom-client.ts— 通用 OpenAI 兼容客户端(实现VisionClient接口)test/test-custom.ts— CustomClient 单元测试
- 修改文件:
src/config.ts—ModelProviderunion 新增custom,新增CustomProviderConfig接口,LumaConfig新增customProvider?,loadConfig解析CUSTOM_*环境变量src/index.ts— provider 选择改为CLIENT_REGISTRY模式,importCustomClient和LumaConfig.env.example— 新增 Custom Provider 区块