Codync README

The project's README from github.com/leepokai/Codync. As one markdown file: README.md.

Codync icon

Codync

The open-source, 1:1 alternative to Grok Bot and Muse.
Your coding agents, as teammates you can message.

App Store Homebrew Release License: MIT
iOS macOS Linux Rust Swift

Watch the Codync launch film on YouTube (1:26)

Download on the App Store

Codync turns the coding agents on your computer — Claude Code, Codex, Cursor, Pi, OpenCode, Grok Build, Gemini, Copilot and ~40 more — into persistent bots you delegate to from your iPhone, Mac, Linux desktop or any terminal, the way you'd message a colleague. Pick who, say what, put the phone away. You get a notification when a bot finishes or needs your approval.

Why bots? On a phone, "find the right working session, then pick an environment" is too slow. With bots you already know who to hand the intent to: open the chat, type, done.

Why Codync

Platforms

Platform App Highlights
📱 iPhone Native SwiftUI Chat with bots, approvals, push notifications, Live Activity, widgets, remote screen, voice calls
💻 macOS Native SwiftUI, menu bar + window Runs the host, chat window, usage in the menu bar, iPhone pairing
🐧 Linux Native GTK 4 / libadwaita Runs the host (desktop or headless server), chat app
⌨️ Terminal codync-host tui Message your bots from any terminal, over SSH too

The host (codync-host, Rust) runs on macOS and Linux; every client talks to it, so all your bots and chats are the same everywhere.

How it works

Remote Apple client ⇄ encrypted channel (direct or Cloudflare cloud/) ⇄ codync-host ⇄ ACP agent
Local / SSH client  ⇄ loopback HTTP + SSE                             ⇄ codync-host
Host notifications → APNs worker (relay/) → iPhone

UI patterns (roster, character avatars, approval cards, trace sheet, "needs you / done" notifications) follow Grok Bot.

Install

One line (macOS or Linux):

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

On a Mac it installs the app (the host ships inside it); on Linux the host, plus the desktop app when a display is present. Add sh -s -- --host-only for servers and headless Macs. Re-run it to upgrade.

Mac — download codync-macos.dmg and drag it to Applications, or:

brew install --cask leepokai/codync/codync

All three install the same signed, notarized app.

Open Codync: it sets up the host on first launch. Open Codync opens the full window; Pair iPhone… shows the QR code.

iPhone — get Codync on the App Store (iOS 18+, free), then scan the QR code from Pair iPhone… on the Mac, the Linux app or codync-host pair.

Linux — the host, plus the native GTK 4 / libadwaita app:

curl -fsSL https://raw.githubusercontent.com/leepokai/Codync/main/packaging/install.sh | sh
# or: brew install leepokai/codync/codync-host
codync-host install   # systemd --user service
codync-host pair      # QR code in the terminal, or Settings in the app

The script also installs the desktop app (codync, with its .desktop file and icon) when you're in a graphical session; it needs GTK 4 and libadwaita. By hand: unpack codync-linux-<arch>.tar.gz from Releases and run bin/codync.

Building the Linux app yourself needs libgtk-4-dev libadwaita-1-dev: cargo install --path apps/linux.

Linux server / cloud VM — the host runs headless on any distro (static binary, x86_64 + arm64). Setup, remote access and limitations: docs/guides/linux-servers.md.

Remote access works out of the box through the free Cloudflare relay, end-to-end encrypted; the phone switches to a direct connection on the same network or over Tailscale. Details: remote relay.

Agents — install and sign in to whichever you use; Codync finds them. Claude Code, Codex and Pi run through their ACP adapters (fetched by npx, so Node.js is needed for those).

codync-host install also routes Claude Code's status line through codync-host statusline so live limits reach the host; an existing status line keeps working (it's wrapped, and restored on uninstall).

codync-host

Command
codync-host install / uninstall background service (launchd on macOS, systemd --user on Linux)
codync-host tui [--url … --token …] message your bots from a terminal (this computer by default; SSH-friendly)
codync-host pair [--json] pairing QR code / link
codync-host status installed? running?
codync-host serve [--port 19222] run in the foreground
codync-host statusline [-- <your command>] Claude Code status line command (wraps yours)
codync-host reset-token rotate the local loopback bearer token
codync-host cloud cloud enablement, URL and status
codync-host devices list/revoke authorized remote devices
codync-host access review device access requests

Data lives in ~/.codync. The local bearer token authorizes loopback helpers and SSH-forwarded callers. Remote devices use individual keys and grants over the encrypted channel; revoke a lost device through device management rather than rotating the loopback token. Host methods and caller permissions live in host/src/api/mod.rs.

