Skip to content

Commit 13cee63

Browse files
authored
Merge branch 'openclaw:main' into main
2 parents aafbcf8 + 3bed73d commit 13cee63

94 files changed

Lines changed: 2665 additions & 893 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -459,6 +459,8 @@ jobs:
459459
use-sticky-disk: "false"
460460

461461
- name: Check types and lint and oxfmt
462+
env:
463+
OPENCLAW_LOCAL_CHECK: "0"
462464
run: pnpm check
463465

464466
- name: Strict TS build smoke

.github/workflows/openclaw-npm-release.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,8 @@ jobs:
7171
echo "Publishing openclaw@${PACKAGE_VERSION}"
7272
7373
- name: Check
74+
env:
75+
OPENCLAW_LOCAL_CHECK: "0"
7476
run: pnpm check
7577

7678
- name: Build

AGENTS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@
112112
- Type-check/build: `pnpm build`
113113
- TypeScript checks: `pnpm tsgo`
114114
- Lint/format: `pnpm check`
115+
- Local agent/dev shells default to lower-memory `OPENCLAW_LOCAL_CHECK=1` behavior for `pnpm tsgo` and `pnpm lint`; set `OPENCLAW_LOCAL_CHECK=0` in CI/shared runs.
115116
- Format check: `pnpm format` (oxfmt --check)
116117
- Format fix: `pnpm format:fix` (oxfmt --write)
117118
- Terminology:

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ Docs: https://docs.openclaw.ai
4343
- Memory/QMD: point `QMD_CONFIG_DIR` at the nested `xdg-config/qmd` directory so per-agent collection config resolves correctly. (#39078) Thanks @smart-tinker and @vincentkoc.
4444
- Memory/QMD: include deduplicated default plus per-agent `memorySearch.extraPaths` when building QMD custom collections, so shared and agent-specific extra roots both get indexed consistently. (#57315) Thanks @Vitalcheffe and @vincentkoc.
4545
- Memory/session indexer: include `.jsonl.reset.*` and `.jsonl.deleted.*` transcripts in the memory host session scan while still excluding `.jsonl.bak.*` compaction backups and lock files, so memory search sees archived session history without duplicating stale snapshots. Thanks @hclsys and @vincentkoc.
46+
- CI/dev checks: default local `pnpm check` to a lower-memory typecheck/lint path while keeping CI on the normal parallel path, and harden Telegram test typing/literals around native TypeScript-Go tooling crashes.
4647
- Agents/sandbox: honor `tools.sandbox.tools.alsoAllow`, let explicit sandbox re-allows remove matching built-in default-deny tools, and keep sandbox explain/error guidance aligned with the effective sandbox tool policy. (#54492) Thanks @ngutman.
4748
- LINE/ACP: add current-conversation binding and inbound binding-routing parity so `/acp spawn ... --thread here`, configured ACP bindings, and active conversation-bound ACP sessions work on LINE like the other conversation channels.
4849
- LINE/markdown: preserve underscores inside Latin, Cyrillic, and CJK words when stripping markdown, while still removing standalone `_italic_` markers on the shared text-runtime path used by LINE and TTS. (#47465) Thanks @jackjin1997.
@@ -127,6 +128,9 @@ Docs: https://docs.openclaw.ai
127128
- Telegram/audio: transcode Telegram voice-note `.ogg` attachments before the local `whisper-cli` auto fallback runs, and keep mention-preflight transcription enabled in auto mode when `tools.media.audio` is unset.
128129
- Matrix/direct rooms: recover fresh auto-joined 1:1 DMs without eagerly persisting invite-only `m.direct` mappings, while keeping named, aliased, and explicitly configured rooms on the room path. (#58024) Thanks @gumadeiras.
129130
- TTS: Restore 3.28 schema compatibility and fallback observability. (#57953) Thanks @joshavant.
131+
- Telegram/forum topics: restore reply routing to the active topic and keep ACP `sessions_spawn(..., thread=true, mode="session")` bound to that same topic instead of falling back to root chat or losing follow-up routing. (#56060) Thanks @one27001.
132+
- Config/SecretRef + Control UI: harden SecretRef redaction round-trip restore, block unsafe raw fallback (force Form mode when raw is unavailable), and preflight submitted-config SecretRefs before config write RPC persistence. (#58044) Thanks @joshavant.
133+
- Config/Telegram: migrate removed `channels.telegram.groupMentionsOnly` into `channels.telegram.groups["*"].requireMention` on load so legacy configs no longer crash at startup. (#55336) thanks @jameslcowan.
130134

131135
## 2026.3.28
132136

docs/cli/index.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -905,12 +905,14 @@ Subcommands:
905905

906906
Common RPCs:
907907

908+
- `config.set` (validate + write full config; use `baseHash` for optimistic concurrency)
908909
- `config.apply` (validate + write config + restart + wake)
909910
- `config.patch` (merge a partial update + restart + wake)
910911
- `update.run` (run update + restart + wake)
911912

912913
Tip: when calling `config.set`/`config.apply`/`config.patch` directly, pass `baseHash` from
913914
`config.get` if a config already exists.
915+
Tip: these config write RPCs preflight active SecretRef resolution for refs in the submitted config payload and reject writes when an effectively active submitted ref is unresolved.
914916

915917
## Models
916918

docs/concepts/agent-workspace.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,3 +234,10 @@ Suggested `.gitignore` starter:
234234
[Channel routing](/channels/channel-routing) for routing configuration.
235235
- If `agents.defaults.sandbox` is enabled, non-main sessions can use per-session sandbox
236236
workspaces under `agents.defaults.sandbox.workspaceRoot`.
237+
238+
## Related
239+
240+
- [Standing Orders](/automation/standing-orders) — persistent instructions in workspace files
241+
- [Heartbeat](/gateway/heartbeat) — HEARTBEAT.md workspace file
242+
- [Session](/concepts/session) — session storage paths
243+
- [Sandboxing](/gateway/sandboxing) — workspace access in sandboxed environments

docs/concepts/architecture.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,3 +135,10 @@ Details: [Gateway protocol](/gateway/protocol), [Pairing](/channels/pairing),
135135
- Exactly one Gateway controls a single Baileys session per host.
136136
- Handshake is mandatory; any non‑JSON or non‑connect first frame is a hard close.
137137
- Events are not replayed; clients must refresh on gaps.
138+
139+
## Related
140+
141+
- [Agent Loop](/concepts/agent-loop) — detailed agent execution cycle
142+
- [Gateway Protocol](/gateway/protocol) — WebSocket protocol contract
143+
- [Queue](/concepts/queue) — command queue and concurrency
144+
- [Security](/gateway/security) — trust model and hardening

docs/concepts/compaction.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,3 +84,10 @@ survive.
8484
For advanced configuration (reserve tokens, identifier preservation, custom
8585
context engines, OpenAI server-side compaction), see the
8686
[Session Management Deep Dive](/reference/session-management-compaction).
87+
88+
## Related
89+
90+
- [Session](/concepts/session) — session management and lifecycle
91+
- [Session Pruning](/concepts/session-pruning) — trimming tool results
92+
- [Context](/concepts/context) — how context is built for agent turns
93+
- [Hooks](/automation/hooks) — compaction lifecycle hooks (before_compaction, after_compaction)

docs/concepts/context-engine.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,3 +266,9 @@ OpenClaw resolves when it needs a context engine.
266266

267267
See also: [Compaction](/concepts/compaction), [Context](/concepts/context),
268268
[Plugins](/tools/plugin), [Plugin manifest](/plugins/manifest).
269+
270+
## Related
271+
272+
- [Context](/concepts/context) — how context is built for agent turns
273+
- [Plugin Architecture](/plugins/architecture) — registering context engine plugins
274+
- [Compaction](/concepts/compaction) — summarizing long conversations

docs/concepts/context.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,3 +170,10 @@ pluggable interface, lifecycle hooks, and configuration.
170170
- `System prompt (estimate)` = computed on the fly when no run report exists (or when running via a CLI backend that doesn’t generate the report).
171171

172172
Either way, it reports sizes and top contributors; it does **not** dump the full system prompt or tool schemas.
173+
174+
## Related
175+
176+
- [Context Engine](/concepts/context-engine) — custom context injection via plugins
177+
- [Compaction](/concepts/compaction) — summarizing long conversations
178+
- [System Prompt](/concepts/system-prompt) — how the system prompt is built
179+
- [Agent Loop](/concepts/agent-loop) — the full agent execution cycle

0 commit comments

Comments
 (0)