claude-code

Навыки Claude Code и Codex сводит в один хаб AgentBridge

Claude News

claude-code

AgentBridge сводит навыки, MCP-серверы и правила проекта Claude Code, OpenAI Codex и Google Antigravity в один хаб ~/.agentbridge/skills, на который папка навыков каждого агента ссылается нативной ссылкой файловой системы. Код и документация опубликованы под лицензией MIT в репозитории на GitHub. Для запуска нужен Node.js версии 18 и выше, установка не обязательна: команды работают через npx.

Коротко

  • Общий хаб связан с ~/.claude/skills, ~/.codex/skills и ~/.gemini/config/skills нативными ссылками уровня файловой системы: POSIX-симлинки на macOS и Linux, NTFS-junction на Windows, без демона и прав администратора.
  • MCP-серверы копируются в конфиг каждого агента отдельно, потому что определение сервера лежит внутри общего файла настроек: JSON у Claude Code и Antigravity, TOML у Codex, а расхождения ловят sync-mcp и doctor.
  • Команда sync-rules раскладывает AGENTS.md по CLAUDE.md, GEMINI.md, CODEX.md, .cursorrules и .github/copilot-instructions.md, так что правки в одном файле перестают требовать пяти ручных копий в каждом репозитории; Cursor и GitHub Copilot поддержаны только как цели правил.

Разрозненные каталоги конфигураций стали побочным эффектом того, что несколько кодовых агентов уживаются на одной машине: каждый читает свои файлы и ничего не знает о соседях. AgentBridge выглядит как попытка решить это средствами файловой системы, без фонового процесса, и цена подхода видна сразу: навыки действительно едины, а MCP-серверы остаются копиями, которые расходятся между запусками синхронизации. Для команд, где правила проекта лежат в репозитории, это прежде всего экономия ручных правок.

Навык живёт в одном файле, MCP-сервер существует в отдельной копии у каждого агента

Навык на диске представляет собой изолированную папку с SKILL.md, поэтому каталог навыков любого агента можно целиком заменить ссылкой в общий хаб. Файл физически один и виден по нескольким путям, правка в любом из них меняет его везде, а команда link-skills нужна лишь однажды, чтобы создать связи.

С MCP-серверами так не выйдет: определение сервера это поле внутри общего конфигурационного файла, где лежат и собственные настройки агента, а ссылка работает только на уровне файла целиком. Поэтому sync-mcp объединяет определения и записывает отдельную копию в конфиг каждого агента, плюс в реестр ~/.agentbridge/mcp_servers.json, который служит источником для слияния.

Если два агента описали сервер с одним именем, но разными command, args или конфликтующим значением общего env-ключа, слияние идёт по полям и на спорных выигрывает агент, обработанный позже. sync-mcp печатает предупреждение с именем сервера и списком расхождений, doctor показывает то же как постоянную проверку MCP Server Conflicts.

sync-mcp подставляет ${GITHUB_PERSONAL_ACCESS_TOKEN} вместо самого токена

Перед записью конфигурации команда сверяет каждое значение env с переменными окружения текущей системы. При точном совпадении в файл уходит ссылка вида ${GITHUB_PERSONAL_ACCESS_TOKEN}, а не литерал. После того как переменная задана в системе, повторный запуск sync-mcp переписывает на ссылку все конфиги агентов, где ещё лежит открытое значение.

doctor помечает найденные секреты в открытом виде и повторяет в предупреждении тот же способ исправления, но переменную окружения не создаёт сам. Без флага --fix любое предупреждение или ошибка в отчёте дают код возврата 1, включая сломанные ссылки и коллизии имён навыков; с --fix код отражает результат починки и равен нулю.

Диагностика читает хаб и все три агента, но сама ничего не пишет: восстановление по флагу --fix идёт напрямую через тот же кроссплатформенный механизм ссылок, которым пользуется линковщик навыков, а собственный предварительный бэкап команды link-skills остаётся механизмом, отдельным от снапшотов rollback.

В CLI десять команд, а перед каждой записью создаётся снимок

status показывает обнаруженных агентов, число навыков и MCP-серверов и состояние ссылок, в том числе в машиночитаемом виде по флагу --json. pick позволяет выбрать импортируемые навыки и серверы вручную, add-skill создаёт заготовку SKILL.md с YAML-фронтматтером прямо в хабе, unlink разрывает связи и возвращает агентам самостоятельные копии.

Запись на диск во всех случаях предваряется бэкапом, отключаемым флагом --no-backup, а снимки из ~/.agentbridge/backups/ перечисляет и восстанавливает rollback, в том числе по идентификатору. Команда watch следит за хабом и AGENTS.md и запускает синхронизацию правил с задержкой, а --dry-run показывает результат без изменений на диске.

Пакет доступен и как библиотека: из @helter/agentbridge экспортируются detectInstalledAgents, linkAgentsToHub, syncMcpConfigs, syncProjectRules и runDiagnostics, так что те же операции вызываются из кода на Node.js и TypeScript. Тесты проекта запускаются через Vitest, сборка выполняется командой npm run build, локальный CLI запускается как node dist/cli.js.

Windows без режима разработчика

Режим --mode symlink в sync-rules на Windows требует включённого Developer Mode или запуска с повышенными правами. Без этого AgentBridge молча переходит на жёсткую ссылку: она держится при правке AGENTS.md на месте, но устаревает, если файл заменён целиком, как при атомарном сохранении в некоторых редакторах. Что именно получилось, видно в выводе CLI: Symlinked to source либо Hardlinked to source.

Комментарии

Пока никто не написал. Будьте первым.

Присоединяйтесь к разговору

Войдите через Google, чтобы оставить комментарий. Имя и аватар подставятся из вашего профиля Google, а комментарий появится после модерации.

Из Google мы используем только имя и аватар. Почту не сохраняем.