Settings

本页面是 Pi 官方文档 的中文翻译。仅供学习参考。

Pi 使用 JSON 设置文件,项目级配置优先于全局配置。

  • 全局设置位置~/.pi/agent/settings.json
  • 项目设置位置.pi/settings.json(当前目录)

可以直接编辑文件,或使用 /settings 进行常用选项配置。

所有设置项

模型和思维(Model & Thinking)

设置项类型默认值说明
defaultProviderstring-默认 Provider,如 "anthropic""openai"
defaultModelstring-默认模型 ID
defaultThinkingLevelstring-"off""minimal""low""medium""high""xhigh"
hideThinkingBlockbooleanfalse是否隐藏 thinking block
thinkingBudgetsobject-每个 thinking level 的自定义 Token 预算
{
  "thinkingBudgets": {
    "minimal": 1024,
    "low": 4096,
    "medium": 10240,
    "high": 32768
  }
}

UI 和显示

设置项类型默认值说明
themestring"dark""dark""light" 或自定义主题名
quietStartupbooleanfalse隐藏启动头部
collapseChangelogbooleanfalse更新的 changelog 折叠显示
enableInstallTelemetrybooleantrue匿名安装/更新版本 ping
doubleEscapeActionstring"tree"双击 Esc 行为:"tree""fork""none"
treeFilterModestring"default"/tree 默认过滤器
editorPaddingXnumber0编辑器水平内边距(0-3)
autocompleteMaxVisiblenumber5自动补全下拉最大可见项(3-20)
showHardwareCursorbooleanfalse显示终端硬件光标

遥测和更新检查

enableInstallTelemetry 仅控制发送到 https://pi.dev/api/report-install 的匿名安装 ping。退出遥测不会影响版本检查。禁用版本更新检查设置 PI_SKIP_VERSION_CHECK=1。禁用所有启动网络操作使用 --offlinePI_OFFLINE=1

Compaction(压缩)

设置项类型默认值说明
compaction.enabledbooleantrue启用自动压缩
compaction.reserveTokensnumber16384为 LLM 响应保留的 Token
compaction.keepRecentTokensnumber20000保留的最近 Token(不总结)

Branch Summary(分支摘要)

设置项类型默认值说明
branchSummary.reserveTokensnumber16384分支摘要保留的 Token
branchSummary.skipPromptbooleanfalse跳过摘要提示

Retry(重试)

设置项类型默认值说明
retry.enabledbooleantrue启用自动重试
retry.maxRetriesnumber3最大重试次数
retry.baseDelayMsnumber2000指数退避基础延迟
retry.provider.timeoutMsnumberSDK 默认Provider/SDK 请求超时
retry.provider.maxRetriesnumberSDK 默认Provider/SDK 重试次数
retry.provider.maxRetryDelayMsnumber60000最大服务器请求延迟,超时则直接失败

消息传递

设置项类型默认值说明
steeringModestring"one-at-a-time"Steering 消息投递方式
followUpModestring"one-at-a-time"Follow-up 消息投递方式
transportstring"sse"首选传输方式:"sse""websocket""auto"

终端和图像

设置项类型默认值说明
terminal.showImagesbooleantrue在终端显示图像
terminal.imageWidthCellsnumber60图像宽度(终端单元格)
images.autoResizebooleantrue自动调整图像大小
images.blockImagesbooleanfalse阻止所有图像发送给 LLM

Shell

设置项类型说明
shellPathstring自定义 shell 路径
shellCommandPrefixstring每个 bash 命令前添加的前缀
npmCommandstring[]npm 操作的命令 argv

会话

设置项类型说明
sessionDirstring会话文件目录

优先级:--session-dir 标志 > PI_CODING_AGENT_SESSION_DIR 环境变量 > settings.json 中的 sessionDir

模型循环

{
  "enabledModels": ["claude-*", "gpt-4o", "gemini-2*"]
}

资源

  • packages —— npm/git 包
  • extensions —— 本地扩展路径
  • skills —— 本地 Skill 路径
  • prompts —— 本地 Prompt 模板路径
  • themes —— 本地主题路径
  • enableSkillCommands —— 将 Skills 注册为 /skill:name 命令

完整设置文件示例

{
  "defaultProvider": "anthropic",
  "defaultModel": "claude-sonnet-4-20250514",
  "defaultThinkingLevel": "medium",
  "theme": "dark",
  "compaction": {
    "enabled": true,
    "reserveTokens": 16384,
    "keepRecentTokens": 20000
  },
  "retry": {
    "enabled": true,
    "maxRetries": 3
  },
  "enabledModels": ["claude-*", "gpt-4o"],
  "warnings": {
    "anthropicExtraUsage": true
  },
  "packages": ["pi-skills"]
}

项目覆盖

项目设置(.pi/settings.json)覆盖全局设置,嵌套对象会合并而非完全替换。


法律声明:本页面是 pi.dev 官方文档的中文翻译版本,仅供学习参考。本网站与 pi.dev 及 Earendil Inc. 无任何法律关系。