Back to Nanobot

In-Chat Commands

docs/chat-commands.md

0.2.13.2 KB
Original Source

In-Chat Commands

These commands work inside chat channels and interactive agent sessions:

CommandDescription
/newStop current task and start a new conversation
/stopStop the current task
/restartRestart the bot
/statusShow bot status
/modelShow the current model and available model presets
/model <preset>Switch the runtime model preset for future turns
/dreamRun Dream memory consolidation now
/dream-logShow the latest Dream memory change
/dream-log <sha>Show a specific Dream memory change
/dream-restoreList recent Dream memory versions
/dream-restore <sha>Restore memory to the state before a specific change
/pairingList pending pairing requests
/pairing approve <code>Approve a pairing code
/pairing deny <code>Deny a pending pairing request
/pairing revoke <user_id>Revoke a previously approved user on the current channel
/pairing revoke <channel> <user_id>Revoke a previously approved user on a specific channel
/helpShow available in-chat commands

Pairing

When someone sends a DM to the bot and isn't on the allowlist — whether it's a new user or an existing user on a new channel — nanobot automatically replies with a pairing code (like ABCD-EFGH) that expires in 10 minutes. To grant them access:

text
/pairing approve ABCD-EFGH

To see who's waiting, use /pairing. To remove someone later, use /pairing revoke <user_id> — you can find user IDs in the /pairing list output.

See Configuration: Pairing for the full setup guide.

Model Presets

Use /model to inspect the current runtime model:

text
/model

The response shows the current model, the current preset, and the available preset names. default is always available and represents the model settings from agents.defaults.*.

To switch presets for future turns:

text
/model fast
/model deep
/model default

Preset names come from the top-level modelPresets config. Switching is runtime-only: it does not rewrite config.json, and an in-progress turn keeps using the model it started with. See Configuration: Model presets for setup details.

Periodic Tasks

The gateway wakes up every 30 minutes and checks HEARTBEAT.md in your workspace (~/.nanobot/workspace/HEARTBEAT.md). If the file has tasks under ## Active Tasks, the agent executes them and delivers results to your most recently active chat channel. If there are no active tasks, the heartbeat is skipped silently.

Setup: edit ~/.nanobot/workspace/HEARTBEAT.md (created automatically by nanobot onboard):

markdown
## Active Tasks

- [ ] Check weather forecast and send a summary
- [ ] Scan inbox for urgent emails

The agent can also manage this file itself — ask it to "add a periodic task" and it will update HEARTBEAT.md for you. Completed tasks should be deleted from the file, not moved to another section.

Note: The gateway must be running (nanobot gateway) and you must have chatted with the bot at least once so it knows which channel to deliver to.