SingleIntent

Gateway demo. Server-side proxy to the Gateway as an external client (not the Control UI) — see web/server.mjs.

Active Agents

Sessions running now or ended in the last 10 minutes, from GET /api/activity. Refreshes every 5 seconds.

Work Backlog

Read-only: agents are the only writer of ~/.singleintent/backlog.json (their own file tools directly, no API, no locking — see ~/.singleintent/backlog.README.md). This just displays its current contents.

Raw response

      

Agents List

Raw response

      

Projects


    

Create Agent

Creates an agent with a distinct workspace under the active OpenClaw profile, then onboards it with the instructions below. Project selection controls project access only; it does not choose or contain the workspace. A workspace is a working directory, not a sandbox or security boundary. To create an agent without onboarding, use Register Bot below.

Custom

Register Bot

Project selection records project access; workspace is assigned separately under the active OpenClaw profile as workspace-<agentId>. Workspace is not a sandbox or security boundary.


    

Agent Templates

CRUD only for now — sending a template to an agent is a separate follow-up, not built here.


    

Send Message

Sends via chat.send, then waits for the run to finish and shows the actual reply — not just the ack.

Reply:

      
Raw response:

    

Give Agent Role

Applies a template to an agent by sending it as an instruction to remember, once, ever — this is a one-way binding like project scoping: no re-applying, no changing an agent's role later. To change a role, delete the agent and create a new one.

Reply:

      
Raw response:

    

Create Connection

Points the "from" agent at the "to" agent and asks it to introduce itself using its own agent-to-agent tooling (sessions_send) — the human sets up who connects, agents handle the actual exchange themselves.

Reply:

      
Raw response:

    

List Connections


    

Start Chat

A real, persistent WebSocket to this server for the conversation's duration (not the request/response pattern every other section above uses) — one Gateway connection stays open per chat, streaming live replies back as they happen. See web/server.mjs's /ws/chat handler.

Working Details

Read-only live view of an agent's tool calls, from the /ws/activity relay (web/server.mjs, lib/joylabs-activity-relay.js). Only calls made while watching appear; this is not a history.

System

Health and Gateway restart, from GET /api/system/health and POST /api/system/restart (web/server.mjs, which spawns scripts/system-health.mjs and scripts/system-restart.mjs). Health is data, not a pass/fail: degraded is a normal reading.



      

Restart answers 202 at acceptance — the response does not mean the Gateway came back. The job below is polled until it reaches a terminal state; a new Gateway is proven by /startupz reporting an uptime shorter than the time since the request, not by the port answering.