配置
DimAgent 会把持久化数据存储在本地。默认基础目录为 ~/.dimcode/v2/。
提示:日常使用优先在 TUI 内配置(
Ctrl+P、/connect、/models、/plugins、/mcp)。
目录结构
~/.dimcode/
v2/ # v2 数据主目录
dimcode.sqlite # 主存储数据库(会话、提供方等)
credentials.json # 全局凭据
credentials/ # 按提供方存储的凭据
<providerId>.json
mcp.json # MCP 服务器配置
config.json # 旧版配置(首次运行 v2 时自动迁移)
路径解析
DimAgent 使用 DIMCODE_HOME 作为基础目录覆盖项:
- 设置
DIMCODE_HOME时:- Home dir:
$DIMCODE_HOME
- Home dir:
- 默认:
- Home dir:
~/.dimcode/v2
- Home dir:
文件位置:
- 存储数据库:
<home-dir>/dimcode.sqlite - 凭据:
<home-dir>/credentials.json或<home-dir>/credentials/<providerId>.json - MCP 配置:
<home-dir>/mcp.json - 项目级 MCP 配置:
<cwd>/.mcp.json
存储数据库
DimAgent v2 使用 SQLite(dimcode.sqlite)作为主要存储,包含:
- Session 状态与历史
- Provider 配置
- 用量记录
- 工具执行日志
- Blob 存储(图片、附件)
这与 v1 使用独立 JSON 文件不同。首次运行 v2 时,会自动从旧版 JSON 文件导入相关数据。
凭据
凭据按提供方存储:
~/.dimcode/v2/credentials/<providerId>.json
或使用全局凭据文件:
~/.dimcode/v2/credentials.json
在 TUI 中使用 /connect 或在 CLI 中使用 dim provider add 管理凭据。
mcp.json
用途:MCP 服务器配置。
v2 推荐格式使用顶层 mcpServers 对象。每个 key 是 server id,name 是可选显示名。
{
"mcpServers": {
"MiniMax": {
"name": "MiniMax",
"command": "uvx",
"args": ["minimax-coding-plan-mcp"],
"env": {
"MINIMAX_API_KEY": "${MINIMAX_API_KEY}",
"MINIMAX_MCP_BASE_PATH": "${HOME}/.dimcode/minimax",
"MINIMAX_API_HOST": "https://api.minimaxi.com"
},
"enabled": true
},
"remote-api": {
"name": "Remote API",
"type": "http",
"url": "https://example.com/mcp",
"auth": {
"type": "bearer",
"token": "${MCP_TOKEN}"
},
"headers": {
"x-client": "dimcode"
},
"enabled": true
}
}
}
管理方式:
- TUI:
/mcp或Ctrl+P-> MCP - CLI:
dim mcp add、dim mcp add-json、dim mcp list、dim mcp test、dim mcp toggle、dim mcp remove
项目级 MCP 配置可放在 <project>/.mcp.json。
用户级和项目级配置都使用 mcpServers object 格式。
MCP transport
| 类型 | 写法 | 用途 |
|---|---|---|
stdio |
command + args,可省略 type |
启动本地 MCP server 子进程 |
http |
type: "http" + url |
连接远程 Streamable HTTP MCP server |
streamable-http |
HTTP alias | 读取为 HTTP,写回时保存为 http |
Bearer token 可以写在 auth: { "type": "bearer", "token": "${TOKEN}" },普通 header 写在 headers。
CLI 读取共享配置时,sse、streamable_http 和未知 transport 会产生 warning,该 server 会被跳过。
stdio 示例
dim mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem .
dim mcp add --scope project github \
--env 'GITHUB_TOKEN=${GITHUB_TOKEN}' \
-- npx -y @modelcontextprotocol/server-github
HTTP 示例
dim mcp add --transport http remote https://example.com/mcp
dim mcp add --transport http secure-api https://api.example.com/mcp \
--header 'Authorization: Bearer ${API_TOKEN}'
环境变量模板
MCP 配置中的 command、args、env、cwd、url、headers 支持环境变量模板。
| 写法 | 含义 |
|---|---|
${VAR} |
必须从运行环境读取 |
${VAR:-default} |
缺失时使用默认值 |
缺失必需环境变量时,该 server 会被跳过并显示 warning,其他 MCP server 和主流程继续运行。
旧版配置
v1 配置文件可能仍存在于 ~/.dimcode/:
config.json:provider connections 和 UI settings(已迁移至 SQLite)tools.json:WebSearch 设置dimcode/cache.json:缓存偏好dimcode/auth.json:auth tokensdimcode/state/:session state store
首次运行 v2 时,相关数据会自动从这些文件导入。
环境变量
运行时环境变量会覆盖保存文件。
常见变量:
OPENAI_API_KEYOPENAI_BASE_URL/DIMCODE_OPENAI_BASE_URLGOOGLE_API_KEYDIMCODE_GEMINI_BASE_URLANTHROPIC_API_KEYDIMCODE_ANTHROPIC_BASE_URLDIMCODE_PROVIDER_ADAPTER(openai/openai-responses/gemini/anthropic)DIMCODE_MODELDIMCODE_TEMPERATUREDIMCODE_CONTEXT_WINDOWDIMCODE_TOOL_APPROVALS(auto/normal/strict)DIMCODE_SESSION_ID(one-shot 模式 session ID)DIMCODE_HOMEDIMCODE_STATE_DIRDIMCODE_DISABLE_AUTOUPDATE=1DIMCODE_AUTOUPDATE=0DIMCODE_DEBUG_LOG
重置
以下命令会删除所有 v2 数据:
rm -rf ~/.dimcode/v2
同时删除旧版 v1 数据:
rm -rf ~/.dimcode/config.json ~/.dimcode/tools.json
rm -rf ~/.dimcode/dimcode
重新启动 dim 并执行 /connect 设置提供方。