AFT — плагин

Плагин для OpenCode и Pi заменяет read, edit и grep структурными версиями, добавляет поиск по смыслу, фоновые задачи и PTY

  • 340 ★ репозитория
  • Последний коммит
  • MIT
Плагин

Широкий доступ

Почему такой уровень

  • Подменяет штатные инструменты чтения, записи и правки файлов, поэтому любая ошибка плагина затрагивает весь рабочий каталог
  • Запускает команды оболочки, фоновые задачи и PTY-сессии, скачивает исполняемый бинарник при первом запуске
Все причины и проверки

cortexkit/aft

Установка

Работает в

Ручная установка

npx @cortexkit/aft@latest setup

Находит установленные среды (OpenCode, Pi, OMP) и настраивает каждую. Одну среду выбирает флаг `--harness`.

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Подменяет штатные инструменты чтения, записи и правки файлов, поэтому любая ошибка плагина затрагивает весь рабочий каталог
  • Запускает команды оболочки, фоновые задачи и PTY-сессии, скачивает исполняемый бинарник при первом запуске

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

AFT работает на бинарнике Rust и подключается к OpenCode, Pi и OMP. Он подменяет встроенные `read`, `write`, `edit` и `grep` (в OpenCode еще `apply_patch`) версиями на разборе tree-sitter и индексированном поиске, а рядом добавляет семейство инструментов `aft_`. Имена штатных инструментов агент видит прежними. Для чтения кода служат `aft_outline` (символы файла или каталога), `aft_zoom` (один символ вместе с графом вызовов), `aft_search` (поиск по смыслу), `aft_callgraph` и `aft_inspect` (ошибки LSP, TODO, мертвый код, дубликаты). Правки идут на уровне символов: `edit` заменяет функцию по имени, `ast_grep_replace` меняет код по шаблону AST, `aft_import` наводит порядок в импортах. Каждое изменение разбирается, форматируется и сохраняется в резервной копии. Для оболочки AFT дает `bash` со сжатием шумного вывода (тесты, установщики, `docker ps`, `kubectl`), фоновые задачи с `bash_status`, `bash_kill` и `bash_watch` и интерактивные PTY-сессии. Команда `aft_safety` ведет стек отмены и контрольные точки. Установка одна: `npx @cortexkit/aft@latest setup` находит агентов и настраивает их.

Для кого. Пользователям OpenCode и Pi, чьи агенты тратят токены на чтение целых файлов и ломают правки, когда строки сдвигаются.

Подходит, если

  • Агент читает файлы целиком, и счет токенов растет: `aft_outline` и `aft_zoom` отдают структуру и один символ
  • Рефакторинг идет по всему рабочему каталогу, а правки по номерам строк ломаются
  • Тесты и установщики засоряют контекст сотнями строк вывода
  • Долгую сборку запускают фоном с `background: true` и следят за ней через `bash_watch`
  • Агенту нужен интерактивный REPL или редактор в PTY-сессии

Не подходит, если

  • Вы работаете в Claude Code, Cursor или Codex: AFT поддерживает OpenCode, Pi и OMP
  • Встроенные `read` и `edit` вас устраивают: плагин подменяет штатные инструменты агента
  • Нужны опубликованные бенчмарки: авторы обещают их позже
  • Среда запрещает скачивать бинарник при первом запуске сессии

Пример запроса к агенту

Покажи структуру `src/server.ts` через aft_outline и разверни функцию handleAuth вместе с графом вызовов

Ограничения

  • Работает только с OpenCode, Pi и OMP (через плагин для Pi), другие агенты не поддержаны.
  • Бинарник `aft` скачивается при первом старте сессии.
  • Команды удаления нет: регистрацию снимают вручную в конфиге OpenCode или командой `pi remove npm:@cortexkit/aft-pi`, а данные и конфиги удаляют отдельно.
  • Установка меняет конфигурацию агента: подмена `read`, `write` и `edit` действует во всех проектах.

Как отключить. В OpenCode удалите `@cortexkit/aft-opencode` из массива plugin в `~/.config/opencode/opencode.jsonc` (и из tui.jsonc, если setup добавил его туда). В Pi выполните `pi remove npm:@cortexkit/aft-pi`. Файлы конфигурации и данные перечислены в `docs/config.md`, раздел uninstall paths. Перед удалением `npx @cortexkit/aft@latest doctor` покажет, что останется.

Частые вопросы

Как поставить AFT в OpenCode?

Выполните `npx @cortexkit/aft@latest setup --harness opencode`. Команда прописывает плагин `@cortexkit/aft-opencode` в конфиг OpenCode, а бинарник скачивается при следующем старте сессии.

Что AFT меняет во встроенных инструментах?

В OpenCode он заменяет `read`, `write`, `edit` и `apply_patch`, в Pi `read`, `write`, `edit` и `grep`. Имена остаются прежними, а под ними работают разбор tree-sitter, индексированный поиск и резервные копии.

Работает ли AFT с Claude Code?

Нет. README называет три поддержанные среды: OpenCode, Pi и OMP.

Какие языки поддерживает AFT?

TypeScript, JavaScript, Python, Rust, Go, C и C++, Java, Kotlin, Swift, Ruby, PHP и другие, полный список лежит в таблице README. Структурный разбор и правки есть у всех перечисленных языков, рефакторинг только у части.

Как проверить установку AFT?

`npx @cortexkit/aft@latest doctor` проверяет окружение, `doctor --fix` исправляет найденные проблемы, `doctor lsp` смотрит языковые серверы.

Обсуждение

Вопросов и отзывов пока нет.

Плагины

Плагин со скиллами для Claude Code и Codex: исследование кода, тесты, рефакторинг и независимая проверка готовых изменений

ПлагинРасширенный доступ454Звезды репозитория

Агент для программирования на Rust с графическим окном, терминалом, режимом ACP для Zed и MCP-сервером

CLIШирокий доступ189Звезды репозитория

Плагин для OpenCode Desktop на Windows задает границы правок, проверяет команды и сверяет итоги тестов с текущим кодом.

ПлагинРасширенный доступ113Звезды репозитория

55 скиллов для Claude Code, Codex, OpenCode и Pi: ревью кода, аудит безопасности, разработка фич, фронтенд-дизайн и Hugging Face

ПлагинШирокий доступ554Звезды репозитория

Разбирает репозиторий в дерево UniAST и дает агенту MCP-инструменты для поиска функций, зависимостей и ссылок в коде

MCP-серверШирокий доступ389Звезды репозитория

Скиллы для коммитов, ревью и ZenTao плюс статусная строка, учет баланса шлюза и лог сессий для Claude Code, Codex, OpenCode.

ПлагинРасширенный доступ179Звезды репозитория

Сравнение с похожими

Карточки с тем же главным запросом: чем они отличаются.

ИнструментОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
AFT (эта карточка)нет340
cclspнетне нужна675подключает языковые серверы LSP к Claude Code через MCP, AFT подменяет инструменты OpenCode и Pi
code-index-mcpнетне нужна162индекс кода в SQLite и MCP-инструменты поиска, у AFT добавлены правки по символам и оболочка

Коротко о README

README подает AFT как «сенсомоторную кору» для агентов и делит инструменты на три группы: восприятие кода, действия над ним и поддержание среды. Затем идут быстрый старт, удаление, место в семействе CortexKit, таблица поддерживаемых языков и архитектура.

Бейдж для README

Сообщить о проблеме