Настройка, расширение, параметры платформы и справочник API для Pi.

Использование Pi

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

Интерактивный режим

Interactive Mode

Интерфейс имеет четыре основные области:

  • Заголовок запуска – ярлыки, загруженные context files, prompt templates, навыки и расширения.
  • Сообщения – сообщения пользователя, ответы помощника, вызовы инструментов, результаты работы инструментов, уведомления, ошибки и пользовательский интерфейс расширений.
  • Редактор — место ввода текста; цвет границы указывает на текущий уровень мышления
  • Нижний колонтитул — рабочий каталог, имя сеанса, использование токена/кэша, стоимость, использование контекста и текущая модель. Итоговые данные включают ответы помощника, данные об использовании, сообщаемые инструментами, и генерацию сводных данных.

Редактор можно временно заменить встроенным пользовательским интерфейсом, например /settings, или пользовательским пользовательским интерфейсом расширения.

Возможности редактора

Особенность Как
Ссылка на файл Введите @ для нечеткого поиска файлов проекта.
Завершение пути Нажмите Tab, чтобы завершить пути.
Многострочный ввод Shift+Enter или Ctrl+Enter в терминале Windows
Копировать ответ Ctrl+X копирует последнее сообщение помощника; в /tree копируется выбранное сообщение
Изображения Вставьте с помощью Ctrl+V, Alt+V в Windows или перетащите в терминал.
Команда оболочки !command запускается и отправляет выходные данные в модель
Скрытая команда оболочки !!command выполняется без отправки вывода в модель
Внешний редактор Ctrl+G открывает externalEditor, $VISUAL, $EDITOR, Блокнот в Windows или nano в другом месте.

См. Keybindings для просмотра всех ярлыков и настроек.

Слэш-команды

Введите / в редакторе, чтобы открыть завершение команды. Extensions позволяет регистрировать собственные команды, навыки доступны как /skill:name, а prompt templates расширяется с помощью /templatename.

Команда Описание
/login, /logout Управление учетными данными ключа OAuth или API
/llama Загрузка, загрузка и выгрузка моделей маршрутизаторов llama.cpp
/model Переключение моделей
/scoped-models Включить/отключить модели для циклического переключения Ctrl+P
/settings Уровень мышления, тема, доставка сообщения, транспорт
/resume Piск с предыдущих сессий
/new Начать новый сеанс
/name <name> Установить отображаемое имя сеанса
/session Показать файл сеанса, идентификатор, сообщения, токены и стоимость.
/tree Перейти к любой точке сеанса и продолжить оттуда.
/trust Сохранить решение о доверии проекта для будущих сеансов.
/fork Создать новый сеанс на основе предыдущего сообщения пользователя.
/clone Дублируйте текущую активную ветку в новый сеанс.
/compact [prompt] Сжатие контекста вручную, опционально с пользовательскими инструкциями
/copy Скопировать последнее сообщение помощника в буфер обмена
/export [file] Экспортировать сеанс в HTML или JSONL
/import <file> Импортируйте и возобновите сеанс из файла JSONL.
/share Загрузить как частную суть GitHub с общей HTML-ссылкой.
/reload Перезагрузите сочетания клавиш, расширения, навыки, подсказки, темы и context files.
/hotkeys Показать все сочетания клавиш
/changelog Отображать историю версий
/quit Выйти из пи

Очередь сообщений

Вы можете отправлять сообщения, пока агент еще работает:

  • Ввод ставит в очередь сообщение управления, доставляемое после того, как текущий ход помощника завершает выполнение вызовов инструментов.
  • Alt+Enter ставит в очередь последующее сообщение, доставляемое после того, как агент завершит всю работу.
  • Escape прерывает работу и восстанавливает сообщения в очереди в редактор.
  • Alt+Up возвращает сообщения из очереди в редактор.

В терминале Windows сочетание клавиш Alt+Enter по умолчанию работает в полноэкранном режиме. Переназначьте его, как описано в Terminal setup, если вы хотите, чтобы pi получил ярлык.

Настройте доставку в Settings с помощью steeringMode и followUpMode.

Сессии

Сеансы автоматически сохраняются в ~/.pi/agent/sessions/, организованные по рабочему каталогу.

pi -c                  # Continue most recent session
pi -r                  # Browse and select a session
pi --no-session        # Ephemeral mode; do not save
pi --name "my task"    # Set session display name at startup
pi --session <path|id> # Use a specific session file or session ID
pi --fork <path|id>    # Fork a session into a new session file

Полезные команды сеанса:

  • /session показывает текущий файл и идентификатор сеанса.
  • /tree перемещается по внутреннему файлу session tree и может суммировать заброшенные ветки.
  • /fork создает новый сеанс на основе предыдущего сообщения пользователя.
  • /clone дублирует текущую активную ветвь в новый файл сеанса.
  • /compact объединяет старые сообщения в свободный контекст.

Подробности см. Sessions и Compaction.

Контекстные файлы

