exec

openclaw models aliases list 2>/dev/null || true


Input: text


Aliases (9):
- glm -> glm/GLM-5
- OpenRouter Auto -> openrouter/auto
- Gemini 2.5 Pro -> openrouter/google/gemini-2.5-pro
- volc -> volcengine/glm-4.7
- jlypx-mini -> openai_proxy/gpt-5.4-mini
- jlypx-54 -> openai_proxy/gpt-5.4
- jt-54 -> jiaotailang/gpt-5.4
- jt-mini -> jiaotailang/gpt-5.4-mini
- jt-codex -> jiaotailang/gpt-5.3-codex


发现一个有点好笑的事实：这些 alias 其实已经在配置里了。
我再补一个小检查，确认 `openai_proxy/gpt-5.4` 这个模型是否也在 provider 的已声明模型列表里，避免“alias 有了但模型没注册”的半残状态。

python - <<'PY'
import json
p='/root/.openclaw/openclaw.json'
with open(p,'r',encoding='utf-8') as f:
    data=json.load(f)
models=data['models']['providers']['openai_proxy']['models']
print('\n'.join(m['id'] for m in models))
PY


/usr/bin/bash: line 1: python: command not found

Command not found


我用 node 再查一遍。


[[reply_to_current]] 我刚查完：**不用改了，这几个 alias 其实已经都在 `agents.defaults.models` 里了。**

现在已有的是：
- `jlypx-54` → `openai_proxy/gpt-5.4`
- `jlypx-mini` → `openai_proxy/gpt-5.4-mini`
- `jt-54` → `jiaotailang/gpt-5.4`
- `jt-mini` → `jiaotailang/gpt-5.4-mini`
- `jt-codex` → `jiaotailang/gpt-5.3-codex`

不过我顺手发现一个小坑：
- `openai_proxy/gpt-5.4` 的 alias 已经配了
- 但 `models.providers.openai_proxy.models` 里 **目前只声明了 `gpt-5.4-mini`**
- 也就是说：`/model jlypx-54` 可能会因为 provider 侧没注册这个模型而不好使

如果你要，我下一步可以直接把 **`openai_proxy` provider 里的 `gpt-5.4` 也补进去**，这样这套 alias 就完整闭环了。✅ 回答完毕


System: [2026-03-23 11:48:47 GMT+8] Slack DM from 李力: 好的，配置进去吧

Conversation info (untrusted metadata):
```json
{
  "message_id": "1774237726.630999",
  "reply_to_id": "1774237726.630999",
  "sender_id": "U0A8ZCK7RJM",
  "sender": "李力",
  "timestamp": "Mon 2026-03-23 11:48 GMT+8"
}
```

Sender (untrusted metadata):
```json
{
  "label": "李力 (U0A8ZCK7RJM)",
  "id": "U0A8ZCK7RJM",
  "name": "李力"
}
```

好的，配置进去吧


我直接把 `openai_proxy/gpt-5.4` 补进配置，做个格式校验，再顺手提交一下 workspace 里的变更。


Successfully replaced text in /root/.openclaw/openclaw.json.


node -e "JSON.parse(require('fs').readFileSync('/root/.openclaw/openclaw.json','utf8')); console.log('openclaw.json OK')"

cd /root/.openclaw/workspace && git status --short && git add AGENTS.md SOUL.md TOOLS.md IDENTITY.md USER.md MEMORY.md HEARTBEAT.md 2>/dev/null || true && git commit -m "chore: save workspace state"


openclaw.json OK


M projects/model-health/bin/model-health.js
 M projects/model-health/config/providers.yaml
 M projects/model-health/reports/latest-check.json
 M projects/model-health/reports/latest-check.md
 M projects/model-health/src/http.js
 M projects/model-health/src/probes.js
 M reports/model-health/latest.json
?? .clawhub/
?? .feishu_outbox.txt
?? .learnings/ERRORS.md
?? .openclaw/
?? BOOTSTRAP.md
?? HEARTBEAT.md
?? IDENTITY.md
?? TOOLS.md
?? USER.md
?? agents/lifemem/
?? insert_use_cases.sh
?? memory/
?? pi_demo
?? pi_demo.c
?? projects/ai_usecase_collector/
?? projects/model-health/.env.local
?? projects/model-health/reports/latest-compare.json
?? projects/model-health/reports/latest-compare.md
?? projects/model-health/src/compare.js
?? projects/model-health/src/model-resolve.js
?? projects/model-health/src/provider-meta.js
?? reports/model-health/model-health-2026-03-21T12-44-02-776Z.json
?? reports/model-health/model-health-2026-03-21T13-42-05-950Z.json
?? scripts/generate_daily_ai_report.mjs
?? scripts/generate_daily_ai_report.sh
?? skills/
[master 115a39e] chore: save workspace state
 4 files changed, 86 insertions(+)
 create mode 100644 HEARTBEAT.md
 create mode 100644 IDENTITY.md
 create mode 100644 TOOLS.md
 create mode 100644 USER.md


