配置按以下优先级顺序应用(数字较小的会被数字较大的覆盖):
| 层级 | 配置来源 | 说明 |
|---|---|---|
| 1 | 默认值 | 应用程序内硬编码的默认值 |
| 2 | 用户设置文件 | 当前用户的全局设置 |
| 3 | 项目设置文件 | 项目特定的设置 |
| 4 | 环境变量 | 系统范围或会话特定的变量 |
Deep Code 使用 settings.json 设置文件进行持久化配置,支持两个层级的存放位置:
| 文件类型 | 位置 | 作用范围 |
|---|---|---|
| 用户设置文件 | ~/.deepcode/settings.json |
适用于当前用户的所有 Deep Code 会话。 |
| 项目设置文件 | 项目根目录/.deepcode/settings.json |
仅在该特定项目中运行 Deep Code 时生效。项目设置会覆盖用户设置。 |
以下是 settings.json 支持的全部顶层字段,以及 env 内部支持的子字段:
| 字段 | 类型 | 说明 |
|---|---|---|
env |
object | 环境变量分组(见下方子字段表) |
model |
string | 模型名称。优先级高于 env.MODEL |
thinkingEnabled |
boolean | 是否启用思考模式(DeepSeek V4 系列默认启用) |
reasoningEffort |
string | 推理强度,可选 "high" 或 "max"(默认 "max") |
debugLogEnabled |
boolean | 是否启用调试日志输出(默认 false) |
notify |
string | 任务完成通知脚本的完整路径(如 Slack 通知脚本) |
webSearchTool |
string | 自定义联网搜索脚本的完整路径 |
mcpServers |
object | MCP 服务器配置(键为服务名,值为 McpServerConfig 对象) |
| 字段 | 类型 | 说明 |
|---|---|---|
MODEL |
string | 模型名称。例如 "deepseek-v4-pro"、"deepseek-v4-flash" |
BASE_URL |
string | API 请求的基础 URL。例如 "https://api.deepseek.com" |
API_KEY |
string | API 密钥 |
THINKING_ENABLED |
string | 是否启用思考模式 |
REASONING_EFFORT |
string | 推理强度 |
DEBUG_LOG_ENABLED |
string | 是否启用调试日志输出 |
<其他任意KEY> |
string | 自定义环境变量 |
是否启用 DeepSeek 思考模式。设置为 true 启用、false 禁用。
- 对于
deepseek-v4-pro和deepseek-v4-flash,思考模式默认启用。 - 对于其他模型,思考模式默认关闭。
当思考模式启用时,控制模型思考的深度:
| 值 | 说明 |
|---|---|
max |
最大推理深度(默认值) |
high |
较高推理深度,token消耗相对较小 |
设置一个 Shell 脚本的完整路径。当 AI 助手完成一轮任务后,会自动执行该脚本,可用于发送通知(如 Slack 消息)。
{
"notify": "/path/to/slack-notify.sh"
}Deep Code 内置免费可用的 Web Search 工具。如果需要自定义搜索逻辑,可将 webSearchTool 设为一个可执行脚本的完整路径:
{
"webSearchTool": "/path/to/my-search-script.sh"
}脚本接收一个搜索查询参数,输出 JSON 格式的结果供 AI 使用。
MCP(Model Context Protocol)服务器配置。值是键值对,键为服务名称,值为服务器配置对象。
{
"mcpServers": {
"<服务名>": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxxxxxxxxx"
}
}
}
}| McpServerConfig 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
command |
string | 是 | 可执行文件路径或命令(如 npx、node、python) |
args |
string[] | 否 | 传递给命令的参数列表 |
env |
object | 否 | 传递给 MCP 服务器进程的环境变量 |
当
command为npx时,Deep Code 会自动在参数前补充-y。
详细 MCP 使用说明请参考 mcp.md。
设为 true 可让程序输出详细的调试日志(默认 false),用于排查 API 调用和工具执行的问题。
环境变量是配置应用程序的常用方式,尤其适用于敏感信息(如 api-key)或可能在不同环境之间更改的设置。
环境变量优先级遵循“越具体、越局部的配置,优先级越高”和“env文件默认保护现有环境,系统变量高于env文件”的覆盖逻辑。(settings.json的env对象可以认为是一种env文件)
优先级层级 (由低到高)
- settings.json 外层的 env:这是针对整个工具及其所有子进程的通用配置(全局变量)。可被外层环境变量覆盖,但环境变量KEY会移除
DEEPCODE_前缀。 - settings.json mcpServers 内定义的 env:这是针对特定 MCP 服务的最具体配置(局部变量)。可被外层环境变量覆盖,但环境变量KEY会移除
MCP_前缀。 - Shell 环境系统变量:操作系统层面的环境变量。
按以下优先级顺序应用(数字较小的会被数字较大的覆盖)(以api_key为例):
- 硬编码默认值:
"" - 用户级settings.json:
{"env": {"API_KEY": "abc123"}} - 项目级settings.json:
{"env": {"API_KEY": "abc123"}} - 系统环境变量:
DEEPCODE_API_KEY=abc123 deepcode
按以下优先级顺序应用(数字较小的会被数字较大的覆盖)(以thinkingEnabled为例):
- 硬编码默认值:
true - 用户级settings.json:
{"env": {"THINKING_ENABLED": "true"}} - 用户级settings.json:
{"thinkingEnabled": true} - 项目级settings.json:
{"env": {"THINKING_ENABLED": "true"}} - 项目级settings.json:
{"thinkingEnabled": true} - 系统环境变量:
DEEPCODE_THINKING_ENABLED=true deepcode
按以下优先级顺序应用(数字较小的会被数字较大的覆盖)(以notify为例):
- 硬编码默认值:
os.environ.get('WEBHOOK', '...') # notify脚本代码 - 用户级settings.json:
{"env": {"WEBHOOK": "..."}} - 项目级settings.json:
{"env": {"WEBHOOK": "true"}} - 系统环境变量:
DEEPCODE_WEBHOOK=... deepcode
按以下优先级顺序应用(数字较小的会被数字较大的覆盖)(以github MCP server为例):
- 用户级settings.json:
{"mcpServers":{"github":{"env":{"GITHUB_PERSONAL_ACCESS_TOKEN":"..."}}}} - 用户级settings.json:
{"env": {"MCP_GITHUB_PERSONAL_ACCESS_TOKEN": "..."}} - 项目级settings.json:
{"mcpServers":{"github":{"env":{"GITHUB_PERSONAL_ACCESS_TOKEN":"..."}}}} - 项目级settings.json:
{"env": {"MCP_GITHUB_PERSONAL_ACCESS_TOKEN": "..."}} - 系统环境变量:
DEEPCODE_MCP_GITHUB_PERSONAL_ACCESS_TOKEN=... deepcode