From 1042b893f617c70a8e64303785976cbe5b178e44 Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Fri, 24 Apr 2026 10:49:23 -0700 Subject: [PATCH] docs: drop parenthetical H1s across gateway, channels, providers, concepts, and reference pages --- docs/automation/cron-jobs.md | 2 -- docs/channels/bluebubbles.md | 2 -- docs/channels/group-messages.md | 2 -- docs/channels/imessage.md | 2 -- docs/channels/signal.md | 2 -- docs/channels/zalo.md | 2 -- docs/channels/zalouser.md | 2 -- docs/concepts/agent-loop.md | 2 -- docs/concepts/queue.md | 2 -- docs/gateway/authentication.md | 2 -- docs/gateway/bridge-protocol.md | 2 -- docs/gateway/cli-backends.md | 2 -- docs/gateway/health.md | 2 -- docs/gateway/heartbeat.md | 2 -- docs/gateway/multiple-gateways.md | 2 -- docs/gateway/openai-http-api.md | 2 -- docs/gateway/openresponses-http-api.md | 2 -- docs/gateway/pairing.md | 2 -- docs/gateway/protocol.md | 2 -- docs/gateway/remote.md | 2 -- docs/gateway/tailscale.md | 2 -- docs/plan/codex-context-engine-harness.md | 2 -- docs/providers/anthropic.md | 2 -- docs/providers/deepgram.md | 2 -- docs/providers/moonshot.md | 2 -- docs/providers/perplexity-provider.md | 2 -- docs/reference/device-models.md | 2 -- docs/reference/transcript-hygiene.md | 2 -- 28 files changed, 56 deletions(-) diff --git a/docs/automation/cron-jobs.md b/docs/automation/cron-jobs.md index 88cc4bb8b98..6f024f0f27a 100644 --- a/docs/automation/cron-jobs.md +++ b/docs/automation/cron-jobs.md @@ -7,8 +7,6 @@ read_when: title: "Scheduled tasks" --- -# Scheduled Tasks (Cron) - Cron is the Gateway's built-in scheduler. It persists jobs, wakes the agent at the right time, and can deliver output back to a chat channel or webhook endpoint. ## Quick start diff --git a/docs/channels/bluebubbles.md b/docs/channels/bluebubbles.md index e404b116913..e69b0200a1f 100644 --- a/docs/channels/bluebubbles.md +++ b/docs/channels/bluebubbles.md @@ -7,8 +7,6 @@ read_when: title: "BlueBubbles" --- -# BlueBubbles (macOS REST) - Status: bundled plugin that talks to the BlueBubbles macOS server over HTTP. **Recommended for iMessage integration** due to its richer API and easier setup compared to the legacy imsg channel. ## Bundled plugin diff --git a/docs/channels/group-messages.md b/docs/channels/group-messages.md index 68659263293..b409443b404 100644 --- a/docs/channels/group-messages.md +++ b/docs/channels/group-messages.md @@ -5,8 +5,6 @@ read_when: title: "Group messages" --- -# Group messages (WhatsApp web channel) - Goal: let Clawd sit in WhatsApp groups, wake up only when pinged, and keep that thread separate from the personal DM session. Note: `agents.list[].groupChat.mentionPatterns` is now used by Telegram/Discord/Slack/iMessage as well; this doc focuses on WhatsApp-specific behavior. For multi-agent setups, set `agents.list[].groupChat.mentionPatterns` per agent (or use `messages.groupChat.mentionPatterns` as a global fallback). diff --git a/docs/channels/imessage.md b/docs/channels/imessage.md index 288ad5ef294..6b7b9785d32 100644 --- a/docs/channels/imessage.md +++ b/docs/channels/imessage.md @@ -6,8 +6,6 @@ read_when: title: "iMessage" --- -# iMessage (legacy: imsg) - For new iMessage deployments, use BlueBubbles. diff --git a/docs/channels/signal.md b/docs/channels/signal.md index 19c0bd33570..eedd78154a5 100644 --- a/docs/channels/signal.md +++ b/docs/channels/signal.md @@ -6,8 +6,6 @@ read_when: title: "Signal" --- -# Signal (signal-cli) - Status: external CLI integration. Gateway talks to `signal-cli` over HTTP JSON-RPC + SSE. ## Prerequisites diff --git a/docs/channels/zalo.md b/docs/channels/zalo.md index a64355290c8..16a25f66c2e 100644 --- a/docs/channels/zalo.md +++ b/docs/channels/zalo.md @@ -5,8 +5,6 @@ read_when: title: "Zalo" --- -# Zalo (Bot API) - Status: experimental. DMs are supported. The [Capabilities](#capabilities) section below reflects current Marketplace-bot behavior. ## Bundled plugin diff --git a/docs/channels/zalouser.md b/docs/channels/zalouser.md index 9462f55fd83..a8932715020 100644 --- a/docs/channels/zalouser.md +++ b/docs/channels/zalouser.md @@ -6,8 +6,6 @@ read_when: title: "Zalo personal" --- -# Zalo Personal (unofficial) - Status: experimental. This integration automates a **personal Zalo account** via native `zca-js` inside OpenClaw. > **Warning:** This is an unofficial integration and may result in account suspension/ban. Use at your own risk. diff --git a/docs/concepts/agent-loop.md b/docs/concepts/agent-loop.md index 979f6fc37b4..6f9c5f57afc 100644 --- a/docs/concepts/agent-loop.md +++ b/docs/concepts/agent-loop.md @@ -6,8 +6,6 @@ read_when: title: "Agent loop" --- -# Agent Loop (OpenClaw) - An agentic loop is the full “real” run of an agent: intake → context assembly → model inference → tool execution → streaming replies → persistence. It’s the authoritative path that turns a message into actions and a final reply, while keeping session state consistent. diff --git a/docs/concepts/queue.md b/docs/concepts/queue.md index df08bfad54c..fe220781c2c 100644 --- a/docs/concepts/queue.md +++ b/docs/concepts/queue.md @@ -5,8 +5,6 @@ read_when: title: "Command queue" --- -# Command Queue (2026-01-16) - We serialize inbound auto-reply runs (all channels) through a tiny in-process queue to prevent multiple agent runs from colliding, while still allowing safe parallelism across sessions. ## Why diff --git a/docs/gateway/authentication.md b/docs/gateway/authentication.md index 60ba4f6a13b..903e5cd03d9 100644 --- a/docs/gateway/authentication.md +++ b/docs/gateway/authentication.md @@ -6,8 +6,6 @@ read_when: title: "Authentication" --- -# Authentication (Model Providers) - This page covers **model provider** authentication (API keys, OAuth, Claude CLI reuse, and Anthropic setup-token). For **gateway connection** authentication (token, password, trusted-proxy), see [Configuration](/gateway/configuration) and [Trusted Proxy Auth](/gateway/trusted-proxy-auth). diff --git a/docs/gateway/bridge-protocol.md b/docs/gateway/bridge-protocol.md index 4c62fcf3411..b7193df7223 100644 --- a/docs/gateway/bridge-protocol.md +++ b/docs/gateway/bridge-protocol.md @@ -7,8 +7,6 @@ read_when: title: "Bridge protocol" --- -# Bridge protocol (legacy node transport) - The TCP bridge has been **removed**. Current OpenClaw builds do not ship the bridge listener and `bridge.*` config keys are no longer in the schema. This page is kept for historical reference only. Use the [Gateway Protocol](/gateway/protocol) for all node/operator clients. diff --git a/docs/gateway/cli-backends.md b/docs/gateway/cli-backends.md index d92a48ebee8..a7b10a8c4d6 100644 --- a/docs/gateway/cli-backends.md +++ b/docs/gateway/cli-backends.md @@ -7,8 +7,6 @@ read_when: title: "CLI backends" --- -# CLI backends (fallback runtime) - OpenClaw can run **local AI CLIs** as a **text-only fallback** when API providers are down, rate-limited, or temporarily misbehaving. This is intentionally conservative: diff --git a/docs/gateway/health.md b/docs/gateway/health.md index 37a9e803442..59a599978ce 100644 --- a/docs/gateway/health.md +++ b/docs/gateway/health.md @@ -6,8 +6,6 @@ read_when: title: "Health checks" --- -# Health Checks (CLI) - Short guide to verify channel connectivity without guessing. ## Quick checks diff --git a/docs/gateway/heartbeat.md b/docs/gateway/heartbeat.md index a43895a3629..8bc9f63cfcd 100644 --- a/docs/gateway/heartbeat.md +++ b/docs/gateway/heartbeat.md @@ -6,8 +6,6 @@ read_when: title: "Heartbeat" --- -# Heartbeat (Gateway) - > **Heartbeat vs Cron?** See [Automation & Tasks](/automation) for guidance on when to use each. Heartbeat runs **periodic agent turns** in the main session so the model can diff --git a/docs/gateway/multiple-gateways.md b/docs/gateway/multiple-gateways.md index 8572a9d3c2f..307f308d3df 100644 --- a/docs/gateway/multiple-gateways.md +++ b/docs/gateway/multiple-gateways.md @@ -6,8 +6,6 @@ read_when: title: "Multiple gateways" --- -# Multiple Gateways (same host) - Most setups should use one Gateway because a single Gateway can handle multiple messaging connections and agents. If you need stronger isolation or redundancy (e.g., a rescue bot), run separate Gateways with isolated profiles/ports. ## Best Recommended Setup diff --git a/docs/gateway/openai-http-api.md b/docs/gateway/openai-http-api.md index 6fe7e7de172..30c1972a7cc 100644 --- a/docs/gateway/openai-http-api.md +++ b/docs/gateway/openai-http-api.md @@ -5,8 +5,6 @@ read_when: title: "OpenAI chat completions" --- -# OpenAI Chat Completions (HTTP) - OpenClaw’s Gateway can serve a small OpenAI-compatible Chat Completions endpoint. This endpoint is **disabled by default**. Enable it in config first. diff --git a/docs/gateway/openresponses-http-api.md b/docs/gateway/openresponses-http-api.md index c886879d8d2..8e8d4de5ac9 100644 --- a/docs/gateway/openresponses-http-api.md +++ b/docs/gateway/openresponses-http-api.md @@ -6,8 +6,6 @@ read_when: title: "OpenResponses API" --- -# OpenResponses API (HTTP) - OpenClaw’s Gateway can serve an OpenResponses-compatible `POST /v1/responses` endpoint. This endpoint is **disabled by default**. Enable it in config first. diff --git a/docs/gateway/pairing.md b/docs/gateway/pairing.md index fa1e32598f5..3981c8c192e 100644 --- a/docs/gateway/pairing.md +++ b/docs/gateway/pairing.md @@ -7,8 +7,6 @@ read_when: title: "Gateway-owned pairing" --- -# Gateway-owned pairing (Option B) - In Gateway-owned pairing, the **Gateway** is the source of truth for which nodes are allowed to join. UIs (macOS app, future clients) are just frontends that approve or reject pending requests. diff --git a/docs/gateway/protocol.md b/docs/gateway/protocol.md index 0932342ebb4..46cce9d0a3e 100644 --- a/docs/gateway/protocol.md +++ b/docs/gateway/protocol.md @@ -7,8 +7,6 @@ read_when: title: "Gateway protocol" --- -# Gateway protocol (WebSocket) - The Gateway WS protocol is the **single control plane + node transport** for OpenClaw. All clients (CLI, web UI, macOS app, iOS/Android nodes, headless nodes) connect over WebSocket and declare their **role** + **scope** at diff --git a/docs/gateway/remote.md b/docs/gateway/remote.md index cc41e72f7c2..49e86c18359 100644 --- a/docs/gateway/remote.md +++ b/docs/gateway/remote.md @@ -5,8 +5,6 @@ read_when: title: "Remote access" --- -# Remote access (SSH, tunnels, and tailnets) - This repo supports “remote over SSH” by keeping a single Gateway (the master) running on a dedicated host (desktop/server) and connecting clients to it. - For **operators (you / the macOS app)**: SSH tunneling is the universal fallback. diff --git a/docs/gateway/tailscale.md b/docs/gateway/tailscale.md index 98c241fc0f1..54fe66e5b04 100644 --- a/docs/gateway/tailscale.md +++ b/docs/gateway/tailscale.md @@ -6,8 +6,6 @@ read_when: title: "Tailscale" --- -# Tailscale (Gateway dashboard) - OpenClaw can auto-configure Tailscale **Serve** (tailnet) or **Funnel** (public) for the Gateway dashboard and WebSocket port. This keeps the Gateway bound to loopback while Tailscale provides HTTPS, routing, and (for Serve) identity headers. diff --git a/docs/plan/codex-context-engine-harness.md b/docs/plan/codex-context-engine-harness.md index 38ac667b1c3..03a6fdfe86d 100644 --- a/docs/plan/codex-context-engine-harness.md +++ b/docs/plan/codex-context-engine-harness.md @@ -7,8 +7,6 @@ read_when: - You are comparing embedded PI and Codex app-server context behavior --- -# Codex Harness Context Engine Port - ## Status Draft implementation specification. diff --git a/docs/providers/anthropic.md b/docs/providers/anthropic.md index 4af9af62341..51bc0f7f14e 100644 --- a/docs/providers/anthropic.md +++ b/docs/providers/anthropic.md @@ -5,8 +5,6 @@ read_when: title: "Anthropic" --- -# Anthropic (Claude) - Anthropic builds the **Claude** model family. OpenClaw supports two auth routes: - **API key** — direct Anthropic API access with usage-based billing (`anthropic/*` models) diff --git a/docs/providers/deepgram.md b/docs/providers/deepgram.md index cc834f1c620..8673f6ec111 100644 --- a/docs/providers/deepgram.md +++ b/docs/providers/deepgram.md @@ -7,8 +7,6 @@ read_when: title: "Deepgram" --- -# Deepgram (Audio Transcription) - Deepgram is a speech-to-text API. In OpenClaw it is used for inbound audio/voice-note transcription through `tools.media.audio` and for Voice Call streaming STT through `plugins.entries.voice-call.config.streaming`. diff --git a/docs/providers/moonshot.md b/docs/providers/moonshot.md index f05abce4870..d947e35bac5 100644 --- a/docs/providers/moonshot.md +++ b/docs/providers/moonshot.md @@ -7,8 +7,6 @@ read_when: title: "Moonshot AI" --- -# Moonshot AI (Kimi) - Moonshot provides the Kimi API with OpenAI-compatible endpoints. Configure the provider and set the default model to `moonshot/kimi-k2.6`, or use Kimi Coding with `kimi/kimi-code`. diff --git a/docs/providers/perplexity-provider.md b/docs/providers/perplexity-provider.md index 9b2f86db9df..d13976f92cd 100644 --- a/docs/providers/perplexity-provider.md +++ b/docs/providers/perplexity-provider.md @@ -6,8 +6,6 @@ read_when: - You need the Perplexity API key or OpenRouter proxy setup --- -# Perplexity (Web Search Provider) - The Perplexity plugin provides web search capabilities through the Perplexity Search API or Perplexity Sonar via OpenRouter. diff --git a/docs/reference/device-models.md b/docs/reference/device-models.md index b3a5acffd1a..fa5e219a623 100644 --- a/docs/reference/device-models.md +++ b/docs/reference/device-models.md @@ -6,8 +6,6 @@ read_when: title: "Device model database" --- -# Device model database (friendly names) - The macOS companion app shows friendly Apple device model names in the **Instances** UI by mapping Apple model identifiers (e.g. `iPad16,6`, `Mac16,6`) to human-readable names. The mapping is vendored as JSON under: diff --git a/docs/reference/transcript-hygiene.md b/docs/reference/transcript-hygiene.md index 86d702316ec..52980104bf8 100644 --- a/docs/reference/transcript-hygiene.md +++ b/docs/reference/transcript-hygiene.md @@ -7,8 +7,6 @@ read_when: title: "Transcript hygiene" --- -# Transcript Hygiene (Provider Fixups) - This document describes **provider-specific fixes** applied to transcripts before a run (building model context). These are **in-memory** adjustments used to satisfy strict provider requirements. These hygiene steps do **not** rewrite the stored JSONL transcript