diff --git a/docs/concepts/context.md b/docs/concepts/context.md index 834cc965246..c06b7b7f3d7 100644 --- a/docs/concepts/context.md +++ b/docs/concepts/context.md @@ -112,7 +112,7 @@ By default, OpenClaw injects a fixed set of workspace files (if present): - `HEARTBEAT.md` - `BOOTSTRAP.md` (first-run only) -Large files are truncated per-file using `agents.defaults.bootstrapMaxChars` (default `20000` chars). `/context` shows **raw vs injected** sizes and whether truncation happened. +Large files are truncated per-file using `agents.defaults.bootstrapMaxChars` (default `20000` chars). OpenClaw also enforces a total bootstrap injection cap across files with `agents.defaults.bootstrapTotalMaxChars` (default `24000` chars). `/context` shows **raw vs injected** sizes and whether truncation happened. ## Skills: what’s injected vs loaded on-demand diff --git a/docs/concepts/system-prompt.md b/docs/concepts/system-prompt.md index 1628a7216f7..e74cea5b567 100644 --- a/docs/concepts/system-prompt.md +++ b/docs/concepts/system-prompt.md @@ -71,8 +71,9 @@ compaction. > do not count against the context window unless the model explicitly reads them. Large files are truncated with a marker. The max per-file size is controlled by -`agents.defaults.bootstrapMaxChars` (default: 20000). Missing files inject a -short missing-file marker. +`agents.defaults.bootstrapMaxChars` (default: 20000). Total injected bootstrap +content across files is capped by `agents.defaults.bootstrapTotalMaxChars` +(default: 24000). Missing files inject a short missing-file marker. Sub-agent sessions only inject `AGENTS.md` and `TOOLS.md` (other bootstrap files are filtered out to keep the sub-agent context small). diff --git a/docs/gateway/background-process.md b/docs/gateway/background-process.md index 30f50852df1..9d745a9e884 100644 --- a/docs/gateway/background-process.md +++ b/docs/gateway/background-process.md @@ -46,6 +46,7 @@ Config (preferred): - `tools.exec.timeoutSec` (default 1800) - `tools.exec.cleanupMs` (default 1800000) - `tools.exec.notifyOnExit` (default true): enqueue a system event + request heartbeat when a backgrounded exec exits. +- `tools.exec.notifyOnExitEmptySuccess` (default false): when true, also enqueue completion events for successful backgrounded runs that produced no output. ## process tool @@ -66,7 +67,9 @@ Notes: - Session logs are only saved to chat history if you run `process poll/log` and the tool result is recorded. - `process` is scoped per agent; it only sees sessions started by that agent. - `process list` includes a derived `name` (command verb + target) for quick scans. -- `process log` uses line-based `offset`/`limit` (omit `offset` to grab the last N lines). +- `process log` uses line-based `offset`/`limit`. +- When both `offset` and `limit` are omitted, it returns the last 200 lines and includes a paging hint. +- When `offset` is provided and `limit` is omitted, it returns from `offset` to the end (not capped to 200). ## Examples diff --git a/docs/gateway/configuration-reference.md b/docs/gateway/configuration-reference.md index 0dfe7eb66ae..12f2ab8a002 100644 --- a/docs/gateway/configuration-reference.md +++ b/docs/gateway/configuration-reference.md @@ -581,6 +581,16 @@ Max characters per workspace bootstrap file before truncation. Default: `20000`. } ``` +### `agents.defaults.bootstrapTotalMaxChars` + +Max total characters injected across all workspace bootstrap files. Default: `24000`. + +```json5 +{ + agents: { defaults: { bootstrapTotalMaxChars: 24000 } }, +} +``` + ### `agents.defaults.userTimezone` Timezone for system prompt context (not message timestamps). Falls back to host timezone. @@ -1387,6 +1397,7 @@ Controls elevated (host) exec access: timeoutSec: 1800, cleanupMs: 1800000, notifyOnExit: true, + notifyOnExitEmptySuccess: false, applyPatch: { enabled: false, allowModels: ["gpt-5.2"], diff --git a/docs/reference/token-use.md b/docs/reference/token-use.md index 05562891e01..5b64774664f 100644 --- a/docs/reference/token-use.md +++ b/docs/reference/token-use.md @@ -18,7 +18,7 @@ OpenClaw assembles its own system prompt on every run. It includes: - Tool list + short descriptions - Skills list (only metadata; instructions are loaded on demand with `read`) - Self-update instructions -- Workspace + bootstrap files (`AGENTS.md`, `SOUL.md`, `TOOLS.md`, `IDENTITY.md`, `USER.md`, `HEARTBEAT.md`, `BOOTSTRAP.md` when new, plus `MEMORY.md` and/or `memory.md` when present). Large files are truncated by `agents.defaults.bootstrapMaxChars` (default: 20000). `memory/*.md` files are on-demand via memory tools and are not auto-injected. +- Workspace + bootstrap files (`AGENTS.md`, `SOUL.md`, `TOOLS.md`, `IDENTITY.md`, `USER.md`, `HEARTBEAT.md`, `BOOTSTRAP.md` when new, plus `MEMORY.md` and/or `memory.md` when present). Large files are truncated by `agents.defaults.bootstrapMaxChars` (default: 20000), and total bootstrap injection is capped by `agents.defaults.bootstrapTotalMaxChars` (default: 24000). `memory/*.md` files are on-demand via memory tools and are not auto-injected. - Time (UTC + user timezone) - Reply tags + heartbeat behavior - Runtime metadata (host/OS/model/thinking)