Releases: sergenes/aaw-core
Release list
aaw-core 0.1.4
A session-lifecycle correctness fix for the "Waiting for N background agents" indicator.
- A
SubagentStarthook event that arrives after its tmux session is gone is dropped instead of resurrecting the just-cleared background-agents state (ids on a stopped session could otherwise linger forever, since theirSubagentStopnever comes). - New
tmux.session_confirmed_gone()requires positive confirmation (the server answers without the session, or no server runs); transient tmux errors count as alive. - The daemon's tmux-gone exit path now clears the background-agents set and mirrors
background_agents: [], matching the /stop, /restart and phone-delete paths. - Test hygiene: the service env test no longer fails when the suite runs inside a bridged session.
aaw-core 0.1.3
Two feed fixes and the relay's tokens hashed at rest (#7, #8).
- /restart keeps the conversation on the phone. Claude and Scoot resume with --continue when the folder has history, and the feed now survives with them; it is cleared only for a genuinely fresh conversation.
- A prompt sent from the phone lands in the feed once, not twice (the daemon's echo and the agent's prompt hook both reported it).
- The relay stores only SHA-256 of device tokens. Clients are unchanged. An existing store migrates itself at startup after writing a rollback snapshot (relay.sqlite.pre-v2) beside it; a relay older than its store refuses to start rather than rejecting every token. See relay/README.md, "Store versions and rollback".
- hello may carry proto, welcome echoes it (1 today): groundwork for future changes that need client coordination.
Self-hosting the relay: update and restart it; the migration runs on its own and logs "store migrated to version 2". Host-side users: update with pipx upgrade aaw-core or the Linux install command; the Mac app bundles this version from its next release.
aaw-core 0.1.2
Detector fixes for Claude Code 2.x (#4), plus README polish (#5).
- The phone's working indicator stays on for the whole Claude turn. Claude Code 2.x shows the input box during a turn and changed its spinner, so the idle detector could mark a busy session idle seconds in; the busy signal is now the "esc to interrupt" row.
- Subagent reports (
<agent-message>turns) no longer show up in the feed as if you had typed them. - The response-scrape filter recognizes the 2.x status-line glyphs.
Update: pipx upgrade aaw-core, or run the Linux install command again. The Mac app bundles this version from its next release.
aaw-core 0.1.1
Relay hardening for internet-facing deployments (#2). If you self-host the relay, update and restart it.
- Incoming frames capped at 1 MiB and rate-budgeted per connection; sockets must say hello within 10 s.
- history responses capped at 1000 events / 8 MiB, newest first.
- A 64 MiB stored-payload quota per computer; events beyond it are refused with an error frame.
- Pushes capped at 20/min per computer; registrations and sockets budgeted per client address.
- A fresh token can no longer claim a live or recently seen computer_id; only an id idle beyond 30 days (a wiped reinstall) rebinds.
- Client-supplied identifier fields are length-checked; refusal messages are generic, with detail in the server log.
Host-side behavior (daemon, hooks, aaw CLI) is unchanged.
aaw-core 0.1.0
The first public release of aaw-core, the engine that runs your coding agents on your own computer and connects them to the Agents At Work phone apps.
It is the same engine the Agents At Work Mac app bundles and the hosted relay runs.
Install
pipx install aaw-core
aaw link # pick a relay, scan the QR code with the phone app
aaw service install # the always-on part
aaw shell-integration on # typing claude, codex, ... in a folder starts a bridged sessionOn Linux, curl -fsSL https://agentsatwork.app/install-linux.sh | bash does all of the above, and replaces the earlier Agents At Work Linux host if it finds one.
What is in it
- The host: a supervisor service (systemd on Linux, launchd on macOS), one daemon per session watching the agent in tmux, and hooks for Claude Code, Codex CLI, Gemini CLI, Grok CLI, Cursor and scoot.
- The
aawcommand line: start, stop and list sessions, read the feed, send and schedule prompts, route permission prompts to the phone. - The relay server, which you can host yourself (
relay/), and which only ever sees ciphertext and routing metadata. - End-to-end encryption (AES-256-GCM) with a key shared once by QR code.
Python 3.11 to 3.13, macOS and Linux. MIT licensed.