[[reply_to_current]] 已经配进去了：`openai_proxy` 现在同时声明了
- `gpt-5.4`
- `gpt-5.4-mini`

我也做了格式校验，`openclaw.json` 没问题。
下一步如果你要让运行中的 Gateway 立即吃到这次配置，记得执行一次：

```bash
openclaw gateway restart
```

顺手一提，我还按工作区要求做了一次 git commit，不过这是 **workspace 仓库** 的提交；`/root/.openclaw/openclaw.json` 本身不在这个仓库里，所以配置文件改动不在那次 commit 里。✅ 回答完毕


System: [2026-03-23 11:58:21 GMT+8] Slack DM from 李力: 好的，先不执行重启了，我现在有几个问题想让你确认一下，请你仔细研究之后给我结果： 1. 刚才为了测试volcengine的glm-4.7是否可以使用，我在slack使用/model切换了，然后会话就没有响应了，我理解这是因为这个模型不能用吗？然后我通过/model再切换回来openai_proxy，还是无法使用，直到我

Conversation info (untrusted metadata):
```json
{
  "message_id": "1774238301.100479",
  "reply_to_id": "1774238301.100479",
  "sender_id": "U0A8ZCK7RJM",
  "sender": "李力",
  "timestamp": "Mon 2026-03-23 11:58 GMT+8"
}
```

Sender (untrusted metadata):
```json
{
  "label": "李力 (U0A8ZCK7RJM)",
  "id": "U0A8ZCK7RJM",
  "name": "李力"
}
```

好的，先不执行重启了，我现在有几个问题想让你确认一下，请你仔细研究之后给我结果：

1. 刚才为了测试volcengine的glm-4.7是否可以使用，我在slack使用/model切换了，然后会话就没有响应了，我理解这是因为这个模型不能用吗？然后我通过/model再切换回来openai_proxy，还是无法使用，直到我重启openclaw才恢复。请问这是什么原因
2. 后来我用openai_proxy的模型之后，突然也陷入了不回复的状态，连status: thinking…都没有回复了。我觉得也想看看这里到底是什么原因，我认为你可能可以在日志里找到迹象
3. 还有一个更大的需求要做：我突然发现我配置的多个channel其实是共享同一套记忆的，能不能给我一些指导（假如openclaw本来就支持的话），把不同的channel用做不同的需求，即让我看到的飞书、微信、slack、qq，就像是四个不同的角色一样


ENOENT: no such file or directory, access '/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/skills/research/SKILL.md'


Question: OpenClaw prior work decisions about sessions shared memory channels personas model switching issues Slack thinking no reply

Question: OpenClaw prior work decisions about sessions shared memory channels personas model switching issues Slack thinking no reply

find /root -path '*research/SKILL.md' -o -path '*/skills/research/SKILL.md' 2>/dev/null | sed -n '1,20p'


Command still running (session mild-wharf, pid 1307365). Use process (list/poll/log/write/kill/clear/remove) for follow-up.


---
name: research
description: "Comprehensive research grounded in web data with explicit citations. Use when you need multi-source synthesis—comparisons, current events, market analysis, detailed reports. "
---
# Research Skill

Conduct comprehensive research on any topic with automatic source gathering, analysis, and response generation with citations.

## Authentication

The script uses OAuth via the Tavily MCP server. **No manual setup required** - on first run, it will:
1. Check for existing tokens in `~/.mcp-auth/`
2. If none found, automatically open your browser for OAuth authentication

