Skip to content

Commit f6752d0

Browse files
Auto-merge upstream openclaw/openclaw
2 parents 78039b9 + 6286ef5 commit f6752d0

598 files changed

Lines changed: 40697 additions & 6848 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.

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,7 @@ Docs: https://docs.openclaw.ai
194194
- Telegram/local Bot API: preserve media MIME types for absolute-path downloads so local audio files still trigger transcription and other MIME-based handling. (#54603) Thanks @jzakirov
195195
- Channels/WhatsApp: pass inbound message timestamp to model context so the AI can see when WhatsApp messages were sent. (#58590) Thanks @Maninae
196196
- QQBot/voice: lazy-load `silk-wasm` in `audio-convert.ts` so qqbot still starts when the optional voice dependency is missing, while voice encode/decode degrades gracefully instead of crashing at module load time. (#58829) Thanks @WideLee.
197+
- WhatsApp/groups: fix bot waking up on self-number quoted replies in groups with `selfChatMode` enabled. (#60148) Thanks @lurebat
197198

198199
## 2026.3.31
199200

docs/.generated/plugin-sdk-api-baseline.json

Lines changed: 289 additions & 271 deletions
Large diffs are not rendered by default.

docs/.generated/plugin-sdk-api-baseline.jsonl

Lines changed: 246 additions & 244 deletions
Large diffs are not rendered by default.

docs/channels/matrix.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -654,7 +654,7 @@ Matrix can act as an exec approval client for a Matrix account.
654654
- `channels.matrix.execApprovals.agentFilter`
655655
- `channels.matrix.execApprovals.sessionFilter`
656656

657-
Matrix becomes an exec approval client when `enabled` is true and at least one approver can be resolved. Approvers must be Matrix user IDs such as `@owner:example.org`.
657+
Approvers must be Matrix user IDs such as `@owner:example.org`. Matrix auto-enables native exec approvals when `enabled` is unset or `"auto"` and at least one approver can be resolved, either from `execApprovals.approvers` or from `channels.matrix.dm.allowFrom`. Set `enabled: false` to disable Matrix as a native approval client explicitly. Approval requests otherwise fall back to other configured approval routes or the exec approval fallback policy.
658658

659659
Delivery rules:
660660

docs/cli/agents.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ Related:
1313

1414
- Multi-agent routing: [Multi-Agent Routing](/concepts/multi-agent)
1515
- Agent workspace: [Agent workspace](/concepts/agent-workspace)
16+
- Skill visibility config: [Skills config](/tools/skills-config)
1617

1718
## Examples
1819

@@ -31,6 +32,11 @@ openclaw agents delete work
3132

3233
Use routing bindings to pin inbound channel traffic to a specific agent.
3334

35+
If you also want different visible skills per agent, configure
36+
`agents.defaults.skills` and `agents.list[].skills` in `openclaw.json`. See
37+
[Skills config](/tools/skills-config) and
38+
[Configuration Reference](/gateway/configuration-reference#agentsdefaultsskills).
39+
3440
List bindings:
3541

3642
```bash

docs/concepts/agent-workspace.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,8 @@ See [Memory](/concepts/memory) for the workflow and automatic memory flush.
111111

112112
- `skills/` (optional)
113113
- Workspace-specific skills.
114-
- Overrides managed/bundled skills when names collide.
114+
- Highest-precedence skill location for that workspace.
115+
- Overrides project agent skills, personal agent skills, managed skills, bundled skills, and `skills.load.extraDirs` when names collide.
115116

116117
- `canvas/` (optional)
117118
- Canvas UI files for node displays (for example `canvas/index.html`).

docs/concepts/agent.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,14 @@ guidance for how _you_ want them used.
5555

5656
## Skills
5757

58-
OpenClaw loads skills from three locations (workspace wins on name conflict):
58+
OpenClaw loads skills from these locations (highest precedence first):
5959

60-
- Bundled (shipped with the install)
61-
- Managed/local: `~/.openclaw/skills`
6260
- Workspace: `<workspace>/skills`
61+
- Project agent skills: `<workspace>/.agents/skills`
62+
- Personal agent skills: `~/.agents/skills`
63+
- Managed/local: `~/.openclaw/skills`
64+
- Bundled (shipped with the install)
65+
- Extra skill folders: `skills.load.extraDirs`
6366

6467
Skills can be gated by config/env (see `skills` in [Gateway configuration](/gateway/configuration)).
6568

docs/concepts/multi-agent.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,12 @@ Main agent credentials are **not** shared automatically. Never reuse `agentDir`
2727
across agents (it causes auth/session collisions). If you want to share creds,
2828
copy `auth-profiles.json` into the other agent's `agentDir`.
2929

30-
Skills are per-agent via each workspace’s `skills/` folder, with shared skills
31-
available from `~/.openclaw/skills`. See [Skills: per-agent vs shared](/tools/skills#per-agent-vs-shared-skills).
30+
Skills are loaded from each agent workspace plus shared roots such as
31+
`~/.openclaw/skills`, then filtered by the effective agent skill allowlist when
32+
configured. Use `agents.defaults.skills` for a shared baseline and
33+
`agents.list[].skills` for per-agent replacement. See
34+
[Skills: per-agent vs shared](/tools/skills#per-agent-vs-shared-skills) and
35+
[Skills: agent skill allowlists](/tools/skills#agent-skill-allowlists).
3236

3337
The Gateway can host **one agent** (default) or **many agents** side-by-side.
3438

docs/concepts/system-prompt.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,10 @@ prompt instructs the model to use `read` to load the SKILL.md at the listed
110110
location (workspace, managed, or bundled). If no skills are eligible, the
111111
Skills section is omitted.
112112

113+
Eligibility includes skill metadata gates, runtime environment/config checks,
114+
and the effective agent skill allowlist when `agents.defaults.skills` or
115+
`agents.list[].skills` is configured.
116+
113117
```
114118
<available_skills>
115119
<skill>

docs/gateway/configuration-examples.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,7 @@ Save to `~/.openclaw/openclaw.json` and you can DM the bot from that number.
250250
"anthropic/claude-sonnet-4-6": { alias: "sonnet" },
251251
"openai/gpt-5.2": { alias: "gpt" },
252252
},
253+
skills: ["github", "weather"], // inherited by agents that omit list[].skills
253254
thinkingDefault: "low",
254255
verboseDefault: "off",
255256
elevatedDefault: "on",
@@ -308,12 +309,14 @@ Save to `~/.openclaw/openclaw.json` and you can DM the bot from that number.
308309
{
309310
id: "main",
310311
default: true,
312+
// inherits defaults.skills -> github, weather
311313
thinkingDefault: "high", // per-agent thinking override
312314
reasoningDefault: "on", // per-agent reasoning visibility
313315
fastModeDefault: false, // per-agent fast mode
314316
},
315317
{
316318
id: "quick",
319+
skills: [], // no skills for this agent
317320
fastModeDefault: true, // this agent always runs fast
318321
thinkingDefault: "off",
319322
},
@@ -462,6 +465,27 @@ Save to `~/.openclaw/openclaw.json` and you can DM the bot from that number.
462465

463466
## Common patterns
464467

468+
### Shared skill baseline with one override
469+
470+
```json5
471+
{
472+
agents: {
473+
defaults: {
474+
workspace: "~/.openclaw/workspace",
475+
skills: ["github", "weather"],
476+
},
477+
list: [
478+
{ id: "main", default: true },
479+
{ id: "docs", workspace: "~/.openclaw/workspace-docs", skills: ["docs-search"] },
480+
],
481+
},
482+
}
483+
```
484+
485+
- `agents.defaults.skills` is the shared baseline.
486+
- `agents.list[].skills` replaces that baseline for one agent.
487+
- Use `skills: []` when an agent should see no skills.
488+
465489
### Multi-platform setup
466490

467491
```json5

0 commit comments

Comments
 (0)