Repository

Path
host/ codync-host — Rust daemon: ACP client, SQLite transcript, HTTP/SSE API, push, usage
kit/ Swift package: CodyncKit (wire models, host client, theme, avatars) and CodyncUI (store + chat screens shared by iPhone and Mac)
apps/ios/ iOS app: pairing, roster, push, Live Activity glue
apps/ios/Widgets/ Bots, usage and per-provider usage widgets + bot Live Activity
apps/macos/ Menu bar + native chat window; installs/monitors the host
apps/linux/ Native Linux app (GTK 4 + libadwaita, Rust)
cloud/ Cloudflare accounts, D1, encrypted channel relay and offline mailbox
apps/shared/ Shared Apple account integration and environment configuration
apps/screen-macos/, apps/screen-linux/ Platform screen capture/input helpers
docs/ Documentation index and file structure
relay/ Cloudflare Worker APNs relay with encrypted per-device tickets
web/ Website (Next.js static export, deployed on Vercel)
packaging/ Homebrew cask and formula templates (published to leepokai/homebrew-codync on release) and install.sh (the curl installer)

Build, install, restart and full checks: development guide.

The Xcode project is generated: xcodegen generate --spec apps/project.yml.

cd host && cargo test            # host
cd kit && swift test             # shared Swift
cd apps/linux && cargo test      # Linux app (needs GTK dev packages)
cd cloud && npm test            # cloud API / channel relay
cd relay && npm test             # relay tickets

Versioning

The major version is the phone ↔ host protocol: apps work with hosts of the same major version.

License

MIT

Codync (leepokai/Codync)

Searching Database…

513 ·GitHub
这是什么?Codync 把你电脑上已安装的编程智能体(Claude Code、Codex、Cursor、Gemini、Copilot,以及通过 ACP registry 接入的约 40 个其他智能体)变成持久的具名机器人,你可以像给同事发消息那样,从 iPhone、Mac、Linux 桌面或任意终端与它们对话。它是 Grok Bot 和 Muse 的免费开源替代品。
这是我安装的应用,还是我基于它写代码的框架?它是一个名为 codync-host 的 Rust 守护进程,加上完全原生的客户端应用:iPhone 和 Mac 用 SwiftUI,Linux 用 GTK 4 / libadwaita,SSH 场景用终端界面——不涉及任何 WebView 或 Electron。
怎么让它跑起来?在 macOS 或 Linux 上运行一行式安装脚本(服务器加 --host-only),它会安装 codync-host,并在有显示器的机器上安装桌面应用;在 Mac 上也可以改为下载 codync-macos.dmg。然后从 App Store 安装 iPhone 应用,扫描 “Pair iPhone...” 中显示的二维码完成配对。
除了我已在用的编程智能体,还需要别的东西吗?Codync 会自动检测 PATH 中已有的智能体,但有些会在首次使用时通过 npx 或 uvx 拉取——其中 Claude Code、Codex 和 Pi 是通过 npx 拉取的 ACP 适配器运行的,因此需要 Node.js。
主机端能在 Windows 上运行吗?不能——codync-host 只为 macOS 和 Linux 构建(Linux 上是可在任何发行版运行的静态二进制文件);iPhone 应用、终端应用等客户端连接到这台主机。
能把主机端跑在无桌面的云服务器上吗?可以——codync-host 以静态二进制(x86_64 和 arm64)的形式在任意 Linux 发行版上无界面运行,适合挂在没有显示器的云虚拟机或服务器上。
远程给机器人发消息时,我的数据会经过哪里?消息会经过一个免费的 Cloudflare 托管中继,由于手机与电脑之间是端到端加密,中继只能看到密文;在同一 Wi-Fi 或 Tailscale 下,手机则直接连接。
机器人之间能互相求助吗?可以——内置的 team MCP 服务器让一个机器人可以发现并联系你的其他可见机器人,这样 Claude 机器人可以请 Codex 机器人做评审,同时各自保留自己的项目文件夹和审批。
远程屏幕功能是做什么的?它通过 WebRTC 和硬件 H.264 把电脑屏幕串流到 iPhone,让你可以远程查看和操控电脑,机器人也能通过内置的计算机工具使用同一块屏幕。
多个机器人能在同一个会话里一起聊天吗?可以——群聊里容纳多个机器人加上你;每条消息会触发一轮简短互动,被 @(或全部)的机器人依次回复,并可互相回应,最多三轮。
What are similar projects?zuse, happy, navop, vicoa, tusk, herdr-web-ui, casbin-gateway, sill
Creator
leepokai
Size
48.8 MB
Stars
513
Age
7mo
Commits · 90 Days