Aight
Native iOS and macOS control surface for self-hosted AI agents and coding CLIs
A focused multi-backend iPhone prototype is a realistic multi-day build when a local companion normalizes each agent protocol, but hardening all four adapters plus Aight's hosted relay, voice, orchestration, sync, and App Store polish is multi-week product work.
Build verification: not recorded. How we judge buildability
What you give up
- managed encrypted relay and push notifications
- voice mode with local speech models
- cross-agent teams and group-chat orchestration
- pre-built agent/team templates and community skill browsing
- multi-device sync and App Store polish
Why people still pay
They pay for one polished client that safely reaches several agent backends from anywhere, keeps sessions in sync, and handles notifications, voice, and approvals without maintaining a custom mobile integration.
Your build guide
The stack, security requirements, and agent rules for a focused replacement.
Before you start
- Runtime and tools: SwiftUI on iOS and a TypeScript companion service with a versioned authenticated event protocol.
- Before starting: A Mac with Xcode, an iPhone or simulator, a private companion host and pinned documentation for each enabled agent adapter.
Use these project rules and optional skill references alongside the prompt. Review each skill before adding it to your agent; the AGENTS.md export includes the same guidance.
Project rule — domain: Store BackendCapability, Session, Run, EventSequence and PendingApproval; approval identity includes backend/session/run and expires on disconnect. Replayed events must not create duplicate cards.
Project rule — scope and recovery: Retain separate documented adapters for Codex, Claude, OpenClaw and Hermes with unavailable/unsupported states. Do not infer identical APIs across agents; private relay, push and voice are separate capabilities.
Project rule — acceptance: Disconnect while a tool awaits approval, reconnect to another session, and attempt the old response; it is rejected and the original run remains denied or waiting explicitly.
Project rule — delivery: document real setup commands and permissions; do not claim a build, accuracy level, performance result or security certification that has not been demonstrated.
Recommended skill: swiftui-expert-skill — design native SwiftUI state, accessible controls and permission/error views for the proposed Apple-platform interface. Follow the maintainer's installation instructions and match its requirements to the chosen runtime.
Recommended skill: swift-concurrency — isolate capture, background work and UI updates, and make cancellation invalidate late callbacks. Follow the maintainer's installation instructions and match its requirements to the chosen runtime.
Implementation plan
Phase 1
Pin the working slice and create its example input: Pair a phone with a private companion, choose an available coding-agent adapter, start a session, inspect tool events, answer one approval and interrupt the run. Confirm setup: A Mac with Xcode, an iPhone or simulator, a private companion host and pinned documentation for each enabled agent adapter.
Phase 2
Implement persistence and write-time invariants before decorating the UI: Store BackendCapability, Session, Run, EventSequence and PendingApproval; approval identity includes backend/session/run and expires on disconnect. Replayed events must not create duplicate cards.
Phase 3
Connect the working view to real saved state. Keep backend credentials on the companion. Pair explicitly, store the bridge credential in Keychain, scope each approval to one run and reject stale or replayed responses.
Phase 4
Expose the app-specific limits and recovery path in context: Retain separate documented adapters for Codex, Claude, OpenClaw and Hermes with unavailable/unsupported states. Do not infer identical APIs across agents; private relay, push and voice are separate capabilities.
Phase 5
Walk through this concrete acceptance case and preserve its exported evidence: Disconnect while a tool awaits approval, reconnect to another session, and attempt the old response; it is rejected and the original run remains denied or waiting explicitly. Finish the README and backup/restore instructions; report unfinished capabilities explicitly.
Build me a local-first iPhone client for Codex, Claude Code, OpenClaw, and Hermes. Requirements: - Use Swift 6, SwiftUI, and iOS 18. Generate Xcode from a checked-in XcodeGen project.yml so `xcodegen && xcodebuild` works on a clean clone. - Build the Node.js 22 TypeScript companion with Fastify and WebSockets. Expose start, resume, prompt, event, approval, interrupt, and capability operations; session listing is optional and capability-gated. - Ship real adapters for all four. Disable unavailable agents at runtime; all adapters must compile and pass fixture tests without every agent installed. - Codex: pin the CLI version, run `codex app-server generate-ts`, and supervise app-server over stdio using the generated v2 types. - Claude Code: use `@anthropic-ai/claude-agent-sdk`, its session APIs, async-iterable input for interrupt(), and canUseTool for permissions. - OpenClaw: use the official Gateway WebSocket client, pair once, request only read/write/approvals/questions scopes, and store its device token securely. - Hermes: use /v1/runs and its event, approval, and stop endpoints; use session headers for continuity and discover features from /v1/capabilities. - Keep backend models in the companion and expose one versioned protocol. The iOS app stores its wss:// endpoint and bridge bearer token in Keychain. - Provide backend/session pickers, streamed Markdown and tool events, approval cards, Stop, capability-aware controls, and deny approvals on disconnect. - Bind to 127.0.0.1 and compare the random `.env` token in constant time; expose it only through private Tailscale Serve HTTPS, and never enable Funnel. - Add bounded reconnects and local completion notifications. No app accounts, cloud database, analytics, or telemetry; agent model-provider calls remain. - Out of scope: hosted relay, voice, cross-backend groups, templates, community skills, themes, multi-device sync, and a macOS client. - Test adapter fixtures plus denial, interruption, and reconnection. README: setup for all four, `.env.example`, Tailscale, signing, permissions, limits. Acceptance gate: use fixture-driven adapter sessions to prove start, approval denial, interruption, reconnect, and resume. Assign each event a session ID and monotonic sequence, ignore duplicate events after reconnect, and never replay an approval response into a different run. A disconnected phone must not implicitly approve pending work. Report each adapter capability as available, unavailable, or unsupported; never fabricate a successful tool run. EDITORIAL IMPLEMENTATION CONTRACT Working slice: Pair a phone with a private companion, choose an available coding-agent adapter, start a session, inspect tool events, answer one approval and interrupt the run. Data and invariants: Store BackendCapability, Session, Run, EventSequence and PendingApproval; approval identity includes backend/session/run and expires on disconnect. Replayed events must not create duplicate cards. Boundary and recovery: Retain separate documented adapters for Codex, Claude, OpenClaw and Hermes with unavailable/unsupported states. Do not infer identical APIs across agents; private relay, push and voice are separate capabilities. Acceptance walkthrough: Disconnect while a tool awaits approval, reconnect to another session, and attempt the old response; it is rejected and the original run remains denied or waiting explicitly. Record actual dependency versions, permissions and provider access in setup instructions. Preserve originals, expose partial failures and document backup/restore. These are acceptance requirements, not a claim of a completed or production-certified build. Add the domain, recovery and acceptance rules to AGENTS.md so future edits preserve them.
$ open in your agent (prompt prefilled, you press enter), copy the prompt or copy or download AGENTS.md
prompt copied. want to know what dies next week?
new verdicts + top votes, weekly. free. one-click out.
Alternatives to building your own
all 3 free alternatives to Aight →· no votes, no pay-to-list · just what's real
Aight pricing
| plan | monthly | annual (per mo) | what you get |
|---|---|---|---|
| free | $0/user | $0/user | OpenClaw mode: 1 team, 8 agents and 2 group chats; Channels mode: 2 channels and 1 channel group; core chat. |
| pro | $4.99/user | $2.92/user | Unlimited teams, agents, group chats, channels and channel groups.$34.99/year; 3-day trial. Purchased through Apple's in-app purchase system. |
free tier1 team, 8 agents, 2 group chats, 2 channels and 1 channel group
billingmonthly + annual through Apple in-app purchase; auto-renews unless cancelled at least 24 hours before renewal
hidden costsAight supplies only the client/control surface: it does not include AI models, agents or a backend, so model API charges and the self-hosted or cloud agent infrastructure are separate.
pricing sources checked 2026-08-11 · pricing source ↗
Questions about Aight
Can you build your own Aight with AI?
Partly. A focused multi-backend iPhone prototype is a realistic multi-day build when a local companion normalizes each agent protocol, but hardening all four adapters plus Aight's hosted relay, voice, orchestration, sync, and App Store polish is multi-week product work.
What does the Aight build prompt cover?
The prompt starts with this scope: Pair a phone with a private companion, choose an available coding-agent adapter, start a session, inspect tool events, answer one approval and interrupt the run. Full-product capabilities excluded from the comparison include: managed encrypted relay and push notifications; voice mode with local speech models; cross-agent teams and group-chat orchestration. Follow the implementation plan and its prerequisites before expanding the build.
How do I use the prompt, AGENTS.md and agent skills?
Start with the Aight prerequisites and stack, then copy the prompt into your coding agent. Save the project rules as AGENTS.md in the project root. Linked skills are optional packages or source instructions for specific tasks; review their current contents and install only those matching the chosen stack. A skill does not supply API credentials or verify the finished app.
How long will this Aight project take?
The catalogue estimate is multi-day prototype; multi-week to harden for the limited scope. Setup, integration approvals, debugging, deployment and ongoing maintenance can add time. This is an estimate, not a delivery guarantee.
What would I give up by replacing Aight?
managed encrypted relay and push notifications; voice mode with local speech models; cross-agent teams and group-chat orchestration; pre-built agent/team templates and community skill browsing; multi-device sync and App Store polish. They pay for one polished client that safely reaches several agent backends from anywhere, keeps sessions in sync, and handles notifications, voice, and approvals without maintaining a custom mobile integration.
What price is this guide comparing against?
The recorded Pro plan is $4.99/mo (monthly), checked 2026-07-31. Check the linked pricing source before buying. Building your own also has hosting, API and maintenance costs; the recorded amount is not a guaranteed saving.
What can I use instead of building Aight?
Happy: A phone remote for Claude Code and Codex, with your computer still doing the work. Paseo: One control panel for five coding CLIs; the agents still need a host. Nimbalyst: A visual desk for several coding agents, without turning them into a node graph. Compare all listed options at https://howtovibecodeit.dev/aight/alternatives. Check each option's license, hosting needs and feature limits.