Live Your Life. Your Agents Stay Close.
English | 简体中文
Warning
Ariava is early-stage. Breaking changes are expected.
Agent loops are getting longer. An agent can run for hours on your computer — refactors, test suites, research, release notes — watching its progress like a foreman is a real waste of time; you should go do other things. When it finishes, or when it hits a decision only you can make, it'll come to you.
Ariava is an Apple Watch-first agent companion. The watch is the one screen that's always with you — wherever you are, notifications arrive on your wrist, and acting on them takes seconds:
- Know when you're needed. A tap on your wrist when an agent finishes or needs your judgment.
- See what's happening. Live session state — project, status, latest activity — at a glance, no laptop required.
- Act from your wrist. A short voice prompt is all it takes to steer your agent.
- Privacy-friendly. End-to-end encryption, always — the relay only forwards ciphertext.
Ariava isn't a terminal, and it isn't an agent. It's what lets you stop sitting next to them.
Walk away from the desk — your agents will tap you when they need you.
Requirements:
- Node.js 22+ and npm
- macOS, or Linux/WSL with a systemd user manager
- supported agent harness — Pi or Codex
npx --yes ariava@latest setupInstall the Apple Watch app from TestFlight, then pair:
ariava pair <PAIRING_CODE>ariava status
ariava pair <PAIRING_CODE>
ariava watches list
ariava logs
ariava upgradeThe command surface is intentionally narrow. Ariava does not expose arbitrary shell execution, unrestricted input, a remote terminal, or a transcript browser.
- Human Attention and Intervention
- APN Notification
- End-to-end encryption
- In progress: Session Management
- Project management
- Invoke new session
- More Harness Integration
- Summary and memory
Apple Watch ↔ Relay ↔ Local Bridge ┬↔ Pi
├↔ DeepSeek
└↔ Codex
The Watch and the local Bridge exchange keys and pair through the Relay. The Relay only forwards encrypted messages. The Bridge gets live session states from harness plugins and keeps that state locally.
Two alerts:
- Done — a human needs to review the result.
- Need human — the agent needs a human to guide what to do next.
A session is a live projection of one conversation (name, project, status, latest activity), not a transcript. The Bridge encrypts that and sends it to the Watch. The Watch sends back only reply and interrupt.
Host and Watch each carry two identities, not one:
- Signing — Ed25519. Proves who you are. Device IDs come from this public key.
- Encryption — X25519. Used with ChaCha20-Poly1305 for end-to-end encryption. The Relay only sees ciphertext.
Host keys are created by ariava init. Watch keys are created on the Apple Watch.
Pairing checks two different codes:
- Pairing code — the Watch shows a short-lived code; run
ariava pair <CODE>on the Host. This tells the Relay which Watch and Host to link. - Safety Code — both sides then show the same code. Confirm they match. Pairing is not done until you do. This checks that the encryption keys were not swapped in transit: the Relay forwards ciphertext, but it could still try to replace public keys. If the codes differ, cancel and pair again.
ariava identity status
ariava identity reset --confirmReset the Watch identity in the Watch app. Either reset replaces both identities on that device and clears old links; pair again after.
git clone https://github.com/noyyyy/ariava.git
cd ariava
bun install --frozen-lockfile
bun run verifyIsolated source development (without touching an installed Bridge) is in docs/prod-vs-dev-cli.md.
Read CONTRIBUTING.md before opening a pull request.
Report suspected vulnerabilities privately via SECURITY.md. Never post identities, secrets, pairing material, or complete logs in a public issue.
Licensed under the Apache License, Version 2.0.
