配置文件

MiMo Code 以 JSON / JSONC 配置文件管理提供商、模型、服务器、工具、权限等运行时参数。多层配置合并加载,managed 层优先级最高。

加载位置、合并规则与场景对照见 配置覆盖


顶层字段

字段类型说明
$schemastringJSON Schema URL,启用编辑器补全与校验
modelstring默认主模型,格式 provider_id/model_id
small_modelstring轻量任务(如标题生成)使用的模型
providerobject提供商连接与运行选项
disabled_providersarray禁用的提供商 ID 列表
enabled_providersarray启用的提供商白名单
agentobject自定义代理定义
default_agentstring默认代理
commandobject自定义命令模板
permissionobject | string工具操作的权限规则
toolobject工具调用风格
mcpobjectMCP 服务器
pluginarray插件 spec 列表(npm 包名或本地路径)
skillsobject技能加载源
lspobjectLSP 集成
formatterobject代码格式化程序
instructionsarray指令文件路径或 glob
sharestring"manual" / "auto" / "disabled"
autoupdateboolean | "notify"自动更新行为
compactionobject上下文压缩策略
checkpointobjectCheckpoint 阈值与配额
snapshotboolean启用快照(默认 true
watcherobject文件监视器忽略模式
serverobjectmimo serve / mimo web 服务器设置
enterpriseobject企业相关配置(url
usernamestring自定义用户名
logLevelstring日志级别
experimentalobject实验性功能,不稳定

完整示例

mimocode.jsonc
{
  "$schema": "https://mimo.xiaomi.com//config.json",
  "model": "mimo/mimo-v2.5-pro",
  "small_model": "mimo/mimo-v2.5-pro",
  "default_agent": "build",
  "share": "manual",
  "autoupdate": true,

  "provider": {
    "anthropic": {
      "options": { "timeout": 600000, "setCacheKey": true }
    }
  },

  "server": {
    "port": 4096,
    "hostname": "0.0.0.0",
    "mdns": true
  },

  "permission": {
    "*": "ask",
    "bash": "allow",
    "edit": "deny"
  },

  "compaction": { "auto": true, "prune": true, "tail_turns": 2 },
  "watcher": { "ignore": ["node_modules/**", "dist/**"] },

  "mcp": {},
  "plugin": ["mimocode-helicone-session"],
  "instructions": ["CONTRIBUTING.md"],

  "disabled_providers": ["openai", "gemini"]
}

TUI 相关项(tui / theme / keybinds)写在 ~/.config/mimocode/tui.json,不在此文件中。


字段说明

model /small_model

设置默认模型。格式 provider_id/model_idsmall_model 未设置时回退到主模型或提供商内更便宜的模型。详见模型与提供商

provider

每个提供商可单独配置 options

字段类型默认值说明
apiKeystringAPI 密钥
baseURLstring自定义端点 URL
enterpriseUrlstring企业版端点(如 GitHub Enterprise Copilot)
timeoutnumber | false300000请求超时(毫秒),false 禁用
chunkTimeoutnumber | false流式响应 chunk 间超时(毫秒),false 禁用
setCacheKeybooleanfalse始终为该提供商设置缓存键

options 支持透传额外字段到底层 SDK。提供商专属字段(如 Bedrock 的 region / profile / endpoint)见提供商特定选项

server

mimo serve / mimo web 的服务器设置:

字段类型默认值说明
portnumber监听端口
hostnamestring监听主机名;启用 mdns 且未设置时为 0.0.0.0
mdnsboolean启用 mDNS 服务发现
mdnsDomainstringopencode.localmDNS 自定义域名
corsarray<string>允许的 CORS 来源

详见服务器

permission

控制工具操作直接执行、提示审批或被阻止。可统一设置或针对单个工具:

mimocode.json
{ "permission": { "*": "ask", "bash": "allow", "edit": "deny" } }

完整规则见权限

compaction

上下文自动压缩策略:

字段类型默认值说明
autobooleantrue上下文已满时自动压缩
prunebooleantrue删除旧工具输出以节省 Token
tail_turnsnumber2压缩时保留的最近对话轮数
preserve_recent_tokensnumber压缩时强制保留的最近 Token 数
reservednumberToken 缓冲,避免压缩过程溢出

watcher

mimocode.json
{ "watcher": { "ignore": ["node_modules/**", "dist/**"] } }

agent /default_agent

agent 定义专用代理:

mimocode.jsonc
{
  "agent": {
    "code-reviewer": {
      "description": "Reviews code for best practices",
      "model": "mimo/mimo-v2.5-pro",
      "prompt": "You are a code reviewer.",
      "tools": { "write": false, "edit": false }
    }
  },
  "default_agent": "build"
}

default_agent 必须是主代理。无效值回退到 "build" 并发出警告,对所有界面(TUI / mimo run / 桌面 / GitHub Action)生效。也可用 Markdown 文件定义代理,详见代理

command

重复任务的命令模板。详见自定义命令

mimocode.jsonc
{
  "command": {
    "test": {
      "template": "Run the full test suite with coverage report.",
      "description": "Run tests with coverage",
      "agent": "build"
    }
  }
}

share

行为
"manual"通过 /share 手动分享(默认)
"auto"自动分享新会话
"disabled"完全禁用

autoupdate

行为
true启动时自动下载新版本
false禁用自动更新
"notify"不自动更新,仅在新版本可用时通知

未设置时启用自动更新。通过包管理器(如 Homebrew)安装时此选项不生效。

formatter

mimocode.json
{
  "formatter": {
    "prettier": { "disabled": true },
    "custom-prettier": {
      "command": ["npx", "prettier", "--write", "$FILE"],
      "environment": { "NODE_ENV": "development" },
      "extensions": [".js", ".ts", ".jsx", ".tsx"]
    }
  }
}

详见格式化程序

plugin

接受 npm 包名或本地路径:

mimocode.json
{ "plugin": ["mimocode-helicone-session", "./plugins/local.ts"] }

详见插件

skills

mimocode.json
{ "skills": { "paths": ["./skills/"], "urls": ["https://example.com/bundle.json"] } }

详见 Skills

tool

控制工具调用风格:

字段类型说明
invocation_stylestring全局调用风格(如 "json" / "xml"
invocation_style_by_toolobject按工具名覆盖

tool 与已废弃的 tools 是不同字段。tools 已合并到 permission

instructions

注入额外指令文件,接受路径与 glob:

mimocode.json
{ "instructions": ["CONTRIBUTING.md", ".cursor/rules/*.md"] }

详见规则

disabled_providers /enabled_providers

mimocode.json
{
  "disabled_providers": ["openai", "gemini"],
  "enabled_providers": ["anthropic", "openai"]
}
  • 被禁用的提供商即便设置了环境变量或通过 /connect 配置密钥也不会加载,模型不出现在选择列表中。
  • 设置 enabled_providers 后仅启用列表中的提供商,其他全部忽略。
  • disabled_providers 优先于 enabled_providers

其他字段

  • mcp — MCP 服务器,详见 MCP
  • lsp — LSP 集成,详见 LSP
  • enterprise{ "url": "https://enterprise.example.com" }
  • checkpoint — checkpoint 阈值与配额(thresholds / reserved / push_caps),以 schema 为准
  • experimental — 实验性功能,可能在不另行通知的情况下变更或移除

变量替换

配置值中可引用环境变量与文件内容:

mimocode.json
{
  "model": "{env:MIMOCODE_MODEL}",
  "provider": {
    "anthropic": {
      "options": {
        "apiKey": "{env:ANTHROPIC_API_KEY}",
        "baseURL": "{file:~/.secrets/anthropic-endpoint}"
      }
    }
  }
}
  • {env:VAR} — 未设置时替换为空字符串
  • {file:path} — 相对配置文件目录,或 / / ~ 开头的绝对路径
NOTE

JSONC 中位于 //单行注释内的占位符不会被替换。


Schema

配置文件遵循 code.xiaomimimo.com/config.json。在文件顶部添加 "$schema" 即可启用编辑器补全与校验:

mimocode.json
{ "$schema": "https://mimo.xiaomi.com//config.json" }