配置文件

AtomCode 的配置采用 TOML 格式,支持多个 provider 并行存在、随时切换。本页讲清每一个字段的含义和常见 provider 的示例配置。

配置文件位置

默认路径:

也可以通过 --config /path/to/config.toml 指定任意路径。首次运行时,若该文件不存在,欢迎界面会引导你完成初始化。

最小示例

default_provider = "deepseek"

[providers.deepseek]
type = "openai"
api_key = "sk-xxxxxxxxxxxxxxxx"
model = "deepseek-chat"
base_url = "https://api.deepseek.com/v1"
context_window = 64000

这个配置已经可以启动 atomcode 并与 DeepSeek 对话。

顶层字段

字段类型说明
default_providerstring启动时默认使用的 provider 名(必须是 [providers.*] 中定义过的 key)
default_workdirstring?默认工作目录。用 /cd 切换目录时自动写回这里,下次启动恢复
providerstableprovider 名到 ProviderConfig 的映射

ProviderConfig 字段

每一个 [providers.xxx] 表下可用的字段:

字段类型必填说明
typestringprovider 协议类型,目前支持 openaiclaudeollama
api_keystring?视情况API Key。ollama 可不填。OAuth 登录的 provider 不含此字段,token 从 ~/.atomcode/auth.toml 自动读取
modelstring模型名,比如 deepseek-chatgpt-4oclaude-sonnet-4-6
base_urlstring?API 基地址。openai 类型需要指向实际接口,留空使用 OpenAI 官方
context_windowinteger模型上下文窗口(tokens),默认 64000。ollama 默认 8000
max_tokensinteger?单次响应的最大输出 token 数。留空则使用 context_window / 4
system_promptstring?覆盖默认系统提示。大多数场景不需要
user_agentstring?覆盖 HTTP 请求的 User-Agent,当上游接口屏蔽通用 UA 时使用
为什么默认 64K 而不是 128K?

即便模型官方声称支持 128K+,其有效注意力窗口通常要小得多,过大上下文反而会触发"迷失在中段"的问题,并且阻止 AtomCode 的上下文压缩策略生效。64K 是经验上最稳的默认值,若你确定模型表现良好,可自行上调。

常见 provider 配置示例

Claude (Anthropic)

[providers.claude]
type = "claude"
api_key = "sk-ant-..."
model = "claude-sonnet-4-6"
context_window = 128000

OpenAI

[providers.openai]
type = "openai"
api_key = "sk-..."
model = "gpt-4o"
context_window = 128000

DeepSeek

[providers.deepseek]
type = "openai"
api_key = "sk-..."
model = "deepseek-chat"
base_url = "https://api.deepseek.com/v1"
context_window = 64000

智谱 GLM

[providers.glm]
type = "openai"
api_key = "..."
model = "glm-4-plus"
base_url = "https://open.bigmodel.cn/api/paas/v4"
context_window = 128000

通义千问 Qwen

[providers.qwen]
type = "openai"
api_key = "sk-..."
model = "qwen-plus"
base_url = "https://dashscope.aliyuncs.com/compatible-mode/v1"
context_window = 128000

SiliconFlow

[providers.siliconflow]
type = "openai"
api_key = "sk-..."
model = "Qwen/Qwen2.5-72B-Instruct"
base_url = "https://api.siliconflow.cn/v1"

Ollama(本地)

[providers.ollama]
type = "ollama"
model = "llama3.2"
base_url = "http://localhost:11434"
context_window = 8000
注意

Ollama 模型 function calling 的兼容性参差不齐,弱一些的本地模型可能无法稳定触发工具调用。建议优先尝试 Qwen2.5 / Llama3.2 的 Instruct 版本。

多 provider 与快速切换

配置文件允许同时存在任意数量的 provider:

default_provider = "claude"

[providers.claude]
type = "claude"
api_key = "sk-ant-..."
model = "claude-sonnet-4-6"

[providers.deepseek]
type = "openai"
api_key = "sk-..."
model = "deepseek-chat"
base_url = "https://api.deepseek.com/v1"

[providers.local]
type = "ollama"
model = "qwen2.5:14b"
base_url = "http://localhost:11434"

在 TUI 中可以用 /provider 在这些条目之间切换,用 /model 只切换当前 provider 下的模型。命令行启动时也支持一次性覆盖:

atomcode --provider deepseek --model deepseek-reasoner

编辑配置的三种方式

下一步