Codync — агенты кодинга как переписывающиеся боты, управление с телефона

· 2 мин чтения
ai-agents orchestration rust open-source tools
📂 Исходный код на GitHub

Открытый аналог Grok Bot: переписка с агентами кодинга как с чат-ботами. Локальный демон на Rust запускает агентов по протоколу ACP, хранит переписку в SQLite и отдаёт её iPhone, десктопному приложению и терминальному клиенту. Лицензия MIT.

Codync — агенты кодинга как переписывающиеся боты, управление с телефона

Codync — открытый проект, который превращает агентов кодинга, уже установленных на вашем компьютере, в отдельных ботов для переписки. Claude Code, Codex, Cursor, Pi, OpenCode, Gemini, Copilot и ещё около сорока агентов запускаются у вас на машине, а общаетесь вы с ними с iPhone, с рабочего компьютера или прямо из терминала — как с коллегой в чате. Выбрали, кому написать, сформулировали задачу, убрали телефон. Когда бот закончит или попросит подтвердить действие, придёт уведомление.

Лицензия MIT, подписки нет. Сайт проекта — codync.dev.

Почему нужны боты, а не сессии

Обычная работа с агентом выглядит так: вы открываете терминал, вспоминаете, в какой папке был проект, выбираете нужного агента, запускаете его, а потом возвращаетесь к окну и смотрите, что он там наделал. На телефоне этот путь слишком длинный. Пока вы дойдёте до нужного агента, задача уже перестаёт быть свежей.

С ботами путь короче. Вы сразу знаете, кому написать: открыли чат, написали, отложили телефон. Агент при этом продолжает работать в фоне, на том же компьютере и в той же папке проекта.

Что умеет

Любой агент из реестра ACP. Хост сам находит установленные агенты. Он берёт переменные окружения из вашей логиновой оболочки и добавляет к ним Homebrew, ~/.local/bin, nvm, bun, volta, asdf, mise, pnpm. Так он видит всё, что у вас стоит. Если нужного агента нет, но он есть в официальном реестре ACP, Codync скачает его при первом запуске: через npx, через uvx или как готовый бинарник с контрольной суммой. Агентов можно смешивать — бот на Claude Code может попросить бота на Codex посмотреть изменения.

Много ботов рядом. Ботов можно запустить сколько угодно, каждый со своим агентом, своей папкой проекта и своими правилами подтверждений. Все работают одновременно.

Групповой чат. Несколько ботов и вы в одном чате. Каждое сообщение запускает короткий раунд: те, кого вы отметили через @имя (или все) отвечают по очереди, каждый в своей сессии. Один раунд — до трёх ответов, боты могут реагировать друг на друга. От любого сообщения можно начать ветку с ответами, и основная переписка от этого не засоряется. Подробнее — в документе о групповых чатах и ветках.

Боты зовут друг друга. Встроенный MCP-сервер team даёт боту возможность найти ваших других видимых ботов и дождаться ответа. Формулировка простая: скажите одному боту «попроси Reviewer проверить эти изменения». Запрос появится в обоих чатах, и каждый участник сохранит своего агента, свою папку и свои подтверждения. Подробности — в документе о взаимодействии ботов.

В чате только важное. Вы видите свои сообщения, итоговый ответ за раунд, карточки подтверждений и уведомления. Все вызовы инструментов, правки, планы и мысли агента спрятаны в один тап — в режиме полной переписки. Пока бот работает, в его строке видно, что он делает прямо сейчас.

Удалённый экран. С iPhone можно видеть экран компьютера и управлять им через WebRTC с аппаратным кодированием H.264. Сами боты тоже умеют пользоваться экраном — через встроенный инструмент computer.

Голосовые звонки. С iPhone можно говорить с ботом без рук и слушать его ответы вслух.

Как это устроено

Вся схема сводится к трём частям:

Удалённый клиент ⇄ зашифрованный канал (прямой или через Cloudflare) ⇄ codync-host ⇄ агент по ACP
Локальный клиент или SSH ⇄ HTTP + SSE на localhost                          ⇄ codync-host
Уведомления хоста → APNs-релей (relay/) → iPhone

codync-host — один небольшой и быстрый бинарник на Rust. Он работает на macOS, Windows и Linux, а на Linux ещё и статический, то есть запускается на любом дистрибутиве. Этот хост говорит с агентами по протоколу ACP, хранит переписку в SQLite и отдаёт её всем клиентам.

У каждого изменения есть общий номер rev. Когда телефон переподключается, он просит всё, чего не видел: since: rev. Поэтому пропустить сообщение невозможно.

