4. Companion-messaging commands
[!ref] Full details in the User Manual, "Companion messaging".
4.1 Commands
| Command | Args | Scope | Description |
|---|---|---|---|
/bind |
<6-digit code> |
DM / Group | Bind this peer to a workspace |
/ws |
<workspace name> |
DM / Group | Persistently switches this peer's bound workspace (persisted to disk, survives restarts); the next message starts a fresh session in the new workspace; unknown names get a reply listing available workspaces. For a one-message switch use the [ws:<workspace>] prefix |
/sessions |
none | DM / Group | List recent sessions (with short ids) |
/new |
[text] |
DM / Group | New session; optional first message |
/s |
<short id> |
DM / Group | Switch to a session (≥4-char prefix) |
/approve |
<id> |
DM / Group | Allow once |
/always |
<id> |
DM / Group | Always allow (write to allow list) |
/deny |
<id> |
DM / Group | Deny |
/stop |
none | DM / Group | Pause this peer's agent responses and terminate running tasks; later messages are no longer forwarded to the agent. The paused state persists across restarts |
/resume |
none | DM / Group | Lift the /stop pause (idempotent; replies the same when not paused) |
/help |
none | DM / Group | List all commands |
Single-message override (prefix tags)
| Prefix | Effect |
|---|---|
[ws:<workspace>] body |
Switch workspace for this one message; restored after |
[s:<short-id>] body |
Switch to that session for this one message; restored after |
4.2 Inbound routing priority
Session selection (matched top-down; first hit wins):
- Explicit
/new [text]— start a new session. - Explicit
/s <short-id>(the inline prefix[s:<short-id>]is equivalent). - The peer's most recently active session.
- First-inbound fallback: a stable session derived from the binding / workspace plus the sender.
Workspace selection: inline [ws:<workspace>] override > the peer's bound workspace > the global default workspace; if none exists, the reply asks you to /bind first.
4.3 Outbound throttling
| Parameter | Default | Description |
|---|---|---|
| Min batch | 200 chars | Send threshold |
| Idle trigger | 3 s | Send if no new chars within this |
| Max single segment | 3800 chars | Avoid the IM per-message cap |
| Markdown filter | On | Auto-strip to plain text |
| Typing indicator | On | "Typing" instead of placeholder |
4.4 Outbound tools
| Tool | Args | Purpose |
|---|---|---|
channels.notify |
workspace_id, text |
Broadcast to all bindings for the workspace |
channels.reply |
session_id, text |
Reply to the originating peer of the session |
channels.send_to |
binding_id (or account+peer), text |
Direct send to a specific peer |
channels.list_bindings |
none | List bindings for the workspace |
channels.list_sessions |
workspace_id |
List sessions deliverable to the workspace |
