PenguinHarness,а вокруг — холст
Запускайте сколько угодно агентов Penguin — в каждой карточке настоящий penguin chat. NeuroSquad запускает собственный сервер Penguin и даёт каждой карточке своего агента; поток статусов Penguin сообщает карточке, когда агент работает, ждёт или закончил, а стрелки дают ему терминалы, заметки и других агентов.
Официальный сайтpenguin.ooo- Настоящий
penguin chat, ваши модели - Ваш
~/.penguinне переписывается - Бесплатно, для Windows и macOS
Он знает, когда Penguin закончил — и когда спрашивает
PenguinHarness — это клиент и сервер. NeuroSquad слушает собственный поток статусов сервера для сессии каждой карточки, а небольшой пакет хуков в агенте каждой карточки решает, какие вызовы требуют вашего ответа.
session_state: runningсигналПоток сервера сообщает, что сессия карточки running. Значок карточки крутится, «Статус команды» считает агента работающим, а уведомление о прошлом вопросе снимается.
pre_tool_useсигналХук pre_tool_use карточки оставляет вызов собственному вопросу Penguin «? Approve this tool call? [Y/n]». Уведомление называет вызов — PenguinHarness needs your permission: exec_command: rm -rf dist — пока вы не ответите в карточке.
session_state: idleсигналПоток сообщает idle, и чат снова на своём приглашении > . Уходит следующий промпт из очереди, журнал получает ответ, а уведомление сообщает, что готово.
Хук — это политика
Карточка запускает Penguin с --approve always-ask, и первым отвечает её хук: собственные инструменты NeuroSquad, read_file и субагенты выполняются без вопросов, как в Claude Code; всё остальное ждёт вас.
Субагенты тоже видны
Субагент работает в дочерней сессии; поток сообщает о нём, поэтому карточка остаётся в «работает», пока он трудится, а расход показывает его отдельно.
Без преждевременного «закончил»
«Закончил» ждёт, пока чат вернётся к приглашению, — иначе промпт из очереди, вставленный на мгновение раньше, потерялся бы.
Три вещи, которые вы будете делать с PenguinHarness
Реплики приложения, шаг за шагом. Когда Penguin спрашивает, отвечаете вы.
Penguin запускает тесты через карточку терминала и без вопросов читает файл, останавливается на своём вопросе об одобрении перед правкой и заканчивает — журнал пишется сам.
Всё, что PenguinHarness умеет в NeuroSquad
Измерено на PenguinHarness 0.2.13 и на его ветке main. Часть — собственное у Penguin: MCP, сессии, его файлы Trace, — многое построено вокруг его сервера. Где это невозможно, карточка так и говорит.
- 01
Знает своё состояние
Собственный поток статусов Penguin и хук карточки сообщают о каждом ходе и каждом вызове, который ждёт вас.
- Достроено NeuroSquad
«Закончил» и «ждёт» — разные вещи
В PenguinHarness 0.2.13 нет хука на каждый промпт, поэтому карточка следит за собственным потоком статусов сервера (
Документация: «Закончил» и «ждёт» — разные вещиsession_staterunning и idle) для своей сессии — каждый ход, в том числе начатый с телефона. - Достроено NeuroSquad
Уведомление говорит, что нужно
Уведомление называет вызов —
Документация: Уведомление говорит, что нужноPenguinHarness needs your permission: write_file: a.txt, — а карточка возвращается в «работает», когда вы отвечаете в ней. - Достроено NeuroSquad
Останавливается через свой сервер
Stop, бюджет-тормоз и Stop на телефоне вызывают собственный API отмены Penguin. Ctrl-C в простаивающем чате спросил бы о выходе, поэтому Stop его не отправляет, а ряд клавиш телефона помечает Ctrl+C как выход.
Документация: Останавливается через свой сервер Продолжает с того же места
Поток и хуки сообщают id сессии; следующий запуск —
Документация: Продолжает с того же местаpenguin chat --resume <id>. Удалённая сессия сама сменяется новой.Карточка «Статус команды»
Все ИИ-агенты воркспейса на одной карточке — со статусом, моделью и временем хода.
Документация: Карточка «Статус команды»
- 02
Работает через холст
Стрелка от карточки — набор инструментов через собственный MCP-клиент Penguin.
Стрелки — это инструменты
Агент карточки перечисляет MCP-сервер NeuroSquad в своих
Документация: Стрелки — это инструментыtools.mcpServers. Стрелка к терминалу, заметке, браузеру или агенту даёт Penguin их инструменты.- Достроено NeuroSquad
Стрелка — это согласие
Хук карточки пропускает собственные инструменты NeuroSquad,
Документация: Стрелка — это согласиеread_fileи субагентов без вопроса — то, что Claude Code выполняет не спрашивая. Всё остальное ждёт вас. - Достроено NeuroSquad
Инструменты сразу
Penguin делает снимок инструментов контекста модели и не замечает изменений списка. Поэтому карточка получает все возможности NeuroSquad сразу, а стрелки решают в момент вызова.
Документация: Инструменты сразу - Достроено NeuroSquad
Режим карточек, который держится
Хук отклоняет
Документация: Режим карточек, который держитсяexec_commandиinput_command— оболочку и единственный путь Penguin в веб — ещё до любого одобрения, в том числе в опасном режиме. MCP-серверы из реестра
Установленные серверы приходят вторым сервером без предварительного одобрения: Penguin спрашивает перед каждым их вызовом.
Документация: MCP-серверы из реестра
- 03
Для долгих прогонов
Контекст, Compact, лимиты, очередь промптов и журнал — прямо на карточке.
Счётчик контекста
Токены последнего запроса из Trace против окна, которое Penguin записывает для модели сессии.
Документация: Счётчик контекстаCompact
Кнопка Compact на карточке отправляет собственную команду Penguin
Документация: Compact/compact.- Достроено NeuroSquad
Лимиты на карточке
Когда запрос заканчивается ошибкой лимита или квоты, карточка читает её из Trace и показывает лимит.
Документация: Лимиты на карточке Очередь промптов
Промпты занятой карточке ждут и уходят после хода по одному; длинные и многострочные приходят одним сообщением.
Документация: Очередь промптовЖурнал и передача
Последний ответ читается из файлов Trace Penguin: в подключённую заметку, передачу,
Документация: Журнал и передачаagent_wait, Telegram и свои карточки.
- 04
Работает в команде
Агент на карточку, субагенты, опасный режим без перезапуска и переход на другой CLI.
- Достроено NeuroSquad
Агент на карточку, свой сервер
NeuroSquad запускает собственный сервер Penguin для своей папки данных и останавливает его при выходе. Каждая карточка — отдельный агент Penguin со своими хуками, MCP-серверами и инструкциями; ваши проекты и модели копируются, но не меняются.
Документация: Агент на карточку, свой сервер Субагенты — отдельно
Субагент работает в дочерней сессии со своим Trace. Пока он работает, карточка остаётся в «работает», а расход, Run Stats и Agent Pulse помечают его запросы как запросы субагента.
Документация: Субагенты — отдельно- Достроено NeuroSquad
Опасный режим без перезапуска
Пока переключатель карточки включён, её хук разрешает каждый вызов; выключите — и следующий вызов снова спросит. Режим карточек всё равно сильнее.
Документация: Опасный режим без перезапуска Смена модели и CLI
Ведущий агент может сменить модель через
Документация: Смена модели и CLIagent_set_model— в более новом Penguin прямо в сессии, в 0.2.13 начинается новая сессия с собственной ссылкой Penguin на старую — или перенести разговор в Claude Code и обратно.Изолированные worktree
Дайте агенту собственный git worktree, чтобы параллельные агенты не правили одни и те же файлы.
Документация: Изолированные worktree
- 05
Расход, контроль и доступ
Сколько он тратит, сколько ему можно, на какой модели работает и как до него добраться.
Точный расход
Читается из Trace Penguin: запись на каждый запрос, чтение кэша отдельно, субагенты помечены. У модели без известной цены — «без цены», никогда не $0.
Документация: Точный расходБюджет-тормоз
При превышении лимита воркспейса каждая карточка Penguin останавливается через API отмены сервера — чат остаётся открытым, — а автоматические промпты ждут.
Документация: Бюджет-тормоз- Достроено NeuroSquad
Модели OpenRouter
Собственная группа провайдера карточки идёт через локальный ретранслятор NeuroSquad, который добавляет ключ и атрибуцию; в файле — только заглушка. Ваша собственная группа OpenRouter направляется так же.
Документация: Модели OpenRouter - Достроено NeuroSquad
Ваши серверы
Каждый ваш провайдер становится группой за тем же ретранслятором — OpenAI Chat Completions или Anthropic Messages, — без ключа на диске.
Документация: Ваши серверы С телефона
Отсканируйте QR-код — и весь холст откроется в браузере телефона: читайте чат Penguin, отвечайте y или n, отправляйте следующий промпт.
Документация: С телефона
- 06
Полезно знать
Что Penguin делает иначе и чего сделать нельзя.
- Невозможно
Id сессии карточка выбрать не может
Penguin всегда создаёт id сам. NeuroSquad ловит id из потока и продолжает с ним — на практике это работает так же.
Документация: Id сессии карточка выбрать не может - Невозможно
Без разделения записи кэша и рассуждений
Trace Penguin складывает создание кэша во вход, а рассуждения — в выход, поэтому эти колонки — «не сообщается». На моделях Claude цена из-за этого немного занижена.
Документация: Без разделения записи кэша и рассуждений - Невозможно
Без экономии токенов
Хук
Документация: Без экономии токеновpre_tool_useв Penguin умеет только разрешить или запретить вызов, но не переписать его, — поэтому RTK здесь не работает. Плагинам нужен более новый Penguin
Caveman, Память, Context7 и Graphify добавляют текст через хук промпта, который Penguin вызывает на каждом промпте только после 0.2.13. В 0.2.13 их инструменты всё равно работают по стрелке.
Документация: Плагинам нужен более новый PenguinТолько этот компьютер
Сервер Penguin пришлось бы запускать внутри цели WSL или SSH, поэтому пока карточки Penguin работают только на этом компьютере.
Документация: Только этот компьютер
Кто ждёт и сколько потрачено
Две карточки, которые отвечают на самые частые вопросы, когда работают сразу несколько агентов Penguin.
Карточка «Статус команды»
Все агенты воркспейса со статусом, моделью и временем хода. Ждущие вас — первыми, с вызовом, который они хотят сделать. Нажмите на статус, чтобы отфильтровать.
coupon-fixPenguinHarnessdeepseek/deepseek-chatPenguinHarness needs your permission: exec_command: rm -rf distЖдёт вас2:34
api-migrationPenguinHarnesskimi/kimi-k2Перевести маршруты на новый клиентРаботает13:41
lint-passPenguinHarnessdeepseek/deepseek-chatИсправить ошибки линтераРаботает4:08
docs-passPenguinHarnessopenrouter/qwen/qwen3-coderОбновить READMEЗакончил7 мин. назад
Расход и стоимость
Читается из файлов Trace каждой карточки, поэтому каждый запрос принадлежит ровно одной карточке. Токены точные; запросы субагентов помечены.
| Агент | Токены | Стоимость | ||
|---|---|---|---|---|
| coupon-fix | 1 218 804 | без цены | ||
| api-migration | 963 117 | без цены | ||
| docs-pass | 208 455 | 0,13 $ | ||
| Итого | 89 | 2 390 376 | 0,13 $ |
Настоящий penguin chat на собственном сервере NeuroSquad
NeuroSquad запускает собственный чат Penguin в настоящем терминале внутри карточки, подключённый к серверу, который приложение держит для своих карточек. Вот всё, что он добавляет:
Ваш ~/.penguin не переписывается
Конфигурация вашего проекта копируется в папку приложения при каждом запуске, так что карточки работают на ваших моделях и ключах; ваша папка только читается.
Никаких секретов в окружении карточки
Сервер работает с чистым окружением приложения, а ключи провайдеров остаются в ретрансляторе приложения, — поэтому токен карточки не попадает в команды оболочки Penguin.
Найден там, куда вы его поставили
Пакет npm или раскладка установщика Penguin — запуск через собственный Node в обход шима penguin.cmd.
PenguinHarness в NeuroSquad: ответы
Дайте PenguinHarness холст
Бесплатно для Windows и macOS. Ваш код, ваши модели и ваши расходы остаются у вас.