> **Note:** You must have an existing Tavily account. The OAuth flow only supports login — account creation is not available through this flow. [Sign up at tavily.com](https://tavily.com) first if you don't have an account.

### Alternative: API Key

If you prefer using an API key, get one at https://tavily.com and add to `~/.claude/settings.json`:
```json
{
  "env": {
    "TAVILY_API_KEY": "tvly-your-api-key-here"
  }
}
```

## Quick Start

> **Tip**: Research can take 30-120 seconds. Press **Ctrl+B** to run in the background.

### Using the Script

```bash
./scripts/research.sh '<json>' [output_file]
```

**Examples:**

```bash
# Basic research
./scripts/research.sh '{"input": "quantum computing trends"}'

# With pro model for comprehensive analysis
./scripts/research.sh '{"input": "AI agents comparison", "model": "pro"}'

# Save to file
./scripts/research.sh '{"input": "market analysis for EVs", "model": "pro"}' ./ev-report.md

# Quick targeted research
./scripts/research.sh '{"input": "climate change impacts", "model": "mini"}'
```

## Parameters

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `input` | string | Required | Research topic or question |
| `model` | string | `"mini"` | Model: `mini`, `pro`, `auto` |

## Model Selection

**Rule of thumb**: "what does X do?" -> mini. "X vs Y vs Z" or "best way to..." -> pro.

| Model | Use Case | Speed |
|-------|----------|-------|
| `mini` | Single topic, targeted research | ~30s |
| `pro` | Comprehensive multi-angle analysis | ~60-120s |
| `auto` | API chooses based on complexity | Varies |

## Examples

### Quick Overview

```bash
./scripts/research.sh '{"input": "What is retrieval augmented generation?", "model": "mini"}'
```

### Technical Comparison

```bash
./scripts/research.sh '{"input": "LangGraph vs CrewAI for multi-agent systems", "model": "pro"}'
```

### Market Research

```bash
./scripts/research.sh '{"input": "Fintech startup landscape 2025", "model": "pro"}' fintech-report.md
```


我先查本地文档和运行日志，把“切模型后失联”和“多渠道分角色”这两件事拆开确认。
这需要一点时间，我会尽量给你一个能落地的结论，而不是猜。

grep -RIn --exclude-dir=node_modules --exclude='*.jsonl*' -E 'sessionKey|chat session|main session|shared session|direct chats|same session|surface|channel.*session|slack:slash|main' /root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs 2>/dev/null | sed -n '1,220p'

grep -RIn --exclude-dir=node_modules -E 'agents.defaults.models|/model|model alias|volcengine|openai_proxy|stuck|thinking|no reply|slack.*streaming|chat.startStream|status thinking' /root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs 2>/dev/null | sed -n '1,260p'


/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/acp.md:28:| Session modes                                                         | Partial     | `session/set_mode` is supported and the bridge exposes initial Gateway-backed session controls for thought level, tool verbosity, reasoning, usage detail, and elevated actions. Broader ACP-native mode/config surfaces are still out of scope. |
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/acp.md:47:- Initial session controls currently surface a focused subset of Gateway knobs:
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/acp.md:55:- Tool follow-along data is best-effort. The bridge can surface file paths that
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/acp.md:71:openclaw acp --session agent:main:main
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/acp.md:77:openclaw acp --session agent:main:main --reset-session
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/acp.md:133:openclaw acp --session agent:main:main
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/acp.md:134:openclaw acp --session agent:design:main
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/acp.md:176:      "command": "env OPENCLAW_HIDE_BANNER=1 OPENCLAW_SUPPRESS_NOTES=1 openclaw acp --url ws://127.0.0.1:18789 --token-file ~/.openclaw/gateway.token --session agent:main:main"
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/acp.md:224:        "agent:design:main"
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/acp.md:248:    "sessionKey": "agent:main:main",
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/agents.md:26:openclaw agents set-identity --agent main --avatar avatars/openclaw.png
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/agents.md:102:openclaw agents set-identity --agent main --name "OpenClaw" --emoji "🦞" --avatar avatars/openclaw.png
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/agents.md:112:        id: "main",
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/approvals.md:39:openclaw approvals allowlist add --agent main --node <id|name|ip> "/usr/bin/uptime"
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/backup.md:74:Large workspaces are usually the main driver of archive size. If you want a smaller or faster backup, use `--no-include-workspace`.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/channels.md:69:- `openclaw channels list` prints `Claude: HTTP 403 ... user:profile` → usage snapshot needs the `user:profile` scope. Use `--no-usage`, or provide a claude.ai session key (`CLAUDE_WEB_SESSION_KEY` / `CLAUDE_WEB_COOKIE`), or re-auth via Claude Code CLI.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/clawbot.md:4:  - You maintain older scripts using `openclaw clawbot ...`
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/config.md:46:Use `--strict-json` to require JSON5 parsing. `--json` remains supported as a legacy alias.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/cron.md:17:Tip: run `openclaw cron --help` for the full command surface.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/cron.md:20:output internal. `--deliver` remains as a deprecated alias for `--announce`.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/daemon.md:13:`openclaw daemon ...` maps to the same service control surface as `openclaw gateway ...` service commands.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/dns.md:5:  - You’re setting up split DNS for a custom discovery domain (example: openclaw.internal)
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/gateway.md:12:The Gateway is OpenClaw’s WebSocket server (channels, nodes, sessions, hooks).
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/gateway.md:40:- `SIGUSR1` triggers an in-process restart when authorized (`commands.restart` is enabled by default; set `commands.restart: false` to block manual restart, while gateway tool/config apply/update remain allowed).
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/gateway.md:184:- Unicast DNS-SD (Wide-Area Bonjour): choose a domain (example: `openclaw.internal.`) and set up split DNS + a DNS server; see [/gateway/bonjour](/gateway/bonjour)
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/index.md:5:  - Documenting new command surfaces
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/index.md:429:- `channels logout`: log out of a channel session (if supported).
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/index.md:668:OpenClaw can surface provider usage/quota when OAuth/API creds are available.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/index.md:723:Uninstall the gateway service + local data (CLI remains).
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/index.md:784:- `gateway status` also surfaces legacy or extra gateway services when it can detect them (`--deep` adds system-level scans). Profile-named OpenClaw services are treated as first-class and aren't flagged as "extra".
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/memory.md:30:openclaw memory status --agent main
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/memory.md:31:openclaw memory index --agent main --verbose
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/nodes.md:46:openclaw nodes run --agent main --node <id|name|ip> --raw "git status"
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/sandbox.md:24:openclaw sandbox explain --session agent:main:main
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/sandbox.md:53:openclaw sandbox recreate --session main       # Specific session
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/sandbox.md:131:        "mode": "all", // off, non-main, all
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/secrets.md:40:- Credential surface: [SecretRef Credential Surface](/reference/secretref-credential-surface)
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/secrets.md:125:- Canonical supported surface: [SecretRef Credential Surface](/reference/secretref-credential-surface).
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/secrets.md:173:If `audit --check` still reports plaintext findings, update the remaining reported target paths and rerun audit.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/security.md:26:The audit warns when multiple DM senders share the main session and recommends **secure DM mode**: `session.dmScope="per-channel-peer"` (or `per-account-channel-peer` for multi-account channels) for shared inboxes.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/security.md:31:For webhook ingress, it warns when `hooks.defaultSessionKey` is unset, when request `sessionKey` overrides are enabled, and when overrides are enabled without `hooks.allowedSessionKeyPrefixes`.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/sessions.md:35:    { "agentId": "main", "path": "/home/user/.openclaw/agents/main/sessions/sessions.json" },
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/sessions.md:42:    { "agentId": "main", "key": "agent:main:main", "model": "gpt-5" },
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/sessions.md:43:    { "agentId": "work", "key": "agent:work:main", "model": "claude-opus-4-5" }
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/sessions.md:48:## Cleanup maintenance
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/sessions.md:50:Run maintenance now (instead of waiting for the next write cycle):
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/sessions.md:57:openclaw sessions cleanup --enforce --active-key "agent:main:telegram:dm:123"
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/sessions.md:61:`openclaw sessions cleanup` uses `session.maintenance` settings from config:
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/sessions.md:63:- Scope note: `openclaw sessions cleanup` maintains session stores/transcripts only. It does not prune cron run logs (`cron/runs/<jobId>.jsonl`), which are managed by `cron.runLog.maxBytes` and `cron.runLog.keepLines` in [Cron configuration](/automation/cron-jobs#configuration) and explained in [Cron maintenance](/automation/cron-jobs#maintenance).
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/sessions.md:67:- `--enforce`: apply maintenance even when `session.maintenance.mode` is `warn`.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/sessions.md:83:      "agentId": "main",
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/sessions.md:84:      "storePath": "/home/user/.openclaw/agents/main/sessions/sessions.json",
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/status.md:4:  - You want a quick diagnosis of channel health + recent session recipients
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/status.md:11:Diagnostics for channels + sessions.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/status.md:26:- Update info surfaces in the Overview; if an update is available, status prints a hint to run `openclaw update` (see [Updating](/install/updating)).
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/status.md:27:- Read-only status surfaces (`status`, `status --json`, `status --all`) resolve supported SecretRefs for their targeted config paths when possible.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/system.md:26:Enqueue a system event on the **main** session. The next heartbeat will inject
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/tui.md:27:openclaw tui --session main --deliver
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/uninstall.md:11:Uninstall the gateway service + local data (CLI remains).
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/update.md:79:- `dev`: checkout `main`, then fetch + rebase.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/cli/voicecall.md:2:summary: "CLI reference for `openclaw voicecall` (voice-call plugin command surface)"
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/web/control-ui.md:86:- Config schema + form rendering (`config.schema`, including plugin + channel schemas); Raw JSON editor remains available
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/web/control-ui.md:96:- For main-session jobs, webhook and none delivery modes are available.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/web/control-ui.md:112:  - `chat.abort` supports `{ sessionKey }` (no `runId`) to abort all active runs for that session
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/web/dashboard.md:21:- [Web surfaces](/web) for bind modes and security notes.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/web/dashboard.md:26:Security note: the Control UI is an **admin surface** (chat, config, exec approvals).
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/web/dashboard.md:43:- **Not localhost**: use Tailscale Serve (tokenless for Control UI/WebSocket if `gateway.auth.allowTailscale: true`, assumes trusted gateway host; HTTP APIs still need token/password), tailnet bind with a token, or an SSH tunnel. See [Web surfaces](/web).
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/web/index.md:2:summary: "Gateway web surfaces: Control UI, bind modes, and security"
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/web/index.md:17:This page focuses on bind modes, security, and web-facing surfaces.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/web/tui.md:45:- Agents are unique slugs (e.g. `main`, `research`). The Gateway exposes the list.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/web/tui.md:47:- Session keys are stored as `agent:<agentId>:<sessionKey>`.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/web/tui.md:48:  - If you type `/session main`, the TUI expands it to `agent:<currentAgent>:main`.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/web/tui.md:49:  - If you type `/session agent:other:main`, you switch to that agent session explicitly.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/web/tui.md:140:- Reconnects show a system message; event gaps are surfaced in the log.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/web/tui.md:147:- `--session <key>`: Session key (default: `main`, or `global` when scope is global)
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/web/webchat.md:15:- Uses the same sessions and routing rules as other channels.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/web/webchat.md:61:- `session.*`: session storage and main key defaults.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/help/faq.md:360:See [Dashboard](/web/dashboard) and [Web surfaces](/web) for bind modes and auth details.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/help/faq.md:442:[https://github.com/openclaw/openclaw/blob/main/CHANGELOG.md](https://github.com/openclaw/openclaw/blob/main/CHANGELOG.md)
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/help/faq.md:456:[https://github.com/openclaw/openclaw/tree/main/docs](https://github.com/openclaw/openclaw/tree/main/docs)
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/help/faq.md:470:[https://github.com/openclaw/openclaw/blob/main/CHANGELOG.md](https://github.com/openclaw/openclaw/blob/main/CHANGELOG.md)
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/help/faq.md:475:**Dev** is the moving head of `main` (git); when published, it uses the npm dist-tag `dev`.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/help/faq.md:512:This switches to the `main` branch and updates from source.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/help/faq.md:982:OpenClaw is a personal AI assistant you run on your own devices. It replies on the messaging surfaces you already use (WhatsApp, Telegram, Slack, Mattermost (plugin), Discord, Google Chat, Signal, iMessage, WebChat) and can also do voice + a live Canvas on supported platforms. The **Gateway** is the always-on control plane; the assistant is the product.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/help/faq.md:1064:Yes. Add extra directories via `skills.load.extraDirs` in `~/.openclaw/openclaw.json` (lowest precedence). Default precedence remains: `<workspace>/skills` → `~/.openclaw/skills` → bundled → `skills.load.extraDirs`. `clawhub` installs into `./skills` by default, which OpenClaw treats as `<workspace>/skills`.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/help/faq.md:1079:return a summary, and keep your main chat responsive.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/help/faq.md:1149:- **Heartbeat** for "main session" periodic checks.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/help/faq.md:1257:Use `agents.defaults.sandbox.mode: "non-main"` so group/channel sessions (non-main keys) run in Docker, while the main DM session stays on-host. Then restrict what tools are available in sandboxed sessions via `tools.sandbox.tools`.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/help/faq.md:1272:- Curated long-term notes in `MEMORY.md` (main/private sessions only)
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/help/faq.md:1534:- **Gateway (central):** owns channels (Signal/WhatsApp), routing, and sessions.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/help/faq.md:1537:- **Sub-agents:** spawn background work from a main agent when you want parallelism.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/help/faq.md:1559:Headless uses the **same Chromium engine** and works for most automation (forms, clicks, scraping, logins). The main differences:
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/help/faq.md:1886:- Use sub-agents for long or parallel work so the main chat stays smaller.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/help/faq.md:2019:Direct chats collapse to the main session by default. Groups/channels have their own session keys, and Telegram topics / Discord threads are separate sessions. See [Groups](/channels/groups) and [Group messages](/channels/group-messages).
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/help/faq.md:2206:1. Upgrade to **2026.1.12** (or run from source `main`), then restart the gateway.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/help/faq.md:2336:- Or copy `auth-profiles.json` from the main agent's `agentDir` into the new agent's `agentDir`.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/help/faq.md:2448:openclaw models auth order set --provider anthropic --agent main anthropic:default
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/help/faq.md:2805:Run `openclaw doctor` to surface risky DM policies.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/help/scripts.md:17:- Prefer CLI surfaces when they exist (example: auth monitoring uses `openclaw models status --check`).
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/help/testing.md:74:  - WebSocket/HTTP surfaces, node pairing, and heavier networking
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/help/troubleshooting.md:228:    - `requests-in-flight` → main lane busy; heartbeat wake was deferred.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/acp-agents.md:6:  - Binding Discord channels or Telegram forum topics to persistent ACP sessions
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/acp-agents.md:49:3. If thread binding is requested and the current channel supports it, bind the ACP session to the thread.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/acp-agents.md:67:When thread bindings are enabled for a channel adapter, ACP sessions can be bound to threads:
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/acp-agents.md:86:- Any channel adapter that exposes session/thread binding capability.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/acp-agents.md:161:      acp: { label: "codex-main" },
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/acp-agents.md:175:      agentId: "main",
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/acp-agents.md:180:      agentId: "main",
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/acp-agents.md:208:- Messages in that channel or topic route to the configured ACP session.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/acp-agents.md:256:  "task": "Continue where we left off — fix the remaining test failures",
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/acp-agents.md:287:   `razor(main)` on `jpclawhq`).
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/acp-agents.md:375:- On non-thread binding surfaces, default behavior is effectively `off`.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/acp-agents.md:562:- OpenClaw startup remains non-blocking while the backend health check runs.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/agent-send.md:18:  - `--to <dest>` derives the session key (group/channel targets preserve isolation; direct chats collapse to `main`), **or**
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/agent-send.md:20:  - `--agent <id>` targets a configured agent directly (uses that agent's `main` session key)
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/agent-send.md:27:- Use `--reply-channel`/`--reply-to`/`--reply-account` to override delivery without changing the session.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/browser-login.md:17:Back to the main browser docs: [Browser](/tools/browser).
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/browser-login.md:51:        mode: "non-main",
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/browser-wsl2-windows-remote-cdp-troubleshooting.md:167:- `0.0.0.0` expands exposure surface
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/browser.md:31:This browser is **not** your daily driver. It is a safe, isolated surface for
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/browser.md:97:- `browser.ssrfPolicy.allowPrivateNetwork` remains supported as a legacy alias for compatibility.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/browser.md:461:- `openclaw browser snapshot --selector "#main" --interactive`
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/browser.md:462:- `openclaw browser snapshot --frame "iframe#main" --interactive`
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/browser.md:487:- `openclaw browser wait "#main" --url "**/dash" --load networkidle --fn "window.ready===true"`
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/browser.md:565:  - `openclaw browser wait "#main"`
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/browser.md:570:openclaw browser wait "#main" \
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/browser.md:614:- Headers: `set headers --headers-json '{"X-Debug":"1"}'` (legacy `set headers --json '{"X-Debug":"1"}'` remains supported)
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/chrome-extension.md:24:OpenClaw then controls the attached tab through the normal `browser` tool surface (selecting the right profile).
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/clawhub.md:20:- A discovery surface for search, tags, and usage signals.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/clawhub.md:116:moderator or maintainer.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/exec-approvals.md:69:    "main": {
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/exec-approvals.md:115:Legacy `agents.default` entries are migrated to `agents.main` on load.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/exec-approvals.md:183:(including safe bins or skill auto-allow). Redirections remain unsupported in allowlist mode.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/exec-approvals.md:283:timeout, the request is treated as an approval timeout and surfaced as a denial reason.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/exec-approvals.md:312:      agentFilter: ["main"],
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/exec-approvals.md:339:that channel as an approval surface just because the conversation happened there.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/exec-approvals.md:374:Exec lifecycle is surfaced as system messages:
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/exec.md:132:Redirections remain unsupported.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/index.md:2:summary: "Agent tool surface for OpenClaw (browser, canvas, nodes, message, cron) replacing legacy `openclaw-*` skills"
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/index.md:398:- Uses the image model directly (independent of the main chat model).
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/index.md:432:- When a message tool call is bound to an active chat session, sends are constrained to that session’s target to avoid cross-context leaks.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/index.md:467:- `config.schema` remains available to internal Control UI flows and is not exposed through the agent `gateway` tool.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/index.md:477:- `sessions_history`: `sessionKey` (or `sessionId`), `limit?`, `includeTools?`
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/index.md:478:- `sessions_send`: `sessionKey` (or `sessionId`), `message`, `timeoutSeconds?` (0 = fire-and-forget)
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/index.md:480:- `session_status`: `sessionKey?` (default current; accepts `sessionId`), `model?` (`default` clears override)
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/index.md:484:- `main` is the canonical direct-chat key; global/unknown are hidden.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/llm-task.md:38:        "id": "main",
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/llm-task.md:57:          "defaultAuthProfileId": "main",
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/lobster.md:32:- **Constrained surface for AI**: A tiny grammar + JSON piping reduces “creative” code paths and makes validation realistic.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/lobster.md:96:        "id": "main",
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/lobster.md:179:        "id": "main",
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/lobster.md:301:The tool surfaces the envelope in both `content` (pretty JSON) and `details` (raw object).
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/multi-agent-sandbox-tools.md:49:        "id": "main",
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/multi-agent-sandbox-tools.md:88:- `main` agent: Runs on host, full tool access
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/multi-agent-sandbox-tools.md:154:        "mode": "non-main", // Global default
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/multi-agent-sandbox-tools.md:160:        "id": "main",
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/multi-agent-sandbox-tools.md:163:          "mode": "off" // Override: main never sandboxed
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/multi-agent-sandbox-tools.md:262:        "mode": "non-main"
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/multi-agent-sandbox-tools.md:284:        "id": "main",
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/multi-agent-sandbox-tools.md:336:## Common Pitfall: "non-main"
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/multi-agent-sandbox-tools.md:338:`agents.defaults.sandbox.mode: "non-main"` is based on `session.mainKey` (default `"main"`),
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/multi-agent-sandbox-tools.md:339:not the agent id. Group/channel sessions always get their own keys, so they
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/multi-agent-sandbox-tools.md:340:are treated as non-main and will be sandboxed. If you want an agent to never
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/plugin.md:17:into core OpenClaw yet (or you want to keep optional features out of your main
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/plugin.md:160:- `openclaw/plugin-sdk/msteams` for the bundled Microsoft Teams plugin surface.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/plugin.md:182:- `openclaw/plugin-sdk` remains supported for existing external plugins.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/plugin.md:184:  subpaths; use `core` for generic surfaces and `compat` only when broader
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/plugin.md:724:Use this when you want a **new chat surface** (a "messaging channel"), not a model provider.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/plugin.md:866:- `nativeNames`: Optional native-command aliases for slash/menu surfaces. Use `default` for all native providers, or provider-specific keys like `discord`
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/skills.md:48:tool surface those skills teach.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/skills.md:96:  - `homepage` — URL surfaced as “Website” in the macOS Skills UI (also supported via `metadata.openclaw.homepage`).
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/skills.md:244:OpenClaw snapshots the eligible skills **when a session starts** and reuses that list for subsequent turns in the same session. Changes to skills or config take effect on the next new session.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/skills.md:252:This relies on the node reporting its command support and on a bin probe via `system.run`. If the macOS node goes offline later, the skills remain visible; invocations may fail until the node reconnects.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/slash-commands.md:26:They run immediately, are stripped before the model sees the message, and the remaining text continues through the normal flow.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/slash-commands.md:51:  - On surfaces without native commands (WhatsApp/WebChat/Signal/iMessage/Google Chat/MS Teams), text commands still work even if you set this to `false`.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/slash-commands.md:103:- `/reset` or `/new [model]` (optional model hint; remainder is passed through)
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/slash-commands.md:137:- **Inline shortcuts (allowlisted senders only):** certain commands also work when embedded in a normal message and are stripped before the model sees the remaining text.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/slash-commands.md:138:  - Example: `hey /status` triggers a status reply, and the remaining text continues through the normal flow.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/slash-commands.md:148:## Usage surfaces (what shows where)
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/slash-commands.md:216:- **Text commands** run in the normal chat session (DMs share `main`, groups have their own session).
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/slash-commands.md:219:  - Slack: `agent:<agentId>:slack:slash:<userId>` (prefix configurable via `channels.slack.slashCommand.sessionPrefix`)
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/slash-commands.md:220:  - Telegram: `telegram:slash:<userId>` (targets the chat session via `CommandTargetSessionKey`)
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/slash-commands.md:221:- **`/stop`** targets the active chat session so it can abort the current run.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/subagents.md:60:- Parallelize "research / long task / slow tool" work without blocking the main run.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/subagents.md:62:- Keep the tool surface hard to misuse: sub-agents do **not** get session tools by default.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/subagents.md:66:tasks, set a cheaper model for sub-agents and keep your main agent on a higher-quality model.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/subagents.md:87:- `thread?` (default `false`; when `true`, requests channel thread binding for this sub-agent session)
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/subagents.md:94:- `sessions_spawn` does **not** accept channel-delivery params (`target`, `channel`, `to`, `threadId`, `replyTo`, `transport`). For delivery, use `message`/`sessions_send` from the spawned run.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/subagents.md:98:When thread bindings are enabled for a channel, a sub-agent can stay bound to a thread so follow-up user messages in that thread keep routing to the same sub-agent session.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/subagents.md:102:- Discord (currently the only supported channel): supports persistent thread-bound subagent sessions (`sessions_spawn` with `thread: true`), manual thread controls (`/focus`, `/unfocus`, `/agents`, `/session idle`, `/session max-age`), and adapter keys `channels.discord.threadBindings.enabled`, `channels.discord.threadBindings.idleHours`, `channels.discord.threadBindings.maxAgeHours`, and `channels.discord.threadBindings.spawnSubagentSessions`.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/subagents.md:141:- `runTimeoutSeconds` does **not** auto-archive; it only stops the run. The session remains until auto-archive.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/subagents.md:146:By default, sub-agents cannot spawn their own sub-agents (`maxSpawnDepth: 1`). You can enable one level of nesting by setting `maxSpawnDepth: 2`, which allows the **orchestrator pattern**: main → orchestrator sub-agent → worker sub-sub-agents.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/subagents.md:169:| 0     | `agent:<id>:main`                            | Main agent                                    | Always                       |
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/subagents.md:178:2. Depth-1 orchestrator receives the announce, synthesizes results, finishes → announces to main
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/subagents.md:186:- **Depth 1 (orchestrator, when `maxSpawnDepth >= 2`)**: Gets `sessions_spawn`, `subagents`, `sessions_list`, `sessions_history` so it can manage its children. Other session/system tools remain denied.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/subagents.md:198:- `/stop` in the main chat stops all depth-1 agents and cascades to their depth-2 children.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/subagents.md:208:- The main agent's auth profiles are merged in as a **fallback**; agent profiles override main profiles on conflicts.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/subagents.md:210:Note: the merge is additive, so main profiles are always available as fallbacks. Fully isolated auth per agent is not supported yet.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/subagents.md:238:- `sessionKey`, `sessionId`, and transcript path (so the main agent can fetch history via `sessions_history` or inspect the file on disk)
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/thinking.md:53:- Tool failure summaries remain visible in normal mode, but raw error detail suffixes are hidden unless verbose is `on` or `full`.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/web.md:38:| **Perplexity Search API** | Structured results with snippets   | `country`, `language`, time, `domain_filter` | Supports content extraction controls; OpenRouter uses Sonar compatibility path | `PERPLEXITY_API_KEY` / `OPENROUTER_API_KEY` |
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/web.md:278:| `domain_filter`       | Domain allowlist/denylist array (Perplexity only)     |
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/web.md:305:// Domain filtering (Perplexity only)
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/web.md:308:  domain_filter: ["nature.com", "science.org", ".edu"],
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/web.md:311:// Exclude domains (Perplexity only)
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/web.md:314:  domain_filter: ["-reddit.com", "-pinterest.com"],
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/tools/web.md:376:- `web_fetch` uses Readability (main-content extraction) first, then Firecrawl (if configured). If both fail, the tool returns an error.
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/zh-CN/cli/acp.md:31:openclaw acp --session agent:main:main
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/zh-CN/cli/acp.md:37:openclaw acp --session agent:main:main --reset-session
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/zh-CN/cli/acp.md:83:openclaw acp --session agent:main:main
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/zh-CN/cli/acp.md:84:openclaw acp --session agent:design:main
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/zh-CN/cli/acp.md:122:        "agent:design:main"
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/zh-CN/cli/acp.md:146:    "sessionKey": "agent:main:main",
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/zh-CN/cli/agents.md:30:openclaw agents set-identity --agent main --avatar avatars/openclaw.png
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/zh-CN/cli/agents.md:61:openclaw agents set-identity --agent main --name "OpenClaw" --emoji "🦞" --avatar avatars/openclaw.png
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/zh-CN/cli/agents.md:71:        id: "main",
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/zh-CN/cli/approvals.md:46:openclaw approvals allowlist add --agent main --node <id|name|ip> "/usr/bin/uptime"
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/zh-CN/cli/dns.md:4:  - You’re setting up split DNS for a custom discovery domain (example: openclaw.internal)
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/zh-CN/cli/memory.md:36:openclaw memory status --agent main
/root/.local/share/pnpm/global/5/.pnpm/openclaw@2026.3.11_@napi-rs+canvas@0.1.97_@types+express@5.0.6_node-llama-cpp@3.16.2/node_modules/openclaw/docs/zh-CN/cli/memory.md:37:openclaw memory index --agent main --verbose