跳到主要内容

配置系统

Copilot Shell 采用分层配置系统,支持从系统级到项目级的多层覆盖。

配置文件位置

层级路径用途
系统设置/etc/copilot-shell/settings.json管理员全局策略
系统默认/etc/copilot-shell/system-defaults.json系统默认值
用户设置~/.copilot-shell/settings.json个人偏好
项目设置.copilot-shell/settings.json项目级覆盖

优先级(从高到低)

  1. 命令行参数
  2. 环境变量
  3. 系统设置(管理员强制覆盖)
  4. 项目设置
  5. 用户设置
  6. 系统默认值

高优先级的值会覆盖低优先级的值。系统设置作为管理员策略层, 优先级高于用户和项目设置,用于强制执行组织级安全策略。

配置类别

general — 通用设置

类型默认值说明
general.languagestring"auto"界面语言(auto/en/zh-CN
general.outputLanguagestring"auto"LLM 输出语言
general.vimModebooleanfalse启用 Vim 键绑定
general.preferredEditorstring首选编辑器
general.gitCoAuthorbooleantrue自动添加 Co-authored-by
general.terminalBellbooleantrue响应完成时播放终端铃声
general.chatRecordingbooleantrue保存聊天历史到磁盘
general.checkpointing.enabledbooleanfalse启用会话检查点

ui — 界面设置

类型默认值说明
ui.themestring"Copilot Shell Dark"颜色主题
ui.hideTipsbooleanfalse隐藏提示信息
ui.showLineNumbersbooleanfalse代码显示行号
ui.compactModebooleanfalse紧凑模式(Ctrl+O 切换)
ui.enableWelcomeBackbooleantrue显示「欢迎回来」对话框
ui.customThemesobject{}自定义主题定义

tools — 工具设置

类型默认值说明
tools.approvalModeenum"default"审批模式(plan/default/auto-edit/yolo)
tools.allowedarray免确认的工具白名单
tools.excludearray排除的工具列表
tools.shell.enableInteractiveShellbooleanfalse启用 PTY 交互式 Shell
tools.useRipgrepbooleantrue使用 ripgrep 搜索

security — 安全设置

类型默认值说明
security.auth.selectedTypestring当前认证类型
security.auth.enforcedTypestring强制认证类型
security.auth.apiKeystringOpenAI 兼容 API 密钥
security.auth.baseUrlstringOpenAI 兼容 Base URL
security.folderTrust.enabledbooleanfalse文件夹信任

model — 模型设置

类型默认值说明
model.namestring当前使用的模型
model.maxSessionTurnsnumber-1最大会话轮次(-1 无限)
model.sessionTokenLimitnumber会话 token 上限
model.chatCompressionobject聊天压缩配置
model.generationConfig.timeoutnumber请求超时(毫秒)
model.generationConfig.maxRetriesnumber最大重试次数
model.generationConfig.contextWindowSizenumber覆盖上下文窗口大小

context — 上下文设置

类型默认值说明
context.fileNamestring上下文文件名
context.includeDirectoriesarray[]额外包含的目录
context.fileFiltering.respectGitIgnorebooleantrue尊重 .gitignore
context.fileFiltering.respectQwenIgnorebooleantrue尊重 .copilotignore

mcp — MCP 服务器

类型默认值说明
mcpServersobject{}MCP 服务器配置
mcp.allowedarray允许的 MCP 服务器
mcp.excludedarray排除的 MCP 服务器

hooksConfig — Hooks 配置

类型默认值说明
hooksConfig.enabledbooleantrue启用 hooks 系统
hooksConfig.disabledarray[]禁用的 hook 名称列表

hooks — Hook 事件配置

类型说明
hooks.PreToolUsearray工具执行前触发的 hooks
hooks.UserPromptSubmitarray代理处理前触发的 hooks
hooks.Stoparray代理处理后触发的 hooks

skills — 技能配置

类型默认值说明
skills.customPathsarray[]自定义技能搜索路径
skillOS.baseUrlstring远程 Skill-OS 地址
clawhub.registrystringClawhub 注册表 URL

webSearch — Web 搜索

类型说明
webSearch.providerarray搜索提供商配置(Tavily/Google/DashScope)
webSearch.defaultstring默认搜索提供商

autoMemory — 自动记忆

类型默认值说明
autoMemory.enabledbooleanfalse启用自动记忆提取
autoMemory.cooldownSecondsnumber1800提取冷却时间(秒)

配置示例

完整的用户配置示例(~/.copilot-shell/settings.json):

{
"general": {
"language": "zh-CN",
"outputLanguage": "Chinese",
"vimMode": false
},
"ui": {
"theme": "Copilot Shell Dark",
"compactMode": false
},
"tools": {
"approvalMode": "default",
"shell": {
"enableInteractiveShell": true
}
},
"security": {
"auth": {
"selectedType": "aliyun"
}
},
"model": {
"generationConfig": {
"timeout": 60000,
"maxRetries": 3
}
}
}

环境变量

部分配置支持通过环境变量设置:

环境变量对应配置
OPENAI_API_KEYsecurity.auth.apiKey
OPENAI_BASE_URLsecurity.auth.baseUrl

项目信任

当 Copilot Shell 在新项目目录下首次运行时,项目级配置 (.copilot-shell/settings.json)默认不受信任。只有在用户确认信任该目录 后,项目设置才会生效。

通过 security.folderTrust.enabled 控制此行为。