Лимиты использования Codync берёт из ваших локальных установок, без дополнительного входа. Для Claude это команда claude -p /usage и строка состояния Claude Code, для Codex — файлы в ~/.codex/sessions. Телефон, виджеты и меню-бар видят только проценты.

Установка

macOS и Linux, одна строка:

curl -fsSL https://raw.githubusercontent.com/leepokai/Codync/main/packaging/install.sh | sh

На Mac скрипт ставит приложение (хост внутри него), на Linux — хост и десктопное приложение, если есть графическая сессия. Для серверов и Mac без монитора добавьте --host-only. Повторный запуск обновляет установку.

Другие варианты:

  • macOS — файл .dmg из Releases или brew install --cask leepokai/codync/codync
  • Windows — codync-windows-x64.exe из Releases. Установщик пока не подписан, поэтому SmartScreen один раз спросит подтверждения
  • iPhone — приложение в App Store (iOS 18+), затем сканируете QR-код из пункта Pair iPhone…
  • Linux-сервер или облачная VM — codync-host install ставит службу systemd --user, codync-host pair показывает QR-код в терминале. Подробности — в гайде по Linux-серверам

Агенты нужны свои: поставьте и залогиньтесь в те, которыми пользуетесь, Codync найдёт их сам. Для Claude Code, Codex и Pi нужны их ACP-адаптеры — они ставятся через npx, поэтому потребуется Node.js.

Доступ к компьютеру извне

Отдельный VPN и проброс портов не нужны. Работает бесплатный релей на Cloudflare. Трафик между телефоном и компьютером зашифрован от края до края, поэтому релей только пересылает зашифрованные данные и прочитать их не может. В той же сети или по Tailscale телефон подключается напрямую.

К вашему аккаунту может быть подключено несколько компьютеров: Mac, Windows PC, Linux-десктоп, сервер или облачная VM. Каждый компьютер отдельно подтверждает доступ для каждого устройства. Поэтому один вход в аккаунт сам по себе не открывает доступ к машине. Текст уведомлений запечатан ключом телефона — релей APNs не видит, что ваши боты написали.

Данные — боты, чаты и память — остаются на вашем компьютере.

Команды хоста

Команда Что делает
codync-host install / uninstall Служба в фоне: launchd на macOS, systemd --user на Linux, ключ Run при входе на Windows
codync-host tui Переписка с ботами из терминала, удобно по SSH
codync-host pair QR-код или ссылка для привязки телефона
codync-host status Установлен ли хост, работает ли
codync-host serve Запуск на переднем плане
codync-host devices Список авторизованных устройств и отзыв доступа
codync-host access Просмотр заявок на доступ к устройствам
codync-host reset-token Смена локального токена
codync-host cloud Состояние облачной связи

Данные лежат в ~/.codync.

Из чего состоит репозиторий

Папка Содержимое
host/ Демон codync-host на Rust: клиент ACP, переписка в SQLite, HTTP и SSE API, push, лимиты
apps/ios/ Приложение для iPhone на Swift: привязка, список ботов, push, Live Activity
apps/desktop/ Десктопное приложение для macOS, Windows и Linux на Electron
cloud/ Аккаунты на Cloudflare, релей зашифрованного канала, офлайн-ящик
relay/ Worker на Cloudflare, который доставляет push через APNs
packaging/ Формулы Homebrew и скрипт установки
docs/ Документация проекта

Тесты запускаются отдельно для каждой части:

cd host && cargo test
cd apps/desktop && npm test
cd cloud && npm test
cd relay && npm test

Подробности сборки и проверок — в гайде по разработке.

Что стоит учесть

Начиная с версии 2.7.0 Mac и Linux работают на одном десктопном приложении. Нативную версию для Mac на SwiftUI и GTK-приложение для Linux убрали. Причины две: нативный чат слишком медленно показывал длинную переписку, а два десктопных приложения было не под силу поддерживать одному человеку. Приложение для iPhone осталось нативным на SwiftUI. На Windows пока нет удалённого экрана, распознавания речи и строки состояния Claude Code — подробности в описании десктопного приложения.

Версия для iPhone часто отстаёт от остальных: каждая сборка сначала проходит проверку Apple, а она занимает около дня. Поэтому обновление хоста, которому нужна более новая версия приложения для iPhone, ждёт, пока она появится в App Store. Пока всё работает, приложение просто напоминает о доступном обновлении.

Проект молодой: репозиторий создан в марте 2026 года, на момент публикации у него 173 звезды и 18 форков.

Источник: https://github.com/leepokai/Codync