Codync — агенты кодинга как переписывающиеся боты, управление с телефона
📂 Исходный код на GitHubОткрытый аналог Grok Bot: переписка с агентами кодинга как с чат-ботами. Локальный демон на Rust запускает агентов по протоколу ACP, хранит переписку в SQLite и отдаёт её iPhone, десктопному приложению и терминальному клиенту. Лицензия MIT.
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