mirror of
https://github.com/HKUDS/nanobot.git
synced 2026-09-02 09:15:19 +03:00
refactor: simplify cross-session messaging
This commit is contained in:
@@ -2082,7 +2082,7 @@ For API keys, tokens, and other secrets, see [Environment Variables for Secrets]
|
||||
| Option | Default | Description |
|
||||
|--------|---------|-------------|
|
||||
| `tools.restrictToWorkspace` | `false` | When `true`, enables nanobot's application-level workspace guards for workspace-aware tools. File tools resolve paths under the active workspace; selected internal roots can be added as read-only or explicitly write-enabled roots, and media uploads are read-only by default. Shell execution rejects workspace-external `working_dir` values and applies best-effort command path checks, but this is not an OS sandbox. |
|
||||
| `tools.maxSessionMessagesPerMinute` | `6` | Maximum messages one WebUI session may send to other sessions during any rolling 60-second window. Additional sends are rejected to stop runaway agent loops. |
|
||||
| `tools.maxSessionMessagesPerMinute` | `6` | Maximum messages one source session may send during any rolling 60-second window. Additional sends are rejected to stop runaway agent loops. |
|
||||
| `tools.exec.sandbox` | `""` | Sandbox backend for shell commands. Set to `"bwrap"` to wrap exec calls in a [bubblewrap](https://github.com/containers/bubblewrap) sandbox — the process can only see the workspace (read-write) and media directory (read-only); config files and API keys are hidden. Automatically enables workspace restriction for file tools. **Linux only** — requires `bwrap` installed (`apt install bubblewrap`; pre-installed in the Docker image). Not available on macOS or Windows (bwrap depends on Linux kernel namespaces). |
|
||||
| `tools.exec.enable` | `true` | When `false`, the shell `exec` tool is not registered at all. Use this to completely disable shell command execution. |
|
||||
| `tools.exec.timeout` | `60` | Default hard timeout in seconds for shell commands. Config values may exceed the per-call tool cap; set `0` to disable the hard timeout for trusted long-running commands. |
|
||||
|
||||
+11
-15
@@ -79,7 +79,7 @@ This path avoids hand-editing `config.json` for normal setup. Use the reference
|
||||
| Agent activity | See thinking, tool calls, file edits with diffs, command output, and generated artifacts in context |
|
||||
| Workspace | Pick the project workspace before asking for file or shell work |
|
||||
| Access | Choose the access mode for local capabilities allowed by your gateway configuration |
|
||||
| Composer | Send text, images, voice input, slash commands, `@` addresses, and `#` conversation references |
|
||||
| Composer | Send text, images, voice input, slash commands, and `@` mentions for sessions, Apps, or MCP presets |
|
||||
| Channels | Connect and validate chat platforms, install their optional support, and manage saved channel setup |
|
||||
| Apps | Install, test, update, and use local CLI App adapters and MCP presets |
|
||||
| Skills | Inspect and manage installed skills, or discover skills from supported marketplaces |
|
||||
@@ -173,21 +173,17 @@ clients.
|
||||
## Composer
|
||||
|
||||
The composer supports plain messages, image attachments, voice input when
|
||||
transcription is configured, slash commands, and two kinds of structured names:
|
||||
transcription is configured, slash commands, and `@` mentions for installed Apps,
|
||||
MCP presets, or persisted sessions. Sessions have stable handles such as
|
||||
`@mira-1a2b3c4d5e`; titles are display text rather than addresses. Select a session
|
||||
from the menu, or drag it from the sidebar, to attach its structured reference.
|
||||
Typing the same text without selecting it remains plain text.
|
||||
|
||||
- Use `@` to address an installed App, an MCP preset, or another persisted WebUI
|
||||
session. Sessions have globally unique, stable handles such as `@mira`;
|
||||
titles are not part of a handle or the model context. Selecting a session handle
|
||||
lets the current agent send that session an asynchronous message. Agents can also
|
||||
discover handles with `list_sessions` and communicate with `send_session_message`.
|
||||
- Use `#` to reference another conversation's history. Select it from the menu or
|
||||
drag it from the sidebar. Nanobot reads the referenced history only when it is
|
||||
relevant.
|
||||
|
||||
Select a menu item to create either binding. Typing the same text without selecting
|
||||
it remains plain text. Temporary chats cannot address other sessions or attach persisted
|
||||
conversation history. The model badge shows the current model or preset and links
|
||||
to model settings when setup is incomplete.
|
||||
The agent can inspect an attached session with `read_session`. It can discover other
|
||||
persisted sessions with `list_sessions` and send asynchronous messages with
|
||||
`send_session_message`; session messaging is not limited by workspace scope.
|
||||
The model badge shows the current model or preset and links to model settings when
|
||||
setup is incomplete.
|
||||
|
||||
For image generation, configure an image provider first and then use the WebUI
|
||||
image mode from the composer. See [`image-generation.md`](./image-generation.md)
|
||||
|
||||
Reference in New Issue
Block a user