Pi загружает AGENTS.md или CLAUDE.md при запуске из:

  • ~/.pi/agent/AGENTS.md для глобальных инструкций
  • родительские каталоги, переход из текущего рабочего каталога
  • текущий каталог

Если каталог содержит AGENTS.override.md, Pi загружает его вместо AGENTS.md или CLAUDE.md из этого каталога. Контекстные файлы из других каталогов по-прежнему располагаются нормально.

Используйте context files для обозначения соглашений проекта, команд, правил безопасности и предпочтений. Отключите загрузку с помощью --no-context-files или -nc.

Файлы системных подсказок

Замените системное приглашение по умолчанию на:

  • .pi/SYSTEM.md для проекта
  • ~/.pi/agent/SYSTEM.md во всем мире

Добавьте к приглашению по умолчанию, не заменяя его на APPEND_SYSTEM.md в любом месте.

Проект Траст

При интерактивном запуске pi спрашивает, прежде чем доверять папке проекта, которая содержит локальные настройки проекта, ресурсы или проект .agents/skills и не имеет сохраненного решения для этой папки или родительской папки в ~/.pi/agent/trust.json. Доверие к проекту позволяет pi загружать ресурсы .pi/settings.json и .pi, устанавливать недостающие пакеты проекта и выполнять расширения проекта.

Перед принятием решения о доверии pi загружает только context files, пользовательские/глобальные расширения и CLI -e расширения, чтобы они могли обработать событие project_trust. Локальные расширения проекта, расширения, управляемые пакетом проекта, и параметры проекта загружаются только после того, как проект становится доверенным. Это разделение также применяется при переключении на сеанс от другого cwd, доверие которого не было разрешено в текущем процессе.

В неинтерактивных режимах (-p, --mode json и --mode rpc) запрос доверия не отображается. Без применимого сохраненного решения о доверии они используют defaultProjectTrust из глобальных настроек: ask (по умолчанию) и never игнорируют эти ресурсы проекта, а always доверяют им. Нажмите --approve/-a или --no-approve/-na, чтобы отменить доверие проекта на один запуск.

Если никакое расширение или сохраненное решение не применимо, defaultProjectTrust управляет резервным поведением. Установите его на "ask", "always" или "never" в ~/.pi/agent/settings.json или измените его с помощью /settings.

pi config и команды пакета используют один и тот же поток доверия проекта, за исключением того, что pi update никогда не запрашивает. Нажмите --approve, чтобы доверять локальным настройкам проекта для одной команды, или --no-approve, чтобы игнорировать их.

Используйте /trust в интерактивном режиме, чтобы сохранить решение о доверии проекта для будущих сеансов, включая доверие к непосредственной родительской папке. Пишется только ~/.pi/agent/trust.json; текущий сеанс не перезагружается, поэтому перезапустите pi, чтобы изменения вступили в силу.

Экспорт и обмен сеансами

Используйте /export [file], чтобы записать сеанс в HTML.

Используйте /share, чтобы загрузить личную суть GitHub с общей HTML-ссылкой.

Если вы используете pi для работы с открытым исходным кодом и хотите публиковать сеансы исследований моделей, подсказок, инструментов и оценок, см. badlogic/pi-share-hf. Он публикует сеансы в наборах данных Hugging Face.

CLI Ссылка

pi [options] [@files...] [messages...]

Команды пакета

pi install <source> [-l]     # Install package, -l for project-local
pi remove <source> [-l]      # Remove package
pi uninstall <source> [-l]   # Alias for remove
pi update [source|self|pi]   # Update pi only, or one package source
pi update --all              # Update pi and packages; reconcile pinned git refs
pi update --extensions       # Update packages only; reconcile pinned git refs
pi update --models           # Refresh model catalogs only
pi update --self             # Update pi only
pi update --extension <src>  # Update one package
pi list                      # List installed packages
pi config                    # Enable/disable package resources

Эти команды управляют пакетами pi, а pi update могут обновлять установку pi CLI. Чтобы удалить сам pi, см. Quickstart. pi config и команды пакета проекта принимают --approve/--no-approve, чтобы доверять или игнорировать локальные настройки проекта для одной команды. pi update никогда не требует доверия к проекту.

См. Pi Packages для получения информации об источниках пакетов и примечаниях по безопасности.

Режимы

Флаг Описание
по умолчанию Интерактивный режим
-p, --print Распечатать ответ и выйти
--mode json Выведите все события в виде строк JSON; см. JSON mode
--mode rpc режим RPC вместо stdin/stdout; см. RPC mode
--export <in> [out] Экспорт сеанса в HTML

В режиме печати pi также читает переданный по конвейеру stdin и объединяет его с начальным приглашением:

cat README.md | pi -p "Summarize this text"

Варианты модели

Вариант Описание
--provider <name> Поставщик, например anthropic, openai или google.
--model <pattern> Шаблон или идентификатор модели; поддерживает provider/id и необязательно :<thinking>
--api-key <key> API key, переопределение переменных среды
--thinking <level> off, minimal, low, medium, high, xhigh, max
--models <patterns> Шаблоны, разделенные запятыми, для циклического переключения Ctrl+P
--list-models [search] Список доступных моделей

