aether

agent
Security Audit
Fail
Health Warn
  • License — License: GPL-3.0
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 5 GitHub stars
Code Fail
  • rm -rf — Recursive force deletion command in .github/workflows/ci.yml
  • rm -rf — Recursive force deletion command in .github/workflows/release.yml
  • process.env — Environment variable access in desktop/main.js
  • fs module — File system access in desktop/main.js
  • network request — Outbound network request in desktop/notify.js
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

Self-hosted runtime for Claude Code, Codex, OpenCode and other AI coding agents. Run agents in containers on your own Linux server, collaborate live, and pull results as Git branches.

README.md
Aether logo

Aether - Multiplayer Cloud Agent Runtime

A self-hosted development environment for AI coding agents running in the cloud, for teams & multiplayer control.

Go 1.26+
License: GPL-3.0
Latest release
CI
Status: alpha

Quickstart · Install · Docs · Contributing


Aether is a self-hosted development environment for long-running AI coding agents in the cloud. It offers agent-agnostic sandboxed environments that can be hosted anywhere and be controlled by anyone on your team.


Leaving your laptop open for your agents is no longer needed.

Installation

curl -fsSL https://raw.githubusercontent.com/3xDevOps/Aether/main/scripts/install.sh | sh

Aether installs in two places: a desktop client & CLI for your laptop/PC, and a server framework for where you intend to run your agents - a home server, PC, or an old laptop repurposed to be on all day long.

The server runs on Linux. The script above handles Linux and macOS, asking
whether this machine is a server or a client.

On Windows, download and review the PowerShell installer, then run it:

Invoke-WebRequest -UseBasicParsing -Uri https://raw.githubusercontent.com/3xDevOps/Aether/main/scripts/install.ps1 -OutFile "$env:TEMP\aether-install.ps1"
& "$env:TEMP\aether-install.ps1"

It installs the CLI and builds the desktop app by default. -Role none
installs only the CLI. See the Windows install guide
for supported releases and script-policy requirements.

On Android, every release carries aether-android.apk, a phone app for
the server-hosted dashboard; install it from the release page as described in
the Android app guide. It is not on Google Play
yet; the Play link replaces this sentence the day the listing goes live. What
it stores and sends is in docs/privacy.md.

Next, see docs/quickstart.md to set up your first workspace and link your codebase, tools, and CLI agents.

For manual installation or uninstallation, see install.md.

Well, why is this needed?

Laptops are bad hosts for agent fleets. Agents eat a lot of resources even
when the model is served from remote, and every workflow dies or freezes when you close the laptop lid.

Alternatively, you could also pay money in addition to your (already massive) inference bill by using commercialized hosting services to keep your agents running. They take your source code and charge you on a per-seat basis.

Aether is the third option: your hardware, your code, agents that keep working
while you sleep.

  • Multiplayer by design. Several people, one server. See and message each other's agents in real time, with every act
    attributed.
  • Agents run continuously in remote containers. Agents run in containers on the server. Launch them once, close your laptop laptop and they still continue to work.
  • Results arrive as git branches. Every run gets its own worktree and
    branch. You can pull, review, and merge - or set your agent up with Git & Github on Aether
    to let them handle Git operations autonomously. Run-branch pulls remain
    available whether a workspace is local-only or mirror-backed.
  • Your agents, your setup. Each member has a server-owned persistent home,
    mounted read-write in that member's environment and runs. Import
    configuration once with the local dashboard's directory picker, or edit it
    remotely in Files; changes are immediately visible, including to active
    runs. Vendor logins stay on the remote you own, through each vendor's own
    authentication flow, and are never extracted or proxied.
  • Full support for solo developers. Team features are present, never in the way.
    Linking a fresh server makes you its administrator, giving you full control for your solo workflow.

Dashboard

aether gui serves the dashboard and control entrypoint from your own client
machine, bound to loopback and carried over the same SSH connection as the
CLI. On a tailnet, the server can optionally host the dashboard over HTTPS with
--web-port; Tailscale WhoIs identifies each request, so a phone needs no
install or token. Both dashboards include onboarding. Admins can choose
Onboarding → Repository → From GitHub → Add GitHub repository, connect
GitHub in the browser, choose a repository, then Review repository → Use
repository
to accept its fetched revision. No terminal or deploy key is
needed for this path; see the browser walkthrough.
Later, use Settings → GitHub → Add repository with the same connection.
Machine-local directory and clone actions still need the desktop app or local
aether gui; the hosted dashboard cannot read arbitrary paths on your computer.

