配置
DimCode 会把持久化数据存储在本地,默认目录为 ~/.dimcode/。
提示:优先在 TUI 内配置(
Ctrl+P,/connect,/models,/tool-settings),尽量不要手工改 JSON。
目录结构(默认)
text
~/.dimcode/
config.json # provider connections + UI settings
tools.json # tool config (WebSearch, MCP)
dimcode/
cache.json # cached preferences + session metadata
state/ # session state store (messages, diffs, etc.)
bin/
binary-upgrade.json # standalone binary upgrade metadata
upgrade-toast.json # last upgrade notification路径解析规则
基础目录
DimCode 使用两个基础目录:
- 配置目录(Config dir):存放
config.json - 缓存目录(Cache dir):存放
cache.json、state/、bin/以及升级元数据
解析规则:
- 若设置了
DIMCODE_HOME:- 配置目录:
$DIMCODE_HOME - 缓存目录:
$DIMCODE_HOME/dimcode
- 配置目录:
- 否则若设置了
XDG_CONFIG_HOME:- 配置目录:
$XDG_CONFIG_HOME/.dimcode - 缓存目录:
$XDG_CONFIG_HOME/.dimcode/dimcode
- 配置目录:
- 否则(默认):
- 配置目录:
~/.dimcode - 缓存目录:
~/.dimcode/dimcode
- 配置目录:
tools.json 位置
tools.json 使用独立规则:
- 若设置了
DIMCODE_HOME:$DIMCODE_HOME/tools.json - 否则若设置了
XDG_CONFIG_HOME:$XDG_CONFIG_HOME/dimcode/tools.json - 否则:
~/.dimcode/tools.json
状态目录覆盖
可单独覆盖状态目录(不影响其他目录):
DIMCODE_STATE_DIR=/absolute/path/to/state
各文件作用
config.json
用途: 提供方连接、当前提供方/模型选择,以及自定义提供方/模型(外加少量 UI 级设置)。
典型结构(简化):
json
{
"version": 1,
"updatedAt": 0,
"settings": {
"providerId": "openai",
"activeModelByProvider": {
"openai": "gpt-4.1-mini",
"openrouter": "openrouter/auto",
"ollama": "qwen2.5-coder:14b"
},
"providerConnections": {
"openai": {
"apiKey": "****",
"baseUrl": "https://api.openai.com/v1"
},
"openrouter": {
"apiKey": "****"
},
"ollama": {
"baseUrl": "http://localhost:11434/v1",
"models": [{ "id": "qwen2.5-coder:14b" }]
}
},
"customProviders": [
{
"id": "cp_abc123",
"name": "My Gateway",
"adapter": "openai-responses",
"baseUrl": "http://localhost:8080/v1",
"apiKey": "****",
"models": [{ "id": "my-model" }]
}
]
}
}说明:
- 建议在 TUI 里用
/connect配置,尽量不要手工改 JSON。 customProviders用于保存你在 Connect Provider 流程中创建的自定义端点。customProvider(若存在)属于 旧版字段,可能会自动迁移到customProviders。
cache.json
用途: 缓存的偏好与会话元数据。
常见字段:
settings.model(默认模型)settings.temperaturesettings.contextWindowsettings.toolApprovals(auto/all/manual取决于 UI 模式)
具体字段可能随版本变化,可视为内部缓存。
tools.json
用途: 工具配置,例如 WebSearch 与 MCP 服务器。
典型结构(简化):
json
{
"version": 1,
"updatedAt": 0,
"settings": {
"websearch": {
"apiKey": "",
"apiEndpoint": "https://google.serper.dev/search?format=json",
"numResults": 10
},
"mcpServers": []
}
}配置优先级(谁覆盖谁)
运行时 环境变量优先于本地文件。适合 CI 或临时覆盖。
常见环境变量:
OPENAI_API_KEY(OpenAI 兼容凭据)OPENAI_BASE_URL/DIMCODE_OPENAI_BASE_URL(OpenAI 兼容端点)OPENAI_API_BASE_URL(旧版字段;部分 SDK 示例会使用)GOOGLE_API_KEY(Gemini 凭据)DIMCODE_GEMINI_BASE_URL(Gemini 端点覆盖)ANTHROPIC_API_KEY(Anthropic 凭据)DIMCODE_ANTHROPIC_BASE_URL(Anthropic 端点覆盖)DIMCODE_PROVIDER_ADAPTER(openai/openai-responses/gemini/anthropic)DIMCODE_MODEL(模型 ID)DIMCODE_TEMPERATUREDIMCODE_CONTEXT_WINDOWDIMCODE_TOOL_APPROVALS(auto/all)DIMCODE_SESSION_ID(exec 模式的会话 ID)DIMCODE_SERVER_TOKEN(服务器认证 token)DIMCODE_DISABLE_AUTOUPDATE=1(禁用更新检查)DIMCODE_AUTOUPDATE=0(禁用后台安装)
重置 / 清理
彻底清理本地状态(会删除会话):
bash
rm -rf ~/.dimcode/dimcode/state
rm -f ~/.dimcode/config.json ~/.dimcode/tools.json ~/.dimcode/dimcode/cache.json ~/.dimcode/dimcode/auth.json然后重新启动 dim 并执行 /connect。