配置

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 作为基础目录覆盖项:

  1. 设置 DIMCODE_HOME 时:
    • Home dir:$DIMCODE_HOME
  2. 默认:
    • Home dir:~/.dimcode/v2

文件位置:

  • 存储数据库:<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:/mcpCtrl+P -> MCP
  • CLI:dim mcp adddim mcp add-jsondim mcp listdim mcp testdim mcp toggledim 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 读取共享配置时,ssestreamable_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 配置中的 commandargsenvcwdurlheaders 支持环境变量模板。

写法 含义
${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 tokens
  • dimcode/state/:session state store

首次运行 v2 时,相关数据会自动从这些文件导入。

环境变量

运行时环境变量会覆盖保存文件。

常见变量:

  • OPENAI_API_KEY
  • OPENAI_BASE_URL / DIMCODE_OPENAI_BASE_URL
  • GOOGLE_API_KEY
  • DIMCODE_GEMINI_BASE_URL
  • ANTHROPIC_API_KEY
  • DIMCODE_ANTHROPIC_BASE_URL
  • DIMCODE_PROVIDER_ADAPTERopenai / openai-responses / gemini / anthropic
  • DIMCODE_MODEL
  • DIMCODE_TEMPERATURE
  • DIMCODE_CONTEXT_WINDOW
  • DIMCODE_TOOL_APPROVALSauto / normal / strict
  • DIMCODE_SESSION_ID(one-shot 模式 session ID)
  • DIMCODE_HOME
  • DIMCODE_STATE_DIR
  • DIMCODE_DISABLE_AUTOUPDATE=1
  • DIMCODE_AUTOUPDATE=0
  • DIMCODE_DEBUG_LOG

重置

以下命令会删除所有 v2 数据:

rm -rf ~/.dimcode/v2

同时删除旧版 v1 数据:

rm -rf ~/.dimcode/config.json ~/.dimcode/tools.json
rm -rf ~/.dimcode/dimcode

重新启动 dim 并执行 /connect 设置提供方。