Inside either dashboard: a workspace switcher, a board bucketed by what needs
attention (Needs you, Working, Finished; approve or reply from the card), a
live terminal for any run, each run's Changes, the Activity feed, the
shared approval inbox, presence indicators, the member roster, and the disk
usage in Settings. Launch, message, pause, kill, close, reopen and hand
off all call the same methods the CLI does, with the same permission checks
and timeline attribution. The server-hosted dashboard also exposes the shared
member-home Files editor through the same authenticated RPCs.
A live TUI run closed as merged or abandoned keeps its exact run row, container
and checkout for --run-container-ttl (default 7 days); Reopen (aether reopen) resumes that retained run before expiry rather than creating a new
run or container. Expired or unavailable runs cannot be reopened.
Launch freshness is server-owned: before a run row exists, the server captures
the workspace base. A configured mirror refreshes that base; a local-only
workspace reads its local base. A failed pre-run check creates no run row.
Workspace pages expose admin-only Source control for mirror status and
controls; launch freshness is handled on the server rather than by a client
pre-launch operation.

Supported agents

Aether does not install agents - install the agent CLI in your
Environment, the container shell that belongs to you. Built-in agents
cover Claude Code, Codex, pi, OMP, and OpenCode; other CLIs can use a custom
agent definition. Native idle wake is available through the loaded pi and OMP
extensions and a version-matched OpenCode plugin; command hooks deliver at the
next supported boundary instead. Neither a send receipt nor a wake acknowledges mail.
Every built-in agent can also run in Enhanced mode, driven over the Agent Client
Protocol so the dashboard shows its messages, tool calls and permission
requests as native controls: aether run "..." --agent codex --mode enhanced
(enhanced runs).
See per-agent setup and limits and
member environments.

Documentation

Guide
Quickstart Zero to a finished run in ten minutes.
Install The install script, systemd, upgrades, data layout.
Environments Member images, saving, resetting, and persistence.
Networking Tailscale, the edge relay, and plain LAN or VPN.
Edge Reaching a server through an edge with a GitHub sign-in, and running your own edge as a binary or a container.
Teams Joining, roles, workspaces, budgets, attribution.
Agents Per-agent login, configuration, and launch requirements.
Enhanced runs Driving an agent over the Agent Client Protocol: launch, permissions, restarts, the session log.
Agent integration Connecting an unsupported CLI to the durable inbox, boundary hooks, and optional native wake.
Adapters Adding a built-in agent or an output adapter.
Security What the container boundary does and does not do.
Privacy What the Android app and the dashboard store and send.
Notices The licence Aether ships under and what its artifacts bundle.
Local gateway The HTTP/WS surface aether gui serves.
Dashboard SPA The web client's structure.
Coordination How overlapping runs warn and message each other.
MCP bridge The in-container half of coordination.
Failure handling Reboots, disk pressure, stalls, dropped connections - and the knobs.
Testing The E2E scenario suite and its failure-table coverage.
Contributing Build, test, and change the thing.

Building from source

Requires Go 1.26+, GNU make, Bun 1.3+, and Node.js 22+. Bun installs the web
dependencies and drives the scripts; Node.js runs the Next build and
development server.

make build            # static dashboard export, then both binaries into dist/
make test             # unit tests, race detector on
make test-integration # integration tests; needs real Docker and git
make test-native-hooks # native adapter lifecycle regressions; Node.js 22.13+
make release          # cross-compile the full release matrix

The production web build is a Next static export into web/dist, which Go
embeds through web/embed.go. Running the installed server or CLI needs no
Node.js and no Next server. For dashboard development, run
cd web && bun run dev with Node.js 22+ available on PATH.

The server targets Linux (amd64/arm64) and only Linux. The CLI is a supported
client on Linux, macOS, and Windows (amd64/arm64 each), and CI builds, vets,
unit-tests and virus-scans the Windows client on a real Windows runner. Two
commands are not part of the Windows client: aether init, which prepares a
Linux server's data directory and belongs on the server box, and aether update, which has no Windows implementation yet - re-download the release
binary to upgrade. The Windows binaries are not code-signed yet; see
docs/install.md for what
Defender does about that and how to report a detection.
CONTRIBUTING.md has the rest.

License

GPL-3.0

Reviews (0)

No results found