mirror of
https://github.com/HKUDS/nanobot.git
synced 2026-06-15 07:14:08 +00:00
* docs: make onboarding friendlier for beginners * docs: build clearer documentation paths Maintainer edit: turn the onboarding follow-up into a layered docs structure for first-time setup, provider selection, troubleshooting, CLI reference, and source-level architecture. This keeps quick start focused while giving advanced users precise reference paths. * docs: render architecture flow with mermaid Maintainer edit: replace the ASCII architecture sketch with a GitHub-rendered Mermaid flowchart so the core runtime path is easier to scan in the PR and README docs. * docs: recommend model presets for model config Maintainer edit: make named modelPresets the primary model configuration path and expand fallback preset examples so string fallbacks are clearly preset names, not raw model IDs. * docs: document api base urls and langfuse setup Maintainer edit: explain when users need apiBase/base URL in quick start and provider docs, and add Langfuse tracing setup with troubleshooting links. * docs: use python module pip consistently Maintainer edit: keep install commands tied to the active Python interpreter by using python -m pip in the Azure optional dependency notes too. * docs: add non-technical getting started path Maintainer edit: add a wizard-first guide for users without terminal or JSON background, including a text TUI menu example and links from the main docs entrypoints. * docs: avoid hard-wrapped prose in user docs Maintainer edit: unwrap ordinary prose across user-facing documentation while preserving markdown structure, code blocks, tables, lists, and prompt/template files. * docs: keep desktop list continuations nested Maintainer edit: preserve list nesting after unwrapping prose in the desktop WebUI sync guide. * docs: add one-command installer Maintainer edit: add auditable macOS/Linux and Windows install scripts that install nanobot-ai and start the onboarding wizard, then document the commands in the main onboarding entrypoints. * docs: add installer dry run mode Maintainer edit: add --dry-run to the one-command installer scripts so users can preview Python detection, install source, pip command, and wizard behavior without changing their environment. * docs: clean installer error output Maintainer edit: make PowerShell installer failures print a concise Error: message instead of Write-Error call-site details. * docs: add provider setup cookbook Maintainer edit: add pasteable provider recipes for common hosted, local, fallback, runtime switching, and Langfuse setups, then link the cookbook from onboarding and troubleshooting entrypoints. * docs: address review feedback * docs: clarify reader paths * docs: explain terminal basics for beginners * docs: clarify wizard navigation * docs: avoid duplicate onboarding steps * docs: add setup status check * docs: explain status output * docs: remove provider recommendation wording * docs: explain status diagnostics * docs: reduce hard-wrapped guidance * docs: migrate config examples to presets * docs: clarify python command fallbacks * docs: improve installer failure recovery * docs: expand install troubleshooting * docs: cover installer download failures * docs: put stable install paths first * docs: add bundled webui quick path * docs: clarify provider-neutral setup * docs: clarify gateway setup for chat surfaces * docs: improve docs navigation paths * docs: add configuration quick jump * docs: clarify provider secret variables * chore: request PR review acknowledgement Empty commit: please read the PR review comments and reply on the PR to confirm that you have received them. This commit intentionally changes no files; it exists only to notify the remote Codex run so it can end its active goal. * docs: add README start here guide * docs: avoid provider recommendation wording * docs: guide next steps after first reply * docs: explain merging JSON snippets * docs: add CLI command chooser * docs: add configuration task map * docs: add deployment readiness guide * docs: simplify WebUI entry paths * docs: add provider recipe chooser * docs: fix provider factual references Update OpenRouter and LongCat model examples, align Bedrock guidance, and make fallback snippets schema-valid. Also correct group policy wording and image-generation provider lists to match the current code. * fix: keep PowerShell installer from closing caller shell * docs: mention self-guided configuration
89 lines
3.9 KiB
Markdown
89 lines
3.9 KiB
Markdown
# In-Chat Commands
|
|
|
|
These commands work inside chat channels and interactive agent sessions:
|
|
|
|
| Command | Description |
|
|
|---------|-------------|
|
|
| `/new` | Stop current task and start a new conversation |
|
|
| `/stop` | Stop the current task |
|
|
| `/restart` | Restart the bot |
|
|
| `/status` | Show bot status |
|
|
| `/model` | Show the current model and available model presets |
|
|
| `/model <preset>` | Switch the runtime model preset for future turns |
|
|
| `/dream` | Run Dream memory consolidation now |
|
|
| `/dream-log` | Show the latest Dream memory change |
|
|
| `/dream-log <sha>` | Show a specific Dream memory change |
|
|
| `/dream-restore` | List recent Dream memory versions |
|
|
| `/dream-restore <sha>` | Restore memory to the state before a specific change |
|
|
| `/skill` | List enabled skills and their descriptions |
|
|
| `/pairing` | List 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 |
|
|
| `/help` | Show 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](./configuration.md#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. Named presets come from the top-level `modelPresets` config and are the recommended way to configure model choices. `default` is always available and represents the model settings from direct `agents.defaults.*` fields.
|
|
|
|
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](./configuration.md#model-presets) for setup details.
|
|
|
|
## Periodic Tasks
|
|
|
|
Periodic tasks are driven by `HEARTBEAT.md` in your workspace (`~/.nanobot/workspace/HEARTBEAT.md`). When `nanobot gateway` starts, it registers a protected heartbeat cron job by default. Every 30 minutes, that job checks the file; if it finds 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.
|
|
|
|
You can change the interval or disable the built-in heartbeat in `~/.nanobot/config.json`:
|
|
|
|
```json
|
|
{
|
|
"gateway": {
|
|
"heartbeat": {
|
|
"enabled": true,
|
|
"intervalS": 1800
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
The heartbeat job is visible in `cron(action="list")` as `heartbeat`, but it is system-managed and cannot be removed with the `cron` tool. To stop it, set `gateway.heartbeat.enabled` to `false` and restart the gateway.
|
|
|
|
> **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.
|