Справочное руководство по конфигурации Pi Agent

Ниже представлена краткая справочная таблица по элементам конфигурации Pi Agent settings.json.

В этой таблице перечислены общие элементы конфигурации; некоторые расширенные ключи, специфичные для JSON (такие как tuiMode, серия fullscreen, terminal.hyperlinks, markdown.mermaid и т. д.), не перечислены по отдельности.


Расположение файла конфигурации

Конфигурация делится на два уровня: глобальный и проектный. Проектная конфигурация загружается только после подтверждения доверия к проекту.

Путь к файлуОбласть действияОписание
~/.pi/agent/settings.jsonГлобальные (все проекты)Общая конфигурация, действующая для всех проектов
.pi/settings.jsonУровень проектаЗагружается только после подтверждения доверия к проекту; переопределяет ключи с тем же именем в глобальной конфигурации.

Модель и рассуждения

Конфигурация в этом разделе определяет провайдера, модель и уровень рассуждений по умолчанию.

Элемент конфигурацииTypeОбязательныйЗначение по умолчаниюОписание
defaultProviderstringOptionalНет (задаётся при первом использовании через /login или /model)Провайдер по умолчанию, например, "anthropic", "openai"
defaultModelstringOptionalНет (задаётся при первом использовании через /login или /model)ID модели по умолчанию, например, "claude-sonnet-4-20250514"
defaultThinkingLevelstringOptionalНет (не указано в документации)Уровень рассуждений по умолчанию: off/minimal/low/medium/high/xhigh/max
modelThinkingLevelsобъектOptionalОтсутствуетУстановите уровень рассуждений при запуске для каждой модели по "provider/modelId"
hideThinkingBlockлогическое значениеOptionalfalseСкрыть процесс рассуждений
showCacheMissNoticesлогическое значениеOptionalfalseПоказывать уведомления о промахах кэша
thinkingBudgetsобъектOptionalНет (пользовательский бюджет не включён)Настроить бюджет токенов для каждого уровня
warnings.anthropicExtraUsageлогическое значениеOptionalистинаНапоминать, когда подписка Anthropic может повлечь платное дополнительное использование

Интерфейс и отображение

Конфигурация в этом разделе управляет внешним видом интерфейса, внешним редактором и плотностью отображения.

Элемент конфигурацииTypeОбязательныйЗначение по умолчаниюОписание
themestringOptional"dark"Название темы
externalEditorstringOptionalИспользует $VISUAL, затем $EDITOR; в противном случае использует Notepad в Windows и nano в других системахКоманда внешнего редактора (явная конфигурация имеет приоритет над переменными среды)
quietStartupлогическое значениеOptionalfalseСкрыть заголовок при запуске
defaultProjectTruststringOptional"ask"Поведение по умолчанию для доверия к проекту: "ask" (запрос), "always" (автоматическое доверие), "never" (автоматическое отклонение); действует только в глобальной конфигурации
collapseChangelogлогическое значениеOptionalfalseСвернуть журнал изменений
enableInstallTelemetryлогическое значениеOptionalистинаАнонимная статистика установок
enableAnalyticsлогическое значениеOptionalfalseАналитика поведения пользователей (требуется согласие)
doubleEscapeActionstringOptional"tree"Действие, запускаемое двойным нажатием Escape; по умолчанию открывает браузер дерева сеансов
treeFilterModestringOptional"default"/tree режим фильтра по умолчанию: default/no-tools/user-only/labeled-only/all
editorPaddingXчислоOptional0Горизонтальный отступ редактора (0-3)
outputPadчислоOptional1Отступ сообщения (0 или 1)
autocompleteMaxVisibleчислоOptional5Максимум записей автодополнения (3-20)

Сеть

Конфигурация в этом разделе используется для доступа через прокси в сетях с ограничениями.

Элемент конфигурацииTypeОбязательныйЗначение по умолчаниюОписание
httpProxystringOptionalНет (прокси не используется)HTTP-прокси (только глобально)

httpProxyДействует только в глобальной конфигурации; игнорируется, если указан в конфигурации уровня проекта.

Когда требуется прокси, запишите его в глобальную конфигурацию.~/.pi/agent/settings.json。


Сжатие

Конфигурация в этом разделе управляет политикой срабатывания и сохранения автоматического сжатия контекста.

Элемент конфигурацииTypeОбязательныйЗначение по умолчаниюОписание
compaction.enabledлогическое значениеOptionalистинаАвтоматическое сжатие
compaction.reserveTokensчислоOptional16384Зарезервированные токены для ответа LLM
compaction.keepRecentTokensчислоOptional20000Недавние токены для сохранения

Сводка по ветке

