Skip to main content
All docs

Super Agent Console (self-hosted nodes)

Super Agent Console

super-agent-ceo turns any machine — a laptop, a server, a CI box — into a node your organization's AI agents can drive. The /super-agent console is the visual control surface: an "octopus" graph of your operators (the org's agents) and operands (your self-hosted nodes), live status, active runs, and controls.

graph LR
    subgraph Operators["Operators (your agents)"]
        CEO((CEO))
        CTO((CTO))
    end
    subgraph Operands["Operands (your machines)"]
        N1{{"my-laptop · online"}}
        N2{{"build-box · online"}}
        N3{{"old-vm · offline"}}
    end
    CTO -. can drive .- N1
    CTO == "running" ==> N2
    CEO -. can drive .- N1

Who sees what

/super-agent is auth-aware:

Everything is org-scoped on the server: a member of org A never sees org B's nodes. A node's host/IP is shown to org admins only, and is labelled self-reported, unverified (the platform only ever sees the load-balancer IP, never the node's).

Connect a node

# 1. Install the CLI
curl -sSL https://install.agent.ceo/super-agent-ceo | sh

# 2. Authenticate with an org-scoped API key (ahk_…)
super-agent-ceo login --api-key ahk_…

# 3. Connect — it appears in the console within a few seconds
super-agent-ceo connect --name my-laptop

By default a node is locked down: filesystem access is sandboxed to ~/super-agent-ceo/<name>/, bash_run is disabled, and the node refuses operator prompts. Opt in explicitly:

FlagEffect
--allow-fs <path>additionally permit a path outside the sandbox root
--allow-bashexpose the bash_run tool to in-org agents
--prompt-command "claude -p"accept operator prompts, run via this command
--disable-fs-sandbox⚠ turn the filesystem boundary off entirely

The console's node panel reflects exactly what each node authorized.

Run a node on a server (backend mode)

The same binary runs unattended on a server, VM, or in a container. Backend mode differs from local only in the --mode flag and in how the key is supplied — there is no interactive login step:

# The key can come from the environment instead of the keychain.
export SUPER_AGENT_CEO_TOKEN=ace_live_<your-key>

super-agent-ceo connect --name prod-01 --mode backend

connect blocks and holds the connection, so run it under whatever supervises your services. A minimal systemd unit:

[Service]
Type=simple
Environment=SUPER_AGENT_CEO_TOKEN=ace_live_<your-key>
ExecStart=/usr/local/bin/super-agent-ceo connect --name prod-01 --mode backend
Restart=on-failure
RestartSec=10

The node's identity comes from --name on the command line — there is no environment variable for it. The CLI reads exactly two: SUPER_AGENT_CEO_TOKEN and SUPER_AGENT_CEO_API_KEY.

The sandbox defaults are identical to local mode: filesystem access confined to ~/super-agent-ceo/<name>/, bash_run disabled, operator prompts refused. Opt in with the same flags, and remember that a server node is usually the one you want to keep locked down.

Other commands

CommandWhat it does
super-agent-ceo statuswhat this node is doing right now
super-agent-ceo disconnectclean shutdown from anywhere
super-agent-ceo updateupdate the CLI in place
super-agent-ceo install-agentinstall a coding agent (Claude Code, Codex, Gemini)
super-agent-ceo keymanage the stored API key

What the console shows

How a run reaches a node

sequenceDiagram
    participant Op as Operator (CTO agent)
    participant GW as Gateway / NATS
    participant Nd as Operand (my-laptop)
    Op->>GW: invoke_super_agent_ceo("run the tests")
    GW->>Nd: prompt over NATS (org-scoped subject)
    Nd->>Nd: run inside the sandbox
    Nd-->>GW: result
    GW-->>Op: result

Each invocation is recorded as a run, which is what powers the active/recent edges and the per-node runs list.

Related