Pi Agent на Mac Mini: Минималистичный ИИ-агент для разработчиков
Руководство по установке и настройке Pi Agent (pi.dev) на Mac Mini. Модульный TypeScript-фреймворк для создания кодинг-агентов с поддержкой Ollama и локальных LLM.
Большинство агентных фреймворков пытаются охватить все возможные сценарии: от генерации контента до управления инфраструктурой. Pi Agent идет другим путем. Это модульный TypeScript-фреймворк, созданный для разработчиков, которым нужен быстрый, предсказуемый и расширяемый кодинг-агент без лишних абстракций. На Mac Mini с процессором M-серии Pi работает прямо в терминале, подключается к локальным моделям через Ollama и не отправляет код в облако.
Что такое Pi Agent
Pi Agent — это open-source набор пакетов для TypeScript, спроектированный по принципу минимальной достаточности. Вместо монолитного фреймворка предлагается стек из четырех слоев, каждый из которых можно использовать независимо.
Архитектура стека
| Пакет | Назначение |
|---|---|
| pi-ai | Единый интерфейс к LLM-провайдерам (OpenAI, Anthropic, Google, Ollama) со стримингом, вызовом инструментов и трекингом стоимости |
| pi-agent-core | Агентный цикл: обработка сообщений, вызов инструментов, управление состоянием |
| pi-coding-agent | Готовый CLI-агент с персистентными сессиями, встроенными файловыми инструментами и системой расширений |
| pi-tui | Терминальный интерфейс без мерцания (flicker-free) для интерактивной работы |
Ключевое отличие от конкурентов — количество встроенных инструментов. Pi поставляется всего с четырьмя базовыми инструментами:
- read — чтение файлов
- write — создание файлов
- edit — редактирование существующих файлов
- bash — выполнение терминальных команд
Все остальное подключается через систему расширений. Такой подход сохраняет контекстное окно модели чистым и уменьшает количество ошибок при вызове инструментов.
Установка на Mac Mini
Системные требования
- macOS 14 (Sonoma) или новее
- Node.js 22+
- минимум 16 ГБ RAM (для локальных моделей)
Установка через npm
npm install -g @earendil-works/pi-coding-agent
Установка через Homebrew
brew install pi-coding-agent
После установки команда pi становится доступна глобально.
Аутентификация
Pi поддерживает два способа подключения к LLM:
Через API-ключ (экспортируйте переменную окружения перед запуском):
export ANTHROPIC_API_KEY=sk-...
pi
Через подписку (Claude Pro, ChatGPT Plus):
pi
/login
Команда /login внутри агента откроет браузер для авторизации.
Подключение к Ollama для локальной работы
Для полностью локальной работы без API-ключей и подписок Pi подключается к Ollama через OpenAI-совместимый эндпоинт.
Настройка связки
- Запустите Ollama с подходящей моделью:
ollama run qwen2.5-coder:14b
- Создайте или отредактируйте файл конфигурации
~/.pi/agent/models.json:
{
"ollama-qwen": {
"provider": "ollama",
"model": "qwen2.5-coder:14b",
"baseUrl": "http://localhost:11434"
}
}
- Запустите Pi с указанием модели:
pi --model ollama-qwen
Рекомендуемые модели для кодинга
| RAM Mac Mini | Модель | Параметры | Сценарий |
|---|---|---|---|
| 16 ГБ | Qwen 2.5 Coder 7B | 7B | Авто-дополнение, рефакторинг небольших файлов |
| 24 ГБ | Qwen 2.5 Coder 14B | 14B | Полноценный кодинг-агент, работа с проектами |
| 32 ГБ | DeepSeek Coder V2 16B | 16B | Сложные задачи, многофайловый рефакторинг |
| 48 ГБ+ | Qwen 2.5 Coder 32B | 32B | Архитектурные решения, генерация тестов, code review |
Модели с суффиксом Coder обучены на кодовых базах и значительно лучше справляются с задачами программирования, чем универсальные модели аналогичного размера.
Работа с сессиями
Pi использует древовидную структуру сессий. Каждое взаимодействие сохраняется, и вы можете вернуться к любой точке в истории, создать ответвление (branch) или продолжить с последнего места.
Основные команды сессий
| Команда | Описание |
|---|---|
/sessions | Список всех сохраненных сессий |
/branch | Создать ответвление от текущей точки |
/navigate | Перейти к конкретному узлу в дереве |
/compact | Сжать историю для экономии контекста |
На практике это означает, что при работе над проектом на Mac Mini можно экспериментировать с разными подходами к реализации, сохраняя возможность вернуться к рабочему варианту.
Система расширений
Все, что выходит за рамки базовых четырех инструментов, реализуется через расширения. Расширение — это TypeScript-файл, который размещается в директории ~/.pi/agent/extensions/.
Пример расширения: инструмент для поиска по проекту
Создайте файл ~/.pi/agent/extensions/search.ts:
import { defineTool } from '@earendil-works/pi-agent-core';
export default defineTool({
name: 'search_project',
description: 'Поиск по файлам проекта с помощью ripgrep',
parameters: {
query: { type: 'string', description: 'Поисковый запрос' },
path: { type: 'string', description: 'Директория поиска', default: '.' },
},
execute: async ({ query, path }) => {
const { execSync } = await import('child_process');
const result = execSync(`rg --json "${query}" ${path}`, {
encoding: 'utf-8',
maxBuffer: 1024 * 1024,
});
return result;
},
});
После добавления файла расширение становится доступно в следующей сессии без перезапуска.
Типы расширений
- Инструменты (Tools) — новые действия, доступные агенту
- Слэш-команды — пользовательские команды для быстрого доступа
- TUI-компоненты — элементы терминального интерфейса
- Промпт-шаблоны — предустановленные инструкции для типовых задач
Pi Agent и другие фреймворки
| Критерий | Pi Agent | Hermes Agent | Crew AI |
|---|---|---|---|
| Язык | TypeScript | Python + Node.js | Python |
| Специализация | Кодинг | Универсальный ассистент | Мульти-агентные задачи |
| Встроенные инструменты | 4 (read, write, edit, bash) | 40+ | Зависит от конфигурации |
| Расширяемость | TypeScript-расширения | MCP, навыки | Langchain Tools |
| Сессии | Древовидные с ветвлением | Персистентная память | Нет |
| Мессенджеры | Нет (терминал) | 20+ платформ | Нет |
| Локальные LLM | Ollama | Ollama, LM Studio, vLLM | Ollama |
Pi Agent занимает нишу агента-разработчика, который живет в терминале и не пытается быть универсальным решением. Если основная задача — писать и рефакторить код на Mac Mini, Pi будет наиболее отзывчивым вариантом благодаря минимальному оверхеду.
Практический пример: рефакторинг проекта
Перейдите в директорию проекта и запустите агента:
cd ~/projects/my-app
pi
Дайте задачу в свободной форме:
Проанализируй структуру проекта. Найди все файлы, где используется
устаревший API fetch без обработки ошибок. Добавь try/catch
с логированием в каждый вызов. Не трогай тестовые файлы.
Pi последовательно выполнит:
- Прочитает структуру проекта через инструмент read.
- Найдет релевантные файлы через bash (grep/ripgrep).
- Проанализирует каждый файл и определит вызовы без обработки ошибок.
- Отредактирует файлы через инструмент edit, сохраняя остальной код нетронутым.
Весь процесс происходит локально. Файлы проекта не покидают Mac Mini.
Итог
Pi Agent — это инструмент для разработчиков, которые предпочитают контроль над удобством. Четыре базовых инструмента, расширяемая архитектура и поддержка локальных моделей через Ollama делают его рабочим вариантом для ежедневного кодинга на Mac Mini. Unified Memory в процессорах M-серии позволяет одновременно держать модель Qwen 2.5 Coder 14B в памяти и работать в IDE без ощутимых задержек, если объем RAM составляет 24 ГБ или выше.
Евгений Александров
Евгений работает с платформой Apple более 12 лет. В прошлом — сертифицированный сервисный инженер (ACMT). В настоящий момент специализируется на высоконагруженных системах, кластеризации Apple Silicon и оптимизации локальных AI/LLM агентов.
Читать все материалы автораЧасто задаваемые вопросы
Актуальна ли эта информация?
Могу ли я задать вопрос автору?
Подходит ли это руководство для моей модели Mac Mini?
Комментарии (2)
Оставить комментарий
А для Mac Mini M2 это тоже работает? У меня базовая конфигурация на 8 ГБ.
Да, на M2 тоже работает. Проверил на своём — всё ок.
Спасибо за статью! Всё получилось с первого раза, инструкция очень подробная.
Рад, что помогло! Если будут ещё вопросы — пишите.