Skip to content

v0.0.4

Choose a tag to compare

@github-actions github-actions released this 10 Jun 18:33

AgentMux v0.0.4

Anonymous sharing, Direct Token boundaries, Worker lifecycle controls, and release/deployment polish.

Highlights

  • Added anonymous share generation from POST /api/signals.
    • No-token requests mint a tenant-scoped Worker signal plus a Control Direct Token.
    • Registered Control/admin requests mint material for the authenticated tenant.
    • Invalid supplied credentials return 401 instead of silently falling back to anonymous mode.
    • Direct Token credentials cannot generate new signals.
  • Added Direct Token share outputs:
    • direct_token
    • direct_token_expires_at
    • control_share_url
    • control_direct_command
  • Locked Direct Token mode down to simple shared-session access.
    • Allowed: list shared sessions, connect to an existing session, switch sessions.
    • Blocked: create/stop sessions, generate joins, Worker management, previews, targeted panes, version prompts, Worker updates, and registered-account features.
  • Improved Web Control and landing-page generation UX.
    • URLs render as clickable links with copy actions.
    • Signals, Direct Tokens, and commands render as code blocks with copy buttons.
    • Login and signal-generation failures now show readable errors instead of raw response bodies.
  • Added Worker duplication safeguards.
    • Workers now keep a stable local instance id.
    • Reusing the same signal from the same Worker instance is rejected.
    • A Worker refuses to join another Hub while a saved Worker credential exists.
    • agentmux worker leave clears the local Worker credential and stops the background Worker by default.
  • Added Control-side Worker eviction so stale or accidental joins can be removed from the Hub before re-joining.
  • Added Windows Hub-only deployment polish with scripts/run.bat.
  • Updated README, API, deployment, usage, architecture, roadmap, and GitHub metadata to match the current implementation.

Anonymous Share Flow

Open a Hub landing page and click Generate:

https://hub.example.com/

Use the generated Worker command on the machine that owns the local sessions:

curl -fsSL https://hub.example.com/install.sh | sh -s -- worker --join 'amx_sig_...' --name "$(hostname)"

Then open the generated Web Control share URL:

https://hub.example.com/control?token=amx_cred_...

Or use the same Direct Token from TUI:

agentmux-tui --hub https://hub.example.com --token 'amx_cred_...'

Direct Token mode is intentionally narrow. It is for anonymous shared access to already-created sessions, not for Hub administration.

Registered Control Mode

Sign in or register in Web Control for the full management surface:

  • create and stop sessions
  • generate Worker join signals
  • manage and evict Workers
  • use previews and workspaces
  • see version/update prompts
  • queue remote Worker updates

Direct Token mode does not expose these registered-account capabilities.

Worker Lifecycle

Use worker leave before moving a Worker instance to another Hub:

agentmux worker leave
agentmux worker join --hub https://hub.example.com --join 'amx_sig_...' --name "$(hostname)"

If a Worker was accidentally joined and is still visible in Control, evict it from Web Control or via:

agentmux control evict --hub https://hub.example.com --worker local

Windows Hub Helper

The Windows helper moved under scripts:

scripts\run.bat

It looks for agentmux-hub.exe, agentmux-hub-windows-amd64.exe, or agentmux.exe in the release/check-out root, starts Hub on 127.0.0.1:8081, and sets --public-url https://agentmux.kinboy.wang.

Compatibility Notes

  • Existing registered Control credentials continue to work.
  • Existing Worker join commands continue to work, but duplicate signal use from the same local Worker instance is now rejected.
  • Direct Token clients should not expect Worker, preview, workspace, create/join, or update APIs to be available.
  • Hub-only Windows release assets are supported. Worker and terminal Control are still primarily Linux/macOS paths.