Aki Dev Sync
macOS · Tauri v2 v1.9.8Code on one machine, let the AI work on another — no junk commits just to move files.
github.com/lacvietanh/aki-dev-sync · Dev tool
Solves one problem
Aki Dev Sync is a macOS app (built with Tauri v2) that syncs code between a local machine and a remote server over rsync and ssh. LOCAL is the source of truth (Git history, review and commit in the Antigravity IDE); REMOTE is the AI workspace (a stronger box over SSH where Claude Code / Claude MAX reads full project context and generates code at scale). PUSH sends local changes up, PULL brings the AI's work back — closing the loop without junk commits just to move files. It also monitors real Claude Code and Antigravity quota in real time.
The Local ↔ Remote model
LOCAL — Source of Truth
Holds the Git history. You review, commit and edit in a personal IDE (e.g. Antigravity Pro).
REMOTE — AI Workspace
A stronger box over SSH where the AI (Claude Code / Claude MAX) reads the full context and generates code at scale.
PUSH sends local changes up so the AI sees everything; PULL brings the AI's work back to review and commit — closing the loop without junk commits just to move files.
Features
PUSH / PULL over rsync
Push local changes up and pull the AI's work back. Toggle .git/ on to give the AI full history, off to skip it. A DRY RUN previews the exact rsync changes before writing a single byte.
Selective push (SELECT)
Native OS file picker (multi-select, opens at project root). If a selected file already exists on the remote, it shows a local-vs-remote mtime conflict table before confirming the push.
Real quota monitor (Agent Usage)
Real quota, not estimates. Claude Code reads Anthropic's own rate_limits (5-hour + 7-day) — on this Mac or any selected SSH host — showing plan tier, email and org. Antigravity reads the IDE's native Language Server, showing the Gemini and Claude/OSS pools. Relative-time reset countdowns.
Open Popup & stack launcher
One menu to open a project — Local (Finder, Terminal, VSCode, VSCode Insiders, Antigravity) and Remote over SSH (SSH Terminal, VSCode Remote, Antigravity Remote). Inline DEV (green) and BUILD (amber) buttons auto-detected by stack (Tauri / Nuxt / Node). Missing IDEs are dimmed automatically.
Remote Mode & background refresh
A master switch toggles all remote/SSH activity app-wide (PUSH/PULL/SELECT, remote IDEs, remote diff and quota checks). The app polls git status, the sync diff and AI quota in the background; PUSH/PULL buttons light up when the sides drift; countdown rings show live refresh progress.
Tasks, notes & dev utilities
Per-project task lists (pinned 📌, wish 🕒, auto-sorting) with an auto-growing notes card. A global notepad in the titlebar. A unified Git modal with ANSI-colored logs and Vietnamese accent support. An in-app ~/.ssh/config editor with undo/backup. rsync exclude presets (Nuxt 4 / Tauri v2). Pre/post-sync hooks.
Under the hood
Real quota, not guesses
Claude Code emits rate_limits after every turn; the app idempotently patches statusline-command.sh over SSH so the numbers are Anthropic's own truth, not token estimates — read on this Mac or on a remote host.
Reads Antigravity's Language Server directly
Scans the process table, grabs the CSRF token, finds the port via lsof, then calls the GetUserStatus RPC (~40ms) to read the Gemini and Claude/OSS pools straight from the IDE — no middleman.
Multi-account quota history (v1.9.4)
From v1.9.4, logging out of Antigravity only invalidates the current session rather than wiping history — other accounts' cached data persists (fixing a v1.9.3 regression).
LAST ACT & OAuth polling (v1.9.4)
A LAST ACT column shows which remote host ran the most recent sync; Claude Code usage can also refresh via OAuth polling when file tokens are available, with no Claude Code interaction.
rate_limit_event as the source of truth (v1.9.5–1.9.6)
When /usage comes back empty, the app falls back to the CLI's native rate_limit_event (a server-epoch resetsAt, no year-guessing) as the authoritative reset time and keeps the last-known percentage instead of erroring out — while also breaking an infinite provision-retry loop.
Force-sync/provision timing fix (v1.9.8)
force-sync and provision used to intermittently report "command not found" right after opening the app because they asked a login shell too early; the scripts now check known claude install locations directly first, removing that timing dependency.
New in v1.9.8 (2026-07-13)
Fixed a timing race where force-sync and provision (Claude Code usage tracking) would intermittently fail with "command not found" right after opening the app, then work fine again a few minutes later — the scripts now check known install locations directly instead of asking a login shell. The preceding 1.9.5–1.9.7 releases fixed a string of quota-accuracy issues: using the CLI\'s native rate_limit_event as the authoritative reset-time source, preserving the last-known percentage when /usage comes back empty, stopping an infinite provision-retry loop, and making the header email always re-verify immediately after reopening the app post account-switch.
See full release notesTech stack
Source is public on GitHub (no LICENSE file yet, so it is "source-available" — open to read and build, without a formal open-source license).
Author
Lạc Việt Anh — the founder of the Aki ecosystem. Aki Dev Sync was born from his own daily workflow: code on local, let the AI run on a remote server.
AkiTao Ecosystem Context
Aki Dev Sync is a dev tool in the AkiTao.com ecosystem. Together with AkiClaudeDoc (the Claude Code rule/skill baseline) and AkiDEV (engineering knowledge), it reflects how AkiTao works with AI day to day.
Part of the Aki ecosystem — 5,500+ users, one shared account.
Frequently Asked Questions
What is Aki Dev Sync?
How does the Local ↔ Remote model work?
How do I install it and what do I need?
How does Aki Dev Sync monitor AI quota?
Is Aki Dev Sync's source public?
What is in the latest version?
Code on local, let the AI work on remote — synced in one click.
Download Aki Dev Sync