Agent-Native Agent — плагин
Agent-Native Agent (ANA)
Плагин для Claude Code и самостоятельное приложение: дашборд и чат с кодинг-агентом, который переписывает приложение на ходу
- 130 ★ репозитория
- Последний коммит
- AGPL-3.0
Широкий доступ
Почему такой уровень
- Агент через чат правит код работающего приложения и выполняет команды в терминале
- Сервер вставляет текст в терминал tmux, и открытый порт дал бы постороннему доступ к агенту
- Скрипты установки добавляют пакеты в систему через brew, `apt`, `dnf` или `pacman`
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add plugins/agent-native-agent-anaОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Агент через чат правит код работающего приложения и выполняет команды в терминале
- Сервер вставляет текст в терминал tmux, и открытый порт дал бы постороннему доступ к агенту
- Скрипты установки добавляют пакеты в систему через brew, `apt`, `dnf` или `pacman`
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
ANA — приложение, которое вы запускаете у себя и ведете через браузер. На экране живая панель, а рядом чат с кодинг-агентом. Сервер `node server.js` на порту 8809 вставляет сообщения из чата в панель tmux, где работает Claude Code или Codex, и каждые 300 мс снимает вывод панели обратно в браузер через SSE. Ни MCP, ни моста, ни хуков нет. Когда нужно новое поведение, агент присылает предложение с картой «было и стало». После одобрения сервер применяет правку, поднимает номер версии, и все устройства обновляются. В базовой версии шесть вкладок: PRD, Work, Knowledge, Requests, Evolve и Update. Репозиторий оформлен как плагин Claude Code. Скиллы плагина ставят окружение и запускают ANA (`install`), подключают панель и чат к вашему веб-сервису (`ana`), обновляют уже развернутую копию (`ana-update`) и ведут очередь запросов к человеку (`agent-requests`). Коммерческая версия Pro добавляет граф знаний, роли и несколько рабочих пространств.
Для кого. Разработчикам внутренних инструментов, которые хотят управлять собственным приложением через чат с агентом и видеть его состояние на дашборде.
Подходит, если
- Внутренний сервис нужен срочно, и его удобнее собирать разговором, чем выпуском и деплоем
- К существующему веб-сервису надо добавить чат с агентом и панель состояния по скиллу `ana`
- Решения агента важно утверждать вручную: правки данных приходят карточками на вкладке Requests
- Приложение развернуто давно, и надо подтянуть новые возможности из исходного репозитория скиллом обновления
- Работать с агентом надо с телефона: интерфейс собран и для мобильного экрана
Не подходит, если
- Нужна обычная схема с релизами и ревью: агент здесь меняет приложение во время работы после одобрения
- Сервер доступен из публичной сети: чат дает доступ к терминалу агента, и порт должен оставаться закрытым
- Нужен MCP-клиент: проект намеренно обходится без MCP
Пример запроса к агенту
Установи ANA, запусти панель на порту 8809 и подключи чат к моему сервису заказов по скиллу `ana`Ограничения
Нужны Node.js 24 или новее, tmux и CLI кодинг-агента. На Windows tmux работает только внутри WSL, и скилл `install` умеет его ставить. Сервер вставляет текст в терминал, поэтому порт держат закрытым: в Codespaces README требует режим Private. Вход в Claude делается один раз вручную через `tmux attach`. Лицензия AGPL-3.0, а граф знаний, роли и офлайн-версия входят в платную редакцию Pro. Использование Codespaces оплачивается отдельно от Claude.
Как отключить. Остановите сервер и сессии командой `bash skills/install/scripts/run.sh stop`. Плагин снимается через меню `/plugin`. Рабочее состояние лежит в каталоге `.ana/` проекта и удаляется вместе с ним.
Частые вопросы
Как установить ANA в Claude Code?
Выполните `claude plugin marketplace add tykimos/agent-native-agent`, затем `claude plugin install ana@agent-native-agent`. После этого попросите агента «установи ANA»: скилл `install` проверит окружение и запустит сервер.
Что нужно для запуска вручную?
Склонируйте репозиторий, откройте tmux-сессию с агентом, например `tmux new -s base-ana-claude` и команду `claude`, а в соседнем терминале выполните `node server.js`. Панель откроется на `http://localhost:8809`.
Использует ли ANA протокол MCP?
Нет, README прямо указывает на отсутствие моста и MCP. Сообщения идут через буфер вставки tmux, а ответы читаются из журнала агента Claude Code или Codex.
Можно ли запустить ANA без установки на компьютер?
Да, репозиторий открывается в GitHub Codespaces: нужны аккаунт GitHub и доступ к Claude Code, а порт 8809 держите в режиме Private.
Что добавляет коммерческая редакция Pro?
Слой знаний с анализом, графом и онтологией с правилами, вид Graph, роли администратора и участника, Roadmap и Health, несколько рабочих пространств, отдельный аккаунт Claude на сессию и офлайн-версию.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
ПлагиныПлагин Claude Code рисует 3D-офис, где сессия и субагенты работают за столами по реальным транскриптам, без настройки.
AI Builder Club Skills
AI Builder Club — Skills
Плагин-маркетплейс для Claude Code: сделать репозиторий готовым к работе агента и запускать самоподдерживающиеся циклы
Открытый кодовый агент для терминала, браузера и десктопа, который работает с моделями от OpenAI и Claude до Ollama
Плагин для Claude Code и Codex: общая доска задач, память проекта, отчеты и панель, где видна работа агентов из разных сессий
Локальные комнаты для встреч Codex и Claude Code: агенты переписываются между собой, человек читает и пишет из браузера.
AgentBridge — мост между Claude Code и Codex
AgentBridge
Локальный мост связывает Claude Code и Codex в одной рабочей сессии: агенты переписываются и проверяют работу друг друга
Коротко о README
README объясняет три принципа: смотреть и говорить в одном окне, агент как среда выполнения, свое хранилище и сервер. Дальше идут сравнение с SaaS и кодинг-агентами, схема работы через tmux, запуск в Codespaces, быстрый старт, описание вкладок, чата и скиллов, а также различия бесплатной редакции и Pro.
Бейдж для README
Исходный SKILL.md
---
name: ana
description: Attach ANA (Agent-Native Agent) to an existing web app or service so the user can operate it by watching a dashboard and chatting with a coding agent that runs inside tmux — chat is injected via tmux paste-buffer and the session is mirrored via capture-pane, with zero dependencies (no MCP, no bridge, no hooks, no plugin runtime). Use this whenever the user wants to "add ANA / a chat+watch dashboard to my app", "attach a coding-agent chat to an existing service", "make my dashboard talk to a tmux agent", "화면 보면서 대화로 조작", "기존 서비스에 ANA 붙이기", or to scaffold the standalone ANA base app. The single file `channel-core.js` is the whole runtime — drop it in and mount it.
---
# Attach ANA to your service
ANA turns any web app into one you **operate by watching + talking**: a coding agent runs inside a tmux pane; the browser sends chat that ANA injects into that pane, and mirrors the session (agent replies, tool activity, busy state) back to the page — no MCP, no bridge, no hooks. **The entire runtime is one dependency-free file: `channel-core.js`.**
## The whole idea (2 pieces)
```
[your web page] ──POST /api/chat──► server ──paste-buffer + Enter──► [tmux pane: claude / any agent]
▲ │ │
└── SSE /api/stream ◄───────────┘ 300ms capture-pane → parse → ledger (auto-mirror)
```
1. **A server** that mounts `channel-core.js` and serves your HTML.
2. **A tmux session** running a coding-agent CLI (`claude`, or any).
## Attach in 3 steps (very simple)
**1. Copy `channel-core.js`** into your project (it is dependency-free, Node ≥ 20 + tmux).
**2. Mount it** — add ~12 lines to (or beside) your server:
```js
const path = require('node:path');
const core = require('./channel-core.js');
const app = core.createChannelServer({
PORT: 8809, BIND: '127.0.0.1',
SESSION: core.defaultSession(__dirname, process.env), // TMUX_SESSION || <ANA name>-claude
SOCKET: process.env.TMUX_SOCKET || '', // default tmux socket
TARGET: core.resolveTarget(__dirname, process.env),
FEED_FILE: path.join(__dirname, '.ana', 'transcript.jsonl'),
SERVABLE: new Set(['index.html']), // your dashboard file(s)
defaultDoc: 'index.html',
autoConfigPane: true, // sets alternate-screen off on connect
});
app.listen(() => console.log('ANA → http://localhost:8809'));