Суть проекта: нативность и скорость
Появился PiG — переработанная версия популярного терминального AI-агента Pi, реализованная на языке Go. Главная цель проекта — устранение зависимости от Node.js. PiG собирается в один нативный бинарный файл, что обеспечивает мгновенный запуск и снижение потребления ресурсов. При этом сохраняется полная обратная совместимость: TypeScript-расширения от оригинального Pi работают без изменений, а разработчики могут писать новые модули на Go, Rust или Python.
Технические детали и статус совместимости
Проект находится на стадии pre-stable (версии 0.x). Разработчик заявляет о «паритетном» переносе ключевых путей кода, проверяя поведение PiG против референсной версии Pi 1.0.3. Текущая привязка (pin) к версии Pi — 0.99.1 (коммит d86654abb8862e201917d6f1fce988dd117f). Это означает, что PiG эмулирует поведение именно этой версии оригинального агента.
Важно отметить: PiG не является официальным релизом от создателей Pi и поддерживается как независимый open-source проект. Поддержка Windows находится в статусе preview.
Архитектура и модульность
Ключевой концепцией PiG является формат Piglet — упакованный агент, включающий расширения, навыки и промпты. Piglet можно распространять как единый пакет или компилировать в отдельный исполняемый файл. Архитектура четко разделена на пакеты, соответствующие оригиналу:
| Путь в репозитории | Ответственность |
|---|---|
agent/ |
Цикл работы агента, сообщения, состояние сессии (совместимо с Pi) |
ai/ |
Провайдеры моделей, каталог моделей, аутентификация, стриминг |
coding/ |
SDK для coding-agent, контракты расширений, поддержка Piglet |
tui/ |
Компоненты терминального интерфейса, рендеринг, ввод |
extensions/ |
SDK для расширений на Go, Rust, Python и TypeScript |
Установка и безопасность
Установка доступна через несколько каналов, что удобно для разных сред:
- Linux/macOS/Android (Termux):
curl -fsSL https://pi-in-go.dev/install.sh | sh - Windows: PowerShell скрипт
irm https://pi-in-go.dev/install.ps1 | iex - Go:
go install github.com/MichaelKinsy/PiG/cmd/pig@latest - npm:
npm install -g @pi-in-go/pig(требует Node.js 18+)
С точки зрения безопасности, PiG запускается с правами пользователя и не предоставляет песочницы для вывода моделей или выполнения команд. Для изоляции рекомендуется использовать контейнеры или виртуальные машины.
Почему это важно
Для энтузиастов терминальных AI-ассистентов PiG решает проблему «тяжести» Node.js-окружения. Возможность писать расширения на Go и Rust открывает путь к созданию высокопроизводительных плагинов, недоступных в оригинальной TypeScript-среде. Это делает PiG привлекательным выбором для разработчиков, ценящих скорость отклика и гибкость сборки.
Источник: Github ↗
