Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion AGENT_README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
> Designed for AI agents and human contributors.
> This document **complements** `AGENTS.md` (the repo's canonical agent guidelines file, symlinked as `CLAUDE.md`). Load both before starting work. When build/test commands differ, `AGENTS.md` is authoritative.
> Tracks published OpenClaw releases. Current package version: check `package.json` (`"version"`). Gotchas are versioned — read only the sections that apply to the release you are targeting.
> **Current docs version: v2026.5.7-2 (2026-05-11).** Latest published upstream stable release: v2026.5.7 (published 2026-05-07 20:57:43 UTC).
> **Current docs version: v2026.5.7-3 (2026-05-13).** Latest published upstream stable release: v2026.5.7 (published 2026-05-07 20:57:43 UTC).

---

Expand Down
2 changes: 1 addition & 1 deletion ARCHITECTURE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# OpenClaw — Master Architecture Document

> Updated: 2026-05-11 (docs snapshot: v2026.5.7-2) | Released baseline: GitHub `v2026.5.7` (published 2026-05-07 20:57:43 UTC)
> Updated: 2026-05-13 (docs snapshot: v2026.5.7-3) | Released baseline: GitHub `v2026.5.7` (published 2026-05-07 20:57:43 UTC)

---

Expand Down
19 changes: 19 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,25 @@ Release policy: this file tracks published releases only (stable tags). It does

---

## OpenClaw v2026.5.7-3 — Docs Correction Summary

> **Released:** 2026-05-13 (docs correction) | upstream GitHub release `v2026.5.7` unchanged, published 2026-05-07 20:57:43 UTC | **Validated against:** `v2026.5.7`

### Corrections

- **Channels (`v2026.5.7`):** corrected `telegram` error policy enum (`always|once|silent`) and the 14400000 ms (4 h) default cooldown; `feishu` outbound chunking default raised to `4000` chars and pairing default flagged; `matrix` streaming mode enum now lists `progress`; `tlon` private-network knob renamed to `network.dangerouslyAllowPrivateNetwork`; `bluebubbles` audio fallback default flipped to `true`; `qqbot` voice docs narrowed to STT-only (no TTS in v2026.5.7 source).
- **Providers (`v2026.5.7`):** Anthropic CLI default model bumped to `claude-opus-4-7`; OpenAI default TTS voice corrected from `coral` to `alloy`; Groq catalog example replaced (`Mixtral 8x7B` → `Mistral Saba 24B`); Mistral page stray Z.AI auth line removed; Moonshot endpoint table accepts both `MOONSHOT_API_KEY` and `KIMI_API_KEY`; Z.AI auth surface adds `Z_AI_API_KEY` alias; xAI legacy `grok-4.20-experimental-beta-0304-{reasoning,non-reasoning}` aliases restored; OpenRouter ref list reworded as illustrative (manifest has no static catalog).
- **Plugins/SDK (`v2026.5.7`):** added 5 missing source-only plugins (active-memory, device-pair, phone-control, talk-voice, thread-ownership) to plugin inventory and reference tables; SDK overview tightened to clarify channel-branded subpaths (`discord`, `matrix`, `telegram-account`, `telegram-command-config`) are bundled-plugin internal seams — Slack/Signal/WhatsApp seams do not exist.
- **Analysis snapshots:** restamped 10 analysis pages from the `v2026.5.5` baseline to `v2026.5.7` (2026-05-13), keeping in-body historical release-window references intact.
- **Tools and snippets:** documented the `timeout` clamp on `exec` poll and the `hex`/`literal` send-keys variants per `bash-tools.schemas.ts`; refreshed `snippets/plugin-publish/minimal-package.json` to the `v2026.5.7` plugin manifest compat/build baseline.
- **Prerelease exclusion note:** refreshed the stable-docs note to exclude current upstream prereleases through the latest GitHub-published prerelease `v2026.5.12-beta.3` (source tag `v2026.5.10-beta.6` exists in the upstream tree but is not published as a GitHub release).

### Prerelease Note

- Upstream `v2026.5.9-beta.1`, `v2026.5.10-beta.1` through `v2026.5.10-beta.5`, and `v2026.5.12-beta.1` through `v2026.5.12-beta.3` are prereleases. Source tag `v2026.5.10-beta.6` exists in the upstream git tree but is not a GitHub release. All are intentionally excluded from this stable docs snapshot.

---

## OpenClaw v2026.5.7-2 — Docs Correction Summary

> **Released:** 2026-05-11 (docs correction) | upstream GitHub release `v2026.5.7` unchanged, published 2026-05-07 20:57:43 UTC | **Validated against:** `v2026.5.7`
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Comprehensive codebase documentation for [OpenClaw](https://github.com/openclaw/openclaw) — the open-source AI agent platform.

**Latest published upstream stable release: v2026.5.7 (published 2026-05-07 20:57:43 UTC).**
**Current validated docs snapshot: v2026.5.7-2 (validated against `v2026.5.7`).**
**Current validated docs snapshot: v2026.5.7-3 (validated against `v2026.5.7`).**

**Scope policy:** this repository documents published releases only. It does not document unreleased `main` branch changes, betas, or speculative future behavior.

Expand Down Expand Up @@ -56,6 +56,7 @@ Both models independently confirmed the reference doc significantly reduced time
## Versioning

Each documented release tracks an OpenClaw stable release line. Docs-only rereleases append a suffix like `-1`, `-2`, etc. while keeping the same validated upstream release; same-base npm correction builds are noted inside the matching docs snapshot rather than treated as separate published GitHub releases:
- `v2026.5.7-3` (2026-05-13, docs correction) - Same upstream baseline as `v2026.5.7`; corrected channel defaults and key names (telegram error policy enum/cooldown, feishu pairing/chunking, matrix streaming `progress`, tlon `network.dangerouslyAllowPrivateNetwork`, bluebubbles audio default, qqbot STT-only), provider catalogs and aliases (anthropic CLI default to `claude-opus-4-7`, OpenAI TTS default to `alloy`, Groq catalog example, Moonshot `KIMI_API_KEY` alias, Z.AI `Z_AI_API_KEY` alias, xAI legacy aliases, OpenRouter ref list wording), added 5 missing source-only plugin entries (active-memory, device-pair, phone-control, talk-voice, thread-ownership), tightened SDK channel-branded seam list, restamped 10 analysis pages from `v2026.5.5` baseline to `v2026.5.7`, documented `exec` `timeout` clamp and `hex`/`literal` send-keys variants, refreshed plugin-publish snippet to `v2026.5.7` baseline, and refreshed prerelease exclusion notes through `v2026.5.12-beta.3` (source tag `v2026.5.10-beta.6` excluded). No upstream stable behavior changes.
- `v2026.5.7-2` (2026-05-11, docs correction) - Same upstream baseline as `v2026.5.7`; restored released `v2026.5.7` docs pages that were missing or stale in the publish repo across channels, providers, plugins, CLI, reference, automation, concepts, gateway, tools, and web docs; refreshed prerelease exclusion notes through source tag `v2026.5.10-beta.4`. No upstream stable behavior changes.
- `v2026.5.7-1` (2026-05-11, docs correction) - Same upstream baseline as `v2026.5.7`; corrected release metadata for upstream `v2026.5.5` to use the GitHub `publishedAt` timestamp (`2026-05-06 09:00:55 UTC`), refreshed prerelease exclusion notes through `v2026.5.10-beta.3`, and corrected stable inventory counts to use the released `v2026.5.7` tag instead of unreleased branch data. No upstream behavior changes.
- `v2026.5.7` (2026-05-10, docs release) - Synced snapshot to upstream `v2026.5.7` (published 2026-05-07 20:57:43 UTC; window `v2026.5.5..v2026.5.7`, 93 commits). Pure fix sync covering stable `v2026.5.6` and `v2026.5.7`. Key fixes: `openai/chat-latest` direct API-key model override; `cron list --json` and `cron show --json` computed `status`; `channels list` channel-only output plus `--all`; native command owner enforcement; admin-only global Active Memory toggles; stale skills snapshot clearing during `/new` and `sessions.reset`; before-tool-call authorization for inline skill dispatch; Tavily SecretRef runtime resolution; managed plugin npm override/peer handling; context-engine cache invalidation; Discord provider-prefixed channel targets and voice permission audits; compaction max-token clamping; cron doctor repair for invalid persisted model sentinels; Telegram access-group allowlists, polling watchdog, same-chat message delivery, and dotted provider-id model buttons; stale Gateway task/reload reconciliation; WhatsApp LID mapping and media directive dedupe; Codex/native approval decision validation; model provider replay and APNG/Gemini/custom-key fixes.
Expand Down
2 changes: 1 addition & 1 deletion analysis/agent-system.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# OpenClaw Codebase Analysis — Part 2: Agent System
<!-- markdownlint-disable MD024 -->

> Updated: 2026-05-06 | Version: v2026.5.5 | Codebase: OpenClaw release tag `v2026.5.5`
> Updated: 2026-05-13 | Version: v2026.5.7 | Codebase: OpenClaw release tag `v2026.5.7`

## 1. `src/agents/` — Agent Execution, Tool System, PI Tools

Expand Down
2 changes: 1 addition & 1 deletion analysis/channels.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# OpenClaw Channels & Messaging — Comprehensive Analysis
<!-- markdownlint-disable MD024 MD028 -->

> Updated: 2026-05-06 | Version: v2026.5.5 | Codebase: OpenClaw release tag `v2026.5.5`
> Updated: 2026-05-13 | Version: v2026.5.7 | Codebase: OpenClaw release tag `v2026.5.7`
> Modules analyzed: `extensions/telegram`, `extensions/discord`, `extensions/signal`, `extensions/slack`, `extensions/whatsapp`, `extensions/imessage`, `extensions/line`, `extensions/feishu`, `extensions/matrix`, `extensions/msteams`, `extensions/bluebubbles`, plus shared `src/channels` and `src/routing`

> **Release boundary note:** current released implementations for Telegram, Discord, Slack, Signal, WhatsApp, iMessage, Feishu, Matrix, and QQ Bot live under `extensions/*`. Shared channel infrastructure remains in `src/channels`, `src/routing`, `src/line`, and adjacent core modules.
Expand Down
2 changes: 1 addition & 1 deletion analysis/cli-config-infra.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# OpenClaw CLI, Config & Infrastructure — Comprehensive Analysis
<!-- markdownlint-disable MD024 -->

> Updated: 2026-05-06 | Version: v2026.5.5 | Codebase: OpenClaw release tag `v2026.5.5` | Cluster: CLI, CONFIG & INFRASTRUCTURE
> Updated: 2026-05-13 | Version: v2026.5.7 | Codebase: OpenClaw release tag `v2026.5.7` | Cluster: CLI, CONFIG & INFRASTRUCTURE

---

Expand Down
2 changes: 1 addition & 1 deletion analysis/cli-tools-media.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# OpenClaw Codebase Analysis — PART 4: CLI, TOOLS & MEDIA
<!-- markdownlint-disable MD024 -->

> Updated: 2026-05-06 | Version: v2026.5.5 | Codebase: OpenClaw release tag `v2026.5.5`
> Updated: 2026-05-13 | Version: v2026.5.7 | Codebase: OpenClaw release tag `v2026.5.7`

## Overview

Expand Down
2 changes: 1 addition & 1 deletion analysis/core-engine.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# OpenClaw Core Engine — Comprehensive Analysis
<!-- markdownlint-disable MD024 -->

> Updated: 2026-05-06 | Version: v2026.5.5 | Codebase: OpenClaw release tag `v2026.5.5`
> Updated: 2026-05-13 | Version: v2026.5.7 | Codebase: OpenClaw release tag `v2026.5.7`
> Modules: agents (1,172 files), gateway (472 files), tasks (44 files), sessions (17 files), routing (11 files), hooks (52 files), context-engine (7 files)

---
Expand Down
4 changes: 2 additions & 2 deletions analysis/gateway-config-infra.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# OpenClaw Core Architecture — Part 1: Module Analysis
<!-- markdownlint-disable MD024 -->

**Updated:** 2026-05-06 | **Version:** v2026.5.5
**Codebase:** OpenClaw release tag `v2026.5.5`
**Updated:** 2026-05-13 | **Version:** v2026.5.7
**Codebase:** OpenClaw release tag `v2026.5.7`
**Total lines (6 modules):** release-tag snapshot across gateway/config/infra/daemon/routing/types

---
Expand Down
2 changes: 1 addition & 1 deletion analysis/memory-cron-media.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# OpenClaw Analysis: Memory, Cron & Media Cluster
<!-- markdownlint-disable MD024 -->

> Updated: 2026-05-06 | Version: v2026.5.5 | Codebase: OpenClaw release tag `v2026.5.5`
> Updated: 2026-05-13 | Version: v2026.5.7 | Codebase: OpenClaw release tag `v2026.5.7`
> Release note: the current released memory surface is split across `src/memory-host-sdk/` and `extensions/memory-core/src/memory/`. Historical `src/memory/` references below describe the older pre-split layout and should be read as historical context only.

---
Expand Down
2 changes: 1 addition & 1 deletion analysis/security-plugins.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# OpenClaw Codebase Analysis — PART 5: Security, Plugins & Extensions
<!-- markdownlint-disable MD024 -->

> Updated: 2026-05-06 | Version: v2026.5.5 | Codebase: OpenClaw release tag `v2026.5.5`
> Updated: 2026-05-13 | Version: v2026.5.7 | Codebase: OpenClaw release tag `v2026.5.7`

## 1. `src/security/` — Security Guards, Audit, SSRF, Auth

Expand Down
2 changes: 1 addition & 1 deletion analysis/security-web-browser.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# OpenClaw Codebase Analysis: Security, Web Search, WhatsApp & Browser Cluster
<!-- markdownlint-disable MD024 -->

> Updated: 2026-05-06 | Version: v2026.5.5 | Codebase: OpenClaw release tag `v2026.5.5` | Modules: security, web-search, extensions/whatsapp, extensions/browser, canvas-host, plugins, plugin-sdk, acp
> Updated: 2026-05-13 | Version: v2026.5.7 | Codebase: OpenClaw release tag `v2026.5.7` | Modules: security, web-search, extensions/whatsapp, extensions/browser, canvas-host, plugins, plugin-sdk, acp

---

Expand Down
2 changes: 1 addition & 1 deletion analysis/utils-support.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Utilities & Support Modules — Comprehensive Analysis
<!-- markdownlint-disable MD024 -->

**Updated:** 2026-05-06 | **Version:** v2026.5.5 | **Codebase:** OpenClaw release tag `v2026.5.5`
**Updated:** 2026-05-13 | **Version:** v2026.5.7 | **Codebase:** OpenClaw release tag `v2026.5.7`
**Cluster:** Utilities & Support Modules
**Total files analyzed:** stable release-line snapshot across 14 support modules plus `apps/macos`

Expand Down
4 changes: 2 additions & 2 deletions docs/channels/bluebubbles.md
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ openclaw channels add bluebubbles --http-url http://192.168.1.100:1234 --passwor

BlueBubbles group webhooks often only include raw participant addresses. If you want `GroupMembers` context to show local contact names instead, you can opt in to local Contacts enrichment on macOS:

- `channels.bluebubbles.enrichGroupParticipantsFromContacts = true` enables the lookup. Default: `false`.
- `channels.bluebubbles.enrichGroupParticipantsFromContacts = false` disables the lookup. Default: `true` (lookup enabled when running on macOS).
- Lookups run only after group access, command authorization, and mention gating have allowed the message through.
- Only unnamed phone participants are enriched.
- Raw phone numbers remain as the fallback when no local match is found.
Expand Down Expand Up @@ -555,7 +555,7 @@ Full configuration: [Configuration](/gateway/configuration)
- `channels.bluebubbles.allowFrom`: DM allowlist (handles, emails, E.164 numbers, `chat_id:*`, `chat_guid:*`).
- `channels.bluebubbles.groupPolicy`: `open | allowlist | disabled` (default: `allowlist`).
- `channels.bluebubbles.groupAllowFrom`: Group sender allowlist.
- `channels.bluebubbles.enrichGroupParticipantsFromContacts`: On macOS, optionally enrich unnamed group participants from local Contacts after gating passes. Default: `false`.
- `channels.bluebubbles.enrichGroupParticipantsFromContacts`: On macOS, enrich unnamed group participants from local Contacts after gating passes. Default: `true`.
- `channels.bluebubbles.groups`: Per-group config (`requireMention`, etc.).

</Accordion>
Expand Down
8 changes: 4 additions & 4 deletions docs/channels/feishu.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Requires OpenClaw 2026.4.25 or above. Run `openclaw --version` to check. Upgrade
Configure `dmPolicy` to control who can DM the bot:

- `"pairing"` — unknown users receive a pairing code; approve via CLI
- `"allowlist"` — only users listed in `allowFrom` can chat (default: bot owner only)
- `"allowlist"` — only users listed in `allowFrom` can chat
- `"open"` — allow public DMs only when `allowFrom` includes `"*"`; with restrictive entries, only matching users can chat
- `"disabled"` — disable all DMs

Expand Down Expand Up @@ -418,14 +418,14 @@ Full configuration: [Gateway configuration](/gateway/configuration)
| `channels.feishu.accounts.<id>.appSecret` | App Secret | — |
| `channels.feishu.accounts.<id>.domain` | Per-account domain override | `feishu` |
| `channels.feishu.accounts.<id>.tts` | Per-account TTS override | `messages.tts` |
| `channels.feishu.dmPolicy` | DM policy | `allowlist` |
| `channels.feishu.allowFrom` | DM allowlist (open_id list) | [BotOwnerId] |
| `channels.feishu.dmPolicy` | DM policy | `pairing` |
| `channels.feishu.allowFrom` | DM allowlist (open_id list) | |
| `channels.feishu.groupPolicy` | Group policy | `allowlist` |
| `channels.feishu.groupAllowFrom` | Group allowlist | — |
| `channels.feishu.requireMention` | Require @mention in groups | `true` |
| `channels.feishu.groups.<chat_id>.requireMention` | Per-group @mention override; explicit IDs also admit the group in allowlist mode | inherited |
| `channels.feishu.groups.<chat_id>.enabled` | Enable/disable a specific group | `true` |
| `channels.feishu.textChunkLimit` | Message chunk size | `2000` |
| `channels.feishu.textChunkLimit` | Message chunk size | `4000` |
| `channels.feishu.mediaMaxMb` | Media size limit | `30` |
Comment on lines 426 to 429
| `channels.feishu.streaming` | Streaming card output | `true` |
| `channels.feishu.blockStreaming` | Completed-block reply streaming | `false` |
Expand Down
1 change: 1 addition & 0 deletions docs/channels/matrix.md
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,7 @@ form:
| `"off"` (default) | Wait for the full reply, send once. `true` ↔ `"partial"`, `false` ↔ `"off"`. |
| `"partial"` | Edit one normal text message in place as the model writes the current block. Stock Matrix clients may notify on the first preview, not the final edit. |
| `"quiet"` | Same as `"partial"` but the message is a non-notifying notice. Recipients only get a notification once a per-user push rule matches the finalized edit (see below). |
| `"progress"` | Live "thinking" / tool-progress label edits in place (uses `streaming.progress.labels`, `maxLines`, `toolProgress`). Falls back to final-only delivery once the answer arrives. |

`blockStreaming` is independent of `streaming`:

Expand Down
Loading