模型models.json 配置指南

长按二维码关注

models.json 是一个配置文件,用于自定义模型列表和控制模型下拉列表的显示。该配置支持两个级别:

用户级: ~/.codebuddy/models.json - 全局配置,适用于所有项目

项目级: <workspace>/.codebuddy/models.json - 项目特定配置,优先级高于用户级

配置文件位置

用户级配置

~/.codebuddy/models.json

项目级配置

<project-root>/.codebuddy/models.json

配置优先级

配置合并优先级从高到低:

项目级 models.json

用户级 models.json

内置默认配置

项目级配置会覆盖用户级配置中的相同模型定义(基于 id 字段匹配)。availableModels 字段:项目级完全覆盖用户级,不进行合并。

配置结构

{ "models": [ { "id": "model-id", "name": "Model Display Name", "vendor": "vendor-name", "apiKey": "sk-actual-api-key-value", "maxInputTokens": 200000, "maxOutputTokens": 8192, "url": "https://api.example.com/v1/chat/completions", "supportsToolCall": true, "supportsImages": true } ] }

配置字段说明

models

类型: Array<LanguageModel>

定义自定义模型列表。可以添加新模型或覆盖内置模型配置。

LanguageModel 字段

字段类型必填说明

idstring✓模型唯一标识符

namestring-模型显示名称

vendorstring-模型供应商 (如 OpenAI, Google)

apiKeystring-API 密钥(实际密钥值,非环境变量名)

maxInputTokensnumber-最大输入 token 数

maxOutputTokensnumber-最大输出 token 数

urlstring-API 端点 URL (必须是接口完整路径,一般以 /chat/completions 结尾)

supportsToolCallboolean-是否支持工具调用

supportsImagesboolean-是否支持图片输入

supportsReasoningboolean-是否支持推理模式

重要说明:

目前仅支持 OpenAI 接口格式的 API

url 字段必须是接口完整路径,一般以 /chat/completions 结尾

例如: https://api.openai.com/v1/chat/completions 或 http://localhost:11434/v1/chat/completions

availableModels

类型: Array<string>

控制模型下拉列表中显示哪些模型。只有在此数组中列出的模型 ID 才会在 UI 中显示。

如果未配置或为空数组,则显示所有模型

配置后,只显示列出的模型 ID

可以同时包含内置模型和自定义模型的 ID

使用场景

1. 添加自定义模型

在用户级或项目级添加新的模型配置:

{ "models": [ { "id": "my-custom-model", "name": "My Custom Model", "vendor": "OpenAI", "apiKey": "sk-custom-key-here", "maxInputTokens":128000, "maxOutputTokens":4096, "url": "https://api.myservice.com/v1/chat/completions", "supportsToolCall": true } ] }

2. 覆盖内置模型配置

修改内置模型的默认参数:

{ "models": [ { "id": "gpt-4-turbo", "name": "GPT-4 Turbo (Custom Endpoint)", "vendor": "OpenAI", "url": "https://my-proxy.example.com/v1/chat/completions", "apiKey": "sk-your-key-here" } ] }

3. 限制可用模型列表

只在下拉列表中显示特定模型:

{ "availableModels": [ "gpt-4-turbo", "gpt-4o", "my-custom-model" ] }

4. 项目特定配置

为特定项目使用不同的模型或 API 端点:

项目 A (.codebuddy/models.json):

{ "models": [ { "id": "project-a-model", "name": "Project A Model", "vendor": "OpenAI", "url": "https://project-a-api.example.com/v1/chat/completions", "apiKey": "sk-project-a-key", "maxInputTokens":100000, "maxOutputTokens":4096 } ], "availableModels": ["project-a-model", "gpt-4-turbo"] }

热重载

配置文件支持热重载:

文件变更会被自动检测

使用 1 秒防抖延迟避免频繁重载

配置更新后会自动同步到应用

监听的文件:

~/.codebuddy/models.json (用户级)

<workspace>/.codebuddy/models.json (项目级)

标签系统

通过 models.json 添加的模型会自动标记 custom 标签,便于在 UI 中识别和过滤。

合并策略

配置使用 SmartMerge 策略:

相同 ID 的模型配置会被覆盖

不同 ID 的模型会被追加

项目级配置优先于用户级配置

availableModels 过滤在所有合并完成后执行

示例配置

API 端点 URL 格式说明

必须使用完整路径: 所有自定义模型的 url 字段一般以 /chat/completions 结尾。

✅ 正确示例:

https://api.openai.com/v1/chat/completions https://api.myservice.com/v1/chat/completions http://localhost:11434/v1/chat/completions https://my-proxy.example.com/v1/chat/completions

❌ 错误示例:

https://api.openai.com/v1 https://api.myservice.com http://localhost:11434

OpenRouter 平台配置示例

使用 OpenRouter 访问多种模型:

{ "models": [ { "id": "openai/gpt-4o", "name": "open-router-model", "url": "https://openrouter.ai/api/v1/chat/completions", "apiKey": "sk-or-v1-your-openrouter-api-key", "maxInputTokens":128000, "maxOutputTokens":4096, "supportsToolCall": true, "supportsImages": false } ] }

DeepSeek 平台配置示例

使用 DeepSeek 模型:

{ "models": [ { "id": "deepseek-chat", "name": "DeepSeek Chat", "vendor": "DeepSeek", "url": "https://api.deepseek.com/v1/chat/completions", "apiKey": "sk-your-deepseek-api-key", "maxInputTokens":32000, "maxOutputTokens":4096, "supportsToolCall": true, "supportsImages": false } ] }

完整示例

{ "models": [ { "id": "gpt-4o", "name": "GPT-4o", "vendor": "OpenAI", "apiKey": "sk-your-openai-key", "maxInputTokens":128000, "maxOutputTokens":16384, "supportsToolCall": true, "supportsImages": true }, { "id": "my-local-llm", "name": "My Local LLM", "vendor": "Ollama", "url": "http://localhost:11434/v1/chat/completions", "apiKey": "ollama", "maxInputTokens":8192, "maxOutputTokens":2048, "supportsToolCall": true } ], "availableModels": [ "gpt-4o", "my-local-llm" ] }

故障排查

配置未生效

检查 JSON 格式是否正确

确认文件路径是否正确

查看日志输出确认配置是否被加载

确认环境变量中的 API 密钥是否已设置

模型未在列表中显示

检查模型 ID 是否在 availableModels 中列出

确认 models 配置是否正确

验证必填字段 (id, name, provider) 是否都已提供

热重载未触发

配置文件变更有 1 秒防抖延迟

确保文件确实被保存到磁盘

检查文件监听是否正常启动 (查看调试日志)

CodeBuddy

一款基于 AI 的全流程智能编程工具,致力于构建产品、设计、研发、部署无缝协作的共生环境。

CodeBuddy 是腾讯云推出的 AI 辅助编程工具,通过将 AI 深度融入全流程,实现从产品构思到产品发布的一站式高效交付平台。 产品支持IDE、插件和 CLI 三种形态,覆盖从专业开发者到零基础用户的全场景需求。

 

扫二维码

关注我们

不迷路^_^


我们愿景

城市更繁荣

乡村更美丽