Конфигурация в этом разделе управляет тем, создавать ли сводку по заброшенным веткам при переходе между деревьями сессий.

Элемент конфигурацииTypeОбязательныйЗначение по умолчаниюОписание
branchSummary.reserveTokensчислоOptional16384Зарезервированные токены для сводки
branchSummary.skipPromptлогическое значениеOptionalfalseПропустить запрос сводки

Повторить

Конфигурация в этом разделе управляет поведением автоматических повторных попыток после сбоев запросов.

Элемент конфигурацииTypeОбязательныйЗначение по умолчаниюОписание
retry.enabledлогическое значениеOptionalистинаАвтоматический повтор
retry.maxRetriesчислоOptional3Максимальное количество повторных попыток
retry.baseDelayMsчислоOptional2000Базовая задержка (ms)
retry.provider.timeoutMsчислоOptionalЗначение по умолчанию SDKТайм-аут запроса
retry.provider.maxRetriesчислоOptional0Количество повторных попыток на уровне провайдера
retry.provider.maxRetryDelayMsчислоOptional60000Максимальная задержка повторной попытки

Передача сообщений

Конфигурация в этом разделе определяет, как вставляются директивные сообщения и последующие сообщения, а также используемый транспортный протокол.

Элемент конфигурацииTypeОбязательныйЗначение по умолчаниюОписание
steeringModestringOptional"one-at-a-time"Политика директивных сообщений: "all" (вставлять все директивные сообщения сразу) или "one-at-a-time" (вставлять по одному)
followUpModestringOptional"one-at-a-time"Политика последующих сообщений
transportstringOptional"auto"Транспортный протокол: sse / websocket / websocket-cached / auto
httpIdleTimeoutMsчислоOptional300000Тайм-аут простоя HTTP
websocketConnectTimeoutMsчислоOptional15000Тайм-аут подключения WebSocket

Терминал и изображения

Конфигурация в этом разделе управляет размером отображения и поведением отправки изображений в терминале.

Элемент конфигурацииTypeОбязательныйЗначение по умолчаниюОписание
terminal.showImagesлогическое значениеOptionalистинаОтображать изображения в терминале
terminal.imageWidthCellsчислоOptional60Ширина изображения (ячейки)
terminal.clearOnShrinkлогическое значениеOptionalfalseОчищать пустые строки при уменьшении содержимого
images.autoResizeлогическое значениеOptionalистинаАвтоматическое масштабирование изображений
images.blockImagesлогическое значениеOptionalfalseЗапретить отправку изображений в LLM

Шелла

Конфигурация в этом разделе используется для настройки оболочки и обёртки npm при выполнении команд.

Элемент конфигурацииTypeОбязательныйЗначение по умолчаниюОписание
shellPathstringOptionalНет (использовать системную оболочку по умолчанию)Пользовательский путь к оболочке
shellCommandPrefixstringOptionalНет (префикс не добавляется)Префикс команды
npmCommandstring[]OptionalНет (вызывать npm напрямую)Обёртка команды npm

Встроенные инструменты

Конфигурация в этом разделе управляет набором встроенных инструментов, включённых по умолчанию при запуске.

Элемент конфигурацииTypeОбязательныйЗначение по умолчаниюОписание
defaultToolsstring[]OptionalНет (использовать встроенный набор инструментов по умолчанию)Изначально включённые встроенные инструменты, возможные значения: read/bash/powershell/edit/write/grep/find/ls, при этом powershell доступен только в Windows

Эта конфигурация влияет только на встроенные инструменты; пользовательские инструменты, зарегистрированные расширениями и SDK, не затрагиваются.

Массив defaultTools уровня проекта полностью заменяет глобальный массив.


Цикл моделей и ресурсы

В этом разделе настраивается область действия цикла моделей по Ctrl+P, а также пути загрузки ресурсов, таких как расширения и навыки.

Элемент конфигурацииTypeОбязательныйЗначение по умолчаниюОписание
enabledModelsstring[]OptionalНет (все доступные модели)Доступные модели по Ctrl+P
packagesмассив (смешанные строки или объекты)Optional[]Источник пакета; строковая форма загружает все ресурсы, объектная форма фильтрует с использованием таких полей, как {source, skills, extensions}
extensionsstring[]Optional[]Путь к расширению
skillsstring[]Optional[]Путь к навыку
promptsstring[]Optional[]Путь к шаблону
темыstring[]Optional[]Путь к теме
enableSkillCommandsлогическое значениеOptionalистинаЗарегистрировать команду /skill:name
sessionDirstringOptionalНет (использует ~/.pi/agent/sessions/)Каталог хранения сессий
Другие расширения