跳转到主要内容
Devin CLI 会从多个来源加载配置,并将其合并。了解配置的优先级顺序,有助于你为团队和个人偏好设置合适的配置。

配置层

按优先级从高到低: 当同一设置在多个层级中定义时,以优先级更高的来源为准。

何时使用各个层级

用户配置

路径: ~/.config/devin/config.json (Windows 上为 %APPDATA%\devin\config.json)用于适用于所有场景的个人偏好设置:
  • 默认模型偏好
  • 主题偏好
  • 个人 MCP 服务器 (例如,你自己的 API key)
  • 全局权限授权
路径: .devin/config.json用于提交到代码仓库中的团队标准配置。此层级仅支持 permissionsmcpServersread_config_fromhooks
  • 共享 MCP 服务器 (使用非敏感配置)
  • 团队权限策略
  • 导入设置
  • 生命周期钩子
路径: .devin/config.local.json用于不应提交的个人覆盖配置:
  • API key 和 secrets
  • 此项目的个人工具偏好
  • 权限覆盖
本地配置文件会通过 .git/info/exclude 自动从 git 中排除。
由你的 Enterprise Admin 通过团队设置仪表板进行管理。这些设置不能被单个用户覆盖,并会在整个组织范围内强制执行策略,例如模型限制和 MCP 服务器允许列表。

各层级可用的设置

项目配置 (.devin/config.json.devin/config.local.json) 仅支持部分设置。下表显示了每个层级可用的设置: 标记为仅限用户配置的设置只能在用户配置中设置 (~/.config/devin/config.json;Windows 上为 %APPDATA%\devin\config.json) ,且不参与上述优先级。

合并机制

上面的优先级表仅适用于支持多个层级的配置项 (permissionsmcpServersread_config_fromhooks) 。

权限

权限列表会在各个级别之间合并 (叠加) 。较高级别的拒绝不能被较低级别的允许覆盖。 例如,如果你的组织拒绝 Exec(sudo),那么即使你在用户允许列表中添加 Exec(sudo),也不会生效——组织级拒绝始终优先。不过,项目级别的其他权限 (如 Read(**)) 仍会正常生效。

MCP 服务器

MCP 服务器配置会按名称合并。在更高层级定义的服务器会覆盖更低层级中同名的服务器。 例如,如果你的用户配置和项目配置都定义了一个 “github” 服务器,由于项目配置的优先级高于用户配置,因此会以项目配置版本为准。

钩子

系统会汇总来自所有来源的钩子,并全部运行。用户配置中定义的钩子会与项目配置中定义的钩子一同运行——两者不会相互覆盖。

项目根目录检测

Devin CLI 会从你当前的工作目录开始逐级向上查找,通过寻找 .git.jj 目录来确定项目根目录。项目配置 (.devin/) 会从项目根目录加载。
如果你有嵌套的 .devin/ 目录 (例如在 monorepo 中) ,子目录中的配置会优先于上级目录中的配置。

文件发现摘要

Windows: 显示为 ~/.config/devin/ 的路径采用的是 Linux/macOS 的 XDG 约定。在 Windows 上,这些路径会解析为 %APPDATA%\devin\ (通常是 C:\Users\<YourUser>\AppData\Roaming\devin\) 。