Slash Commands
Messages starting with / are intercepted before reaching the LLM. Use them inline from any channel โ CLI, Telegram, Slack, Discord, WebSocket.
Available commands
| Command | Effect |
|---|---|
/help | List commands |
/new | Start a fresh session (resets messages) |
/reset | Clear current session messages |
/status | Show session info: agent, message count, run state, queue mode |
/agent <mode> | Switch active agent for this session |
/queue <mode> | Set queue mode: steer / followup / collect / default |
/compact [hint] | Summarize old messages to free context |
/stop | Abort the current run |
From the CLI
vesper -q "/status"
vesper -q "/agent bags-hunter"
vesper -q "/reset"From Telegram
Just send the message as text. The bot relays to the gateway which intercepts.
From the API
curl -X POST http://127.0.0.1:18789/agent \
-d '{"sessionKey":"user-123","message":"/status","channel":"rest"}'
# โ {"reply":"๐ Session status\n\n Session: ...","status":"command"}How interception works
The first thing the agent loop does (after intake) is call tryHandleCommand(). If the message starts with / and matches a known command, the handler returns a reply directly โ skipping LLM, lane acquisition, and tools entirely.
Source
Implementation: apps/gateway/src/commands.ts