Параметры сеанса

Вариант Описание
-c, --continue Продолжить последний сеанс
-r, --resume Просмотрите и выберите сеанс
`--session <путь\ идентификатор>`
`--fork <путь\ идентификатор>`
--session-dir <dir> Пользовательский каталог хранения сеансов
--no-session Эфемерный режим; не сохранять
--name <name>, -n <name> Установить отображаемое имя сеанса при запуске

Параметры инструмента

Вариант Описание
--tools <list>, -t <list> Список разрешенных встроенных, расширенных и пользовательских инструментов
--exclude-tools <list>, -xt <list> Отключите определенные встроенные, расширенные и пользовательские инструменты.
--no-builtin-tools, -nbt Отключите встроенные инструменты, но оставьте расширения/пользовательские инструменты включенными.
--no-tools, -nt Отключить все инструменты

Встроенные инструменты: read, bash, edit, write, grep, find, ls.

Параметры ресурса

Вариант Описание
-e, --extension <source> Загрузите расширение по пути, npm или git; повторяемый
--no-extensions Отключить обнаружение расширений
--skill <path> Загрузите навык; повторяемый
--no-skills Отключить обнаружение навыков
--prompt-template <path> Загрузите шаблон приглашения; повторяемый
--no-prompt-templates Отключить обнаружение шаблонов приглашений
--theme <path> Загрузите тему; повторяемый
--no-themes Отключить обнаружение тем
--no-context-files, -nc Отключить обнаружение AGENTS.md и CLAUDE.md.

Комбинируйте --no-* с явными флагами, чтобы загрузить именно то, что вам нужно, игнорируя настройки. Пример:

pi --no-extensions -e ./my-extension.ts

Другие варианты

Вариант Описание
--system-prompt <text> Заменить приглашение по умолчанию; context files и навыки все еще добавляются
--append-system-prompt <text> Добавить в системную подсказку
--tui-mode <mode> Режим TUI: regular (по умолчанию) или экспериментальный fullscreen
--verbose Принудительный подробный запуск
-a, --approve Доверять локальным файлам проекта для этого запуска
-na, --no-approve Игнорировать локальные файлы проекта для этого запуска
-h, --help Показать справку
-v, --version Показать версию

В режиме fullscreen расшифровка прокручивается внутри области просмотра терминала, в то время как сообщения в очереди, рабочее состояние, виджеты расширений, редактор и нижний колонтитул остаются зафиксированными внизу. Ввод с помощью мыши/трекпада прокручивает область под указателем; Действия в области просмотра клавиатуры всегда остаются доступными. Встроенные изображения работают в терминалах, поддерживающих графический протокол Kitty, включая Kitty и Ghostty. В iTerm2 они отображаются как текстовые заполнители, поскольку его протокол встроенных изображений не может удалять или обрезать места размещения во время прокрутки, принадлежащей приложению. В режиме regular pi использует главный экран и обратную прокрутку, принадлежащую терминалу, а встроенные изображения iTerm2 продолжают отображаться нормально.

Установите режим TUI в /settings, чтобы немедленно переключаться между regular и fullscreen и выбрать режим по умолчанию для будущих сеансов. Вывод выхода из полноэкранного режима определяет, будет ли выход из полноэкранного режима печатать окончательную расшифровку или восстанавливать предыдущий экран и печатать только подсказку о возобновлении сеанса.

Аргументы файла

Префикс файлов с @, чтобы включить их в сообщение:

pi @prompt.md "Answer this"
pi -p @screenshot.png "What's in this image?"
pi @code.ts @test.ts "Review these files"

Примеры

# Interactive with initial prompt
pi "List all .ts files in src/"

# Non-interactive
pi -p "Summarize this codebase"

# Non-interactive with piped stdin
cat README.md | pi -p "Summarize this text"

# Named one-shot session
pi --name "release audit" -p "Audit this repository"

# Different model
pi --provider openai --model gpt-4o "Help me refactor"

# Model with provider prefix
pi --model openai/gpt-4o "Help me refactor"

# Model with thinking level shorthand
pi --model sonnet:high "Solve this complex problem"

# Limit model cycling
pi --models "claude-*,gpt-4o"

# Read-only mode
pi --tools read,grep,find,ls -p "Review the code"

# Disable one extension or built-in tool while keeping the rest available
pi --exclude-tools ask_question

Принципы проектирования

Pi сохраняет ядро ​​небольшим и помещает поведение, специфичное для рабочего процесса, в расширения, навыки, prompt templates и пакеты.

Он намеренно не включает встроенные MCP, субагенты, всплывающие окна с разрешениями, режим планирования, задачи или фоновый bash. Вы можете создать или установить эти рабочие процессы в виде расширений или пакетов или использовать внешние инструменты, такие как контейнеры и tmux.

Для полного обоснования прочитайте blog post.