From f57e70912cad81bc99680026865ffd1051c89ef5 Mon Sep 17 00:00:00 2001 From: Ethan Palm <56270045+ethanpalm@users.noreply.github.com> Date: Tue, 3 Feb 2026 09:57:43 -0800 Subject: [PATCH] docs: Update information architecture for OpenClaw docs (#7622) * docs: restructure navigation into 5 tabs for better IA * dedupe redirects * use 8 tabs * add missing /index extensions * update zh navigation * remove `default: true` and rearrange languages * add missing redirects * format:fix * docs: update IA tabs + restore /images redirect (#7622) (thanks @ethanpalm) --------- Co-authored-by: Peter Steinberger --- CHANGELOG.md | 1 + docs/docs.json | 1529 ++++++++++++++++++++++++++---------------------- 2 files changed, 819 insertions(+), 711 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bc80fb92af6..614a600d883 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ Docs: https://docs.openclaw.ai ### Changes - Web UI: add Agents dashboard for managing agent files, tools, skills, models, channels, and cron jobs. +- Docs: reorganize navigation into eight tabs and restore `/images` redirect. (#7622) Thanks @ethanpalm. - Security: add healthcheck skill and bootstrap audit guidance. (#7641) Thanks @Takhoffman. - Docs: seed zh-CN translations. (#6619) Thanks @joshp123. - Docs: expand zh-Hans navigation and fix zh-CN index asset paths. (#7242) Thanks @joshp123. diff --git a/docs/docs.json b/docs/docs.json index f740b3be077..1b33488596a 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -29,10 +29,6 @@ "source": "/cron", "destination": "/cron-jobs" }, - { - "source": "/cron/", - "destination": "/cron-jobs" - }, { "source": "/model", "destination": "/models" @@ -45,42 +41,22 @@ "source": "/messages", "destination": "/concepts/messages" }, - { - "source": "/messages/", - "destination": "/concepts/messages" - }, { "source": "/context", "destination": "/concepts/context" }, - { - "source": "/context/", - "destination": "/concepts/context" - }, { "source": "/compaction", "destination": "/concepts/compaction" }, - { - "source": "/compaction/", - "destination": "/concepts/compaction" - }, { "source": "/minimax", "destination": "/providers/minimax" }, - { - "source": "/minimax/", - "destination": "/providers/minimax" - }, { "source": "/xiaomi", "destination": "/providers/xiaomi" }, - { - "source": "/xiaomi/", - "destination": "/providers/xiaomi" - }, { "source": "/openai", "destination": "/providers/openai" @@ -101,194 +77,98 @@ "source": "/moonshot", "destination": "/providers/moonshot" }, - { - "source": "/moonshot/", - "destination": "/providers/moonshot" - }, { "source": "/openrouter", "destination": "/providers/openrouter" }, - { - "source": "/openrouter/", - "destination": "/providers/openrouter" - }, { "source": "/opencode", "destination": "/providers/opencode" }, - { - "source": "/opencode/", - "destination": "/providers/opencode" - }, { "source": "/mattermost", "destination": "/channels/mattermost" }, - { - "source": "/mattermost/", - "destination": "/channels/mattermost" - }, { "source": "/line", "destination": "/channels/line" }, - { - "source": "/line/", - "destination": "/channels/line" - }, { "source": "/glm", "destination": "/providers/glm" }, - { - "source": "/glm/", - "destination": "/providers/glm" - }, { "source": "/zai", "destination": "/providers/zai" }, - { - "source": "/zai/", - "destination": "/providers/zai" - }, { "source": "/message", "destination": "/cli/message" }, - { - "source": "/message/", - "destination": "/cli/message" - }, { "source": "/providers/discord", "destination": "/channels/discord" }, - { - "source": "/providers/discord/", - "destination": "/channels/discord" - }, { "source": "/providers/googlechat", "destination": "/channels/googlechat" }, - { - "source": "/providers/googlechat/", - "destination": "/channels/googlechat" - }, { "source": "/providers/grammy", "destination": "/channels/grammy" }, - { - "source": "/providers/grammy/", - "destination": "/channels/grammy" - }, { "source": "/providers/imessage", "destination": "/channels/imessage" }, - { - "source": "/providers/imessage/", - "destination": "/channels/imessage" - }, { "source": "/providers/location", "destination": "/channels/location" }, - { - "source": "/providers/location/", - "destination": "/channels/location" - }, { "source": "/providers/mattermost", "destination": "/channels/mattermost" }, - { - "source": "/providers/mattermost/", - "destination": "/channels/mattermost" - }, { "source": "/providers/msteams", "destination": "/channels/msteams" }, - { - "source": "/providers/msteams/", - "destination": "/channels/msteams" - }, { "source": "/providers/line", "destination": "/channels/line" }, - { - "source": "/providers/line/", - "destination": "/channels/line" - }, { "source": "/providers/signal", "destination": "/channels/signal" }, - { - "source": "/providers/signal/", - "destination": "/channels/signal" - }, { "source": "/providers/slack", "destination": "/channels/slack" }, - { - "source": "/providers/slack/", - "destination": "/channels/slack" - }, { "source": "/providers/telegram", "destination": "/channels/telegram" }, - { - "source": "/providers/telegram/", - "destination": "/channels/telegram" - }, { "source": "/providers/troubleshooting", "destination": "/channels/troubleshooting" }, - { - "source": "/providers/troubleshooting/", - "destination": "/channels/troubleshooting" - }, { "source": "/providers/zalo", "destination": "/channels/zalo" }, - { - "source": "/providers/zalo/", - "destination": "/channels/zalo" - }, { "source": "/providers/whatsapp", "destination": "/channels/whatsapp" }, - { - "source": "/providers/whatsapp/", - "destination": "/channels/whatsapp" - }, { "source": "/sandbox", "destination": "/cli/sandbox" }, - { - "source": "/sandbox/", - "destination": "/cli/sandbox" - }, { "source": "/sandboxing", "destination": "/gateway/sandboxing" }, - { - "source": "/sandboxing/", - "destination": "/gateway/sandboxing" - }, { "source": "/AGENTS.default", "destination": "/reference/AGENTS.default" @@ -401,10 +281,6 @@ "source": "/cron-vs-heartbeat", "destination": "/automation/cron-vs-heartbeat" }, - { - "source": "/cron-vs-heartbeat/", - "destination": "/automation/cron-vs-heartbeat" - }, { "source": "/dashboard", "destination": "/web/dashboard" @@ -637,10 +513,6 @@ "source": "/concepts/provider-routing", "destination": "/concepts/channel-routing" }, - { - "source": "/concepts/provider-routing/", - "destination": "/concepts/channel-routing" - }, { "source": "/queue", "destination": "/concepts/queue" @@ -809,10 +681,6 @@ "source": "/start/faq", "destination": "/help/faq" }, - { - "source": "/start/faq/", - "destination": "/help/faq" - }, { "source": "/oauth", "destination": "/concepts/oauth" @@ -826,8 +694,8 @@ "destination": "/railway" }, { - "source": "/install/railway/", - "destination": "/railway" + "source": "/install/northflank", + "destination": "/northflank" }, { "source": "/install/northflank/", @@ -836,639 +704,878 @@ { "source": "/gcp", "destination": "/platforms/gcp" - }, - { - "source": "/gcp/", - "destination": "/platforms/gcp" } ], "navigation": { "languages": [ { "language": "en", - "default": true, - "groups": [ + "tabs": [ { - "group": "Start Here", - "pages": [ - "index", - "start/getting-started", - "start/wizard", - "start/setup", - "start/pairing", - "start/openclaw", - "start/showcase", - "start/hubs", - "start/onboarding", - "start/lore" + "tab": "Get started", + "groups": [ + { + "group": "Overview", + "pages": ["index", "start/showcase", "start/lore"] + }, + { + "group": "Installation", + "pages": [ + "install/index", + "install/installer", + "install/docker", + "install/bun", + "install/nix", + "install/ansible", + "install/development-channels", + "install/updating", + "install/uninstall" + ] + }, + { + "group": "Setup", + "pages": [ + "start/getting-started", + "start/wizard", + "start/setup", + "start/onboarding", + "start/pairing", + "start/openclaw", + "start/hubs" + ] + }, + { + "group": "Platforms", + "pages": [ + "platforms/index", + "platforms/macos", + "platforms/linux", + "platforms/windows", + "platforms/android", + "platforms/ios" + ] + } ] }, { - "group": "Help", - "pages": ["help/index", "help/troubleshooting", "help/faq"] - }, - { - "group": "Install & Updates", - "pages": [ - "install/index", - "install/installer", - "install/updating", - "install/development-channels", - "install/uninstall", - "install/ansible", - "install/nix", - "install/docker", - "railway", - "render", - "northflank", - "install/bun" + "tab": "Channels", + "groups": [ + { + "group": "Overview", + "pages": ["channels/index"] + }, + { + "group": "Messaging platforms", + "pages": [ + "channels/whatsapp", + "channels/telegram", + "channels/grammy", + "channels/discord", + "channels/slack", + "channels/googlechat", + "channels/mattermost", + "channels/signal", + "channels/imessage", + "channels/msteams", + "channels/line", + "channels/matrix", + "channels/zalo", + "channels/zalouser" + ] + }, + { + "group": "Configuration", + "pages": [ + "concepts/group-messages", + "concepts/groups", + "broadcast-groups", + "concepts/channel-routing", + "channels/location", + "channels/troubleshooting" + ] + } ] }, { - "group": "CLI", - "pages": [ - "cli/index", - "cli/setup", - "cli/onboard", - "cli/configure", - "cli/doctor", - "cli/dashboard", - "cli/reset", - "cli/uninstall", - "cli/browser", - "cli/message", - "cli/agent", - "cli/agents", - "cli/status", - "cli/health", - "cli/sessions", - "cli/channels", - "cli/directory", - "cli/skills", - "cli/plugins", - "cli/memory", - "cli/models", - "cli/logs", - "cli/system", - "cli/nodes", - "cli/approvals", - "cli/gateway", - "cli/tui", - "cli/voicecall", - "cli/cron", - "cli/dns", - "cli/docs", - "cli/hooks", - "cli/pairing", - "cli/security", - "cli/update", - "cli/sandbox" + "tab": "Agents", + "groups": [ + { + "group": "Fundamentals", + "pages": [ + "concepts/architecture", + "concepts/agent", + "concepts/agent-loop", + "concepts/system-prompt", + "concepts/context", + "concepts/agent-workspace", + "concepts/oauth" + ] + }, + { + "group": "Sessions and memory", + "pages": [ + "concepts/session", + "concepts/sessions", + "concepts/session-pruning", + "concepts/session-tool", + "concepts/memory", + "concepts/compaction" + ] + }, + { + "group": "Multi-agent", + "pages": ["concepts/multi-agent", "concepts/presence"] + }, + { + "group": "Messages and delivery", + "pages": [ + "concepts/messages", + "concepts/streaming", + "concepts/retry", + "concepts/queue" + ] + } ] }, { - "group": "Core Concepts", - "pages": [ - "concepts/architecture", - "concepts/agent", - "concepts/agent-loop", - "concepts/system-prompt", - "concepts/context", - "token-use", - "concepts/oauth", - "concepts/agent-workspace", - "concepts/memory", - "concepts/multi-agent", - "concepts/compaction", - "concepts/session", - "concepts/session-pruning", - "concepts/sessions", - "concepts/session-tool", - "concepts/presence", - "concepts/channel-routing", - "concepts/messages", - "concepts/streaming", - "concepts/markdown-formatting", - "concepts/groups", - "concepts/group-messages", - "concepts/typing-indicators", - "concepts/queue", - "concepts/retry", - "concepts/model-providers", - "concepts/models", - "concepts/model-failover", - "concepts/usage-tracking", - "concepts/timezone", - "concepts/typebox" + "tab": "Tools", + "groups": [ + { + "group": "Overview", + "pages": ["tools/index"] + }, + { + "group": "Built-in tools", + "pages": [ + "tools/lobster", + "tools/llm-task", + "tools/exec", + "tools/web", + "tools/apply-patch", + "tools/elevated", + "tools/thinking", + "tools/reactions" + ] + }, + { + "group": "Browser", + "pages": [ + "tools/browser", + "tools/browser-login", + "tools/chrome-extension", + "tools/browser-linux-troubleshooting" + ] + }, + { + "group": "Agent coordination", + "pages": ["tools/agent-send", "tools/subagents", "multi-agent-sandbox-tools"] + }, + { + "group": "Skills and extensions", + "pages": [ + "tools/slash-commands", + "tools/skills", + "tools/skills-config", + "tools/clawhub", + "plugin", + "plugins/voice-call", + "plugins/zalouser" + ] + }, + { + "group": "Automation", + "pages": [ + "hooks", + "hooks/soul-evil", + "automation/cron-jobs", + "automation/cron-vs-heartbeat", + "automation/webhook", + "automation/gmail-pubsub", + "automation/poll", + "automation/auth-monitoring" + ] + }, + { + "group": "Media and devices", + "pages": [ + "nodes/index", + "nodes/images", + "nodes/audio", + "nodes/camera", + "nodes/talk", + "nodes/voicewake", + "nodes/location-command" + ] + } ] }, { - "group": "Gateway & Ops", - "pages": [ - "gateway/index", - "gateway/protocol", - "gateway/bridge-protocol", - "gateway/pairing", - "gateway/gateway-lock", - "environment", - "gateway/configuration", - "gateway/multiple-gateways", - "gateway/configuration-examples", - "gateway/authentication", - "gateway/openai-http-api", - "gateway/tools-invoke-http-api", - "gateway/cli-backends", - "gateway/local-models", - "gateway/background-process", - "gateway/health", - "gateway/heartbeat", - "gateway/doctor", - "gateway/logging", - "gateway/security/index", - "security/formal-verification", - "gateway/sandbox-vs-tool-policy-vs-elevated", - "gateway/sandboxing", - "gateway/troubleshooting", - "debugging", - "gateway/remote", - "gateway/remote-gateway-readme", - "gateway/discovery", - "gateway/bonjour", - "gateway/tailscale" + "tab": "Models", + "groups": [ + { + "group": "Overview", + "pages": ["providers/index", "providers/models", "concepts/models"] + }, + { + "group": "Configuration", + "pages": ["concepts/model-providers", "concepts/model-failover"] + }, + { + "group": "Providers", + "pages": [ + "providers/anthropic", + "providers/openai", + "providers/openrouter", + "bedrock", + "providers/vercel-ai-gateway", + "providers/moonshot", + "providers/minimax", + "providers/opencode", + "providers/glm", + "providers/zai", + "providers/synthetic" + ] + } ] }, { - "group": "Web & Interfaces", - "pages": ["web/index", "web/control-ui", "web/dashboard", "web/webchat", "tui"] - }, - { - "group": "Channels", - "pages": [ - "channels/index", - "channels/whatsapp", - "channels/telegram", - "channels/grammy", - "channels/discord", - "channels/slack", - "channels/googlechat", - "channels/mattermost", - "channels/signal", - "channels/imessage", - "channels/msteams", - "channels/line", - "channels/matrix", - "channels/zalo", - "channels/zalouser", - "broadcast-groups", - "channels/troubleshooting", - "channels/location" + "tab": "Infrastructure", + "groups": [ + { + "group": "Gateway", + "pages": [ + "gateway/index", + { + "group": "Configuration and operations", + "pages": [ + "gateway/configuration", + "gateway/configuration-examples", + "gateway/authentication", + "gateway/health", + "gateway/heartbeat", + "gateway/doctor", + "gateway/logging", + "gateway/gateway-lock", + "gateway/background-process", + "gateway/multiple-gateways", + "gateway/troubleshooting" + ] + }, + { + "group": "Security and sandboxing", + "pages": [ + "gateway/security/index", + "gateway/sandboxing", + "gateway/sandbox-vs-tool-policy-vs-elevated" + ] + }, + { + "group": "Protocols and APIs", + "pages": [ + "gateway/protocol", + "gateway/bridge-protocol", + "gateway/openai-http-api", + "gateway/tools-invoke-http-api", + "gateway/cli-backends", + "gateway/local-models" + ] + }, + { + "group": "Networking and discovery", + "pages": ["gateway/pairing", "gateway/discovery", "gateway/bonjour"] + } + ] + }, + { + "group": "Remote access and deployment", + "pages": [ + "gateway/remote", + "gateway/remote-gateway-readme", + "gateway/tailscale", + "platforms/fly", + "platforms/hetzner", + "platforms/gcp", + "platforms/macos-vm", + "platforms/exe-dev", + "railway", + "render", + "northflank" + ] + }, + { + "group": "Security", + "pages": ["security/formal-verification"] + }, + { + "group": "Web interfaces", + "pages": ["web/index", "web/control-ui", "web/dashboard", "web/webchat", "tui"] + }, + { + "group": "macOS companion app", + "pages": [ + "platforms/mac/dev-setup", + "platforms/mac/menu-bar", + "platforms/mac/voicewake", + "platforms/mac/voice-overlay", + "platforms/mac/webchat", + "platforms/mac/canvas", + "platforms/mac/child-process", + "platforms/mac/health", + "platforms/mac/icon", + "platforms/mac/logging", + "platforms/mac/permissions", + "platforms/mac/remote", + "platforms/mac/signing", + "platforms/mac/release", + "platforms/mac/bundled-gateway", + "platforms/mac/xpc", + "platforms/mac/skills", + "platforms/mac/peekaboo" + ] + } ] }, { - "group": "Providers", - "pages": [ - "providers/index", - "providers/models", - "providers/openai", - "providers/anthropic", - "bedrock", - "providers/moonshot", - "providers/minimax", - "providers/vercel-ai-gateway", - "providers/openrouter", - "providers/synthetic", - "providers/opencode", - "providers/glm", - "providers/zai" + "tab": "Reference", + "groups": [ + { + "group": "CLI commands", + "pages": [ + "cli/index", + "cli/agent", + "cli/agents", + "cli/approvals", + "cli/browser", + "cli/channels", + "cli/configure", + "cli/cron", + "cli/dashboard", + "cli/directory", + "cli/dns", + "cli/docs", + "cli/doctor", + "cli/gateway", + "cli/health", + "cli/hooks", + "cli/logs", + "cli/memory", + "cli/message", + "cli/models", + "cli/nodes", + "cli/onboard", + "cli/pairing", + "cli/plugins", + "cli/reset", + "cli/sandbox", + "cli/security", + "cli/sessions", + "cli/setup", + "cli/skills", + "cli/status", + "cli/system", + "cli/tui", + "cli/uninstall", + "cli/update", + "cli/voicecall" + ] + }, + { + "group": "RPC and API", + "pages": ["reference/rpc", "reference/device-models"] + }, + { + "group": "Templates", + "pages": [ + "reference/AGENTS.default", + "reference/templates/AGENTS", + "reference/templates/BOOT", + "reference/templates/BOOTSTRAP", + "reference/templates/HEARTBEAT", + "reference/templates/IDENTITY", + "reference/templates/SOUL", + "reference/templates/TOOLS", + "reference/templates/USER" + ] + }, + { + "group": "Technical reference", + "pages": [ + "concepts/typebox", + "concepts/markdown-formatting", + "concepts/typing-indicators", + "concepts/usage-tracking", + "concepts/timezone", + "token-use" + ] + }, + { + "group": "Release notes", + "pages": ["reference/RELEASING", "reference/test"] + } ] }, { - "group": "Automation & Hooks", - "pages": [ - "hooks", - "hooks/soul-evil", - "automation/auth-monitoring", - "automation/webhook", - "automation/gmail-pubsub", - "automation/cron-jobs", - "automation/cron-vs-heartbeat", - "automation/poll" - ] - }, - { - "group": "Tools & Skills", - "pages": [ - "tools/index", - "tools/lobster", - "tools/llm-task", - "plugin", - "plugins/voice-call", - "plugins/zalouser", - "tools/exec", - "tools/web", - "tools/apply-patch", - "tools/elevated", - "tools/browser", - "tools/browser-login", - "tools/chrome-extension", - "tools/browser-linux-troubleshooting", - "tools/slash-commands", - "tools/thinking", - "tools/agent-send", - "tools/subagents", - "multi-agent-sandbox-tools", - "tools/reactions", - "tools/skills", - "tools/skills-config", - "tools/clawhub" - ] - }, - { - "group": "Nodes & Media", - "pages": [ - "nodes/index", - "nodes/camera", - "nodes/images", - "nodes/audio", - "nodes/location-command", - "nodes/voicewake", - "nodes/talk" - ] - }, - { - "group": "Platforms", - "pages": [ - "platforms/index", - "platforms/macos", - "platforms/macos-vm", - "platforms/ios", - "platforms/android", - "platforms/windows", - "platforms/linux", - "platforms/fly", - "platforms/hetzner", - "platforms/gcp", - "platforms/exe-dev" - ] - }, - { - "group": "macOS Companion App", - "pages": [ - "platforms/mac/dev-setup", - "platforms/mac/menu-bar", - "platforms/mac/voicewake", - "platforms/mac/voice-overlay", - "platforms/mac/webchat", - "platforms/mac/canvas", - "platforms/mac/child-process", - "platforms/mac/health", - "platforms/mac/icon", - "platforms/mac/logging", - "platforms/mac/permissions", - "platforms/mac/remote", - "platforms/mac/signing", - "platforms/mac/release", - "platforms/mac/bundled-gateway", - "platforms/mac/xpc", - "platforms/mac/skills", - "platforms/mac/peekaboo" - ] - }, - { - "group": "Reference & Templates", - "pages": [ - "testing", - "scripts", - "reference/session-management-compaction", - "reference/rpc", - "reference/device-models", - "reference/test", - "reference/RELEASING", - "reference/AGENTS.default", - "reference/templates/AGENTS", - "reference/templates/BOOT", - "reference/templates/BOOTSTRAP", - "reference/templates/HEARTBEAT", - "reference/templates/IDENTITY", - "reference/templates/SOUL", - "reference/templates/TOOLS", - "reference/templates/USER" + "tab": "Help", + "groups": [ + { + "group": "Help", + "pages": ["help/index", "help/troubleshooting", "help/faq"] + }, + { + "group": "Environment and debugging", + "pages": [ + "environment", + "debugging", + "testing", + "scripts", + "reference/session-management-compaction" + ] + } ] } ] }, { "language": "zh-Hans", - "groups": [ + "tabs": [ { - "group": "Start Here", - "pages": [ - "zh-CN/index", - "zh-CN/start/getting-started", - "zh-CN/start/wizard", - "zh-CN/start/setup", - "zh-CN/start/pairing", - "zh-CN/start/openclaw", - "zh-CN/start/showcase", - "zh-CN/start/hubs", - "zh-CN/start/onboarding", - "zh-CN/start/lore" + "tab": "Get started", + "groups": [ + { + "group": "Overview", + "pages": ["zh-CN/index", "zh-CN/start/showcase", "zh-CN/start/lore"] + }, + { + "group": "Installation", + "pages": [ + "zh-CN/install/index", + "zh-CN/install/installer", + "zh-CN/install/docker", + "zh-CN/install/bun", + "zh-CN/install/nix", + "zh-CN/install/ansible", + "zh-CN/install/development-channels", + "zh-CN/install/updating", + "zh-CN/install/uninstall" + ] + }, + { + "group": "Setup", + "pages": [ + "zh-CN/start/getting-started", + "zh-CN/start/wizard", + "zh-CN/start/setup", + "zh-CN/start/onboarding", + "zh-CN/start/pairing", + "zh-CN/start/openclaw", + "zh-CN/start/hubs" + ] + }, + { + "group": "Platforms", + "pages": [ + "zh-CN/platforms/index", + "zh-CN/platforms/macos", + "zh-CN/platforms/linux", + "zh-CN/platforms/windows", + "zh-CN/platforms/android", + "zh-CN/platforms/ios" + ] + } ] }, { - "group": "Help", - "pages": ["zh-CN/help/index", "zh-CN/help/troubleshooting", "zh-CN/help/faq"] - }, - { - "group": "Install & Updates", - "pages": [ - "zh-CN/install/index", - "zh-CN/install/installer", - "zh-CN/install/updating", - "zh-CN/install/development-channels", - "zh-CN/install/uninstall", - "zh-CN/install/ansible", - "zh-CN/install/nix", - "zh-CN/install/docker", - "zh-CN/railway", - "zh-CN/render", - "zh-CN/northflank", - "zh-CN/install/bun" + "tab": "Channels", + "groups": [ + { + "group": "Overview", + "pages": ["zh-CN/channels/index"] + }, + { + "group": "Messaging platforms", + "pages": [ + "zh-CN/channels/whatsapp", + "zh-CN/channels/telegram", + "zh-CN/channels/grammy", + "zh-CN/channels/discord", + "zh-CN/channels/slack", + "zh-CN/channels/googlechat", + "zh-CN/channels/mattermost", + "zh-CN/channels/signal", + "zh-CN/channels/imessage", + "zh-CN/channels/msteams", + "zh-CN/channels/line", + "zh-CN/channels/matrix", + "zh-CN/channels/zalo", + "zh-CN/channels/zalouser" + ] + }, + { + "group": "Configuration", + "pages": [ + "zh-CN/concepts/group-messages", + "zh-CN/concepts/groups", + "zh-CN/broadcast-groups", + "zh-CN/concepts/channel-routing", + "zh-CN/channels/location", + "zh-CN/channels/troubleshooting" + ] + } ] }, { - "group": "CLI", - "pages": [ - "zh-CN/cli/index", - "zh-CN/cli/setup", - "zh-CN/cli/onboard", - "zh-CN/cli/configure", - "zh-CN/cli/doctor", - "zh-CN/cli/dashboard", - "zh-CN/cli/reset", - "zh-CN/cli/uninstall", - "zh-CN/cli/browser", - "zh-CN/cli/message", - "zh-CN/cli/agent", - "zh-CN/cli/agents", - "zh-CN/cli/status", - "zh-CN/cli/health", - "zh-CN/cli/sessions", - "zh-CN/cli/channels", - "zh-CN/cli/directory", - "zh-CN/cli/skills", - "zh-CN/cli/plugins", - "zh-CN/cli/memory", - "zh-CN/cli/models", - "zh-CN/cli/logs", - "zh-CN/cli/system", - "zh-CN/cli/nodes", - "zh-CN/cli/approvals", - "zh-CN/cli/gateway", - "zh-CN/cli/tui", - "zh-CN/cli/voicecall", - "zh-CN/cli/cron", - "zh-CN/cli/dns", - "zh-CN/cli/docs", - "zh-CN/cli/hooks", - "zh-CN/cli/pairing", - "zh-CN/cli/security", - "zh-CN/cli/update", - "zh-CN/cli/sandbox" + "tab": "Agents", + "groups": [ + { + "group": "Fundamentals", + "pages": [ + "zh-CN/concepts/architecture", + "zh-CN/concepts/agent", + "zh-CN/concepts/agent-loop", + "zh-CN/concepts/system-prompt", + "zh-CN/concepts/context", + "zh-CN/concepts/agent-workspace", + "zh-CN/concepts/oauth" + ] + }, + { + "group": "Sessions and memory", + "pages": [ + "zh-CN/concepts/session", + "zh-CN/concepts/sessions", + "zh-CN/concepts/session-pruning", + "zh-CN/concepts/session-tool", + "zh-CN/concepts/memory", + "zh-CN/concepts/compaction" + ] + }, + { + "group": "Multi-agent", + "pages": ["zh-CN/concepts/multi-agent", "zh-CN/concepts/presence"] + }, + { + "group": "Messages and delivery", + "pages": [ + "zh-CN/concepts/messages", + "zh-CN/concepts/streaming", + "zh-CN/concepts/retry", + "zh-CN/concepts/queue" + ] + } ] }, { - "group": "Core Concepts", - "pages": [ - "zh-CN/concepts/architecture", - "zh-CN/concepts/agent", - "zh-CN/concepts/agent-loop", - "zh-CN/concepts/system-prompt", - "zh-CN/concepts/context", - "zh-CN/token-use", - "zh-CN/concepts/oauth", - "zh-CN/concepts/agent-workspace", - "zh-CN/concepts/memory", - "zh-CN/concepts/multi-agent", - "zh-CN/concepts/compaction", - "zh-CN/concepts/session", - "zh-CN/concepts/session-pruning", - "zh-CN/concepts/sessions", - "zh-CN/concepts/session-tool", - "zh-CN/concepts/presence", - "zh-CN/concepts/channel-routing", - "zh-CN/concepts/messages", - "zh-CN/concepts/streaming", - "zh-CN/concepts/markdown-formatting", - "zh-CN/concepts/groups", - "zh-CN/concepts/group-messages", - "zh-CN/concepts/typing-indicators", - "zh-CN/concepts/queue", - "zh-CN/concepts/retry", - "zh-CN/concepts/model-providers", - "zh-CN/concepts/models", - "zh-CN/concepts/model-failover", - "zh-CN/concepts/usage-tracking", - "zh-CN/concepts/timezone", - "zh-CN/concepts/typebox" + "tab": "Tools", + "groups": [ + { + "group": "Overview", + "pages": ["zh-CN/tools/index"] + }, + { + "group": "Built-in tools", + "pages": [ + "zh-CN/tools/lobster", + "zh-CN/tools/llm-task", + "zh-CN/tools/exec", + "zh-CN/tools/web", + "zh-CN/tools/apply-patch", + "zh-CN/tools/elevated", + "zh-CN/tools/thinking", + "zh-CN/tools/reactions" + ] + }, + { + "group": "Browser", + "pages": [ + "zh-CN/tools/browser", + "zh-CN/tools/browser-login", + "zh-CN/tools/chrome-extension", + "zh-CN/tools/browser-linux-troubleshooting" + ] + }, + { + "group": "Agent coordination", + "pages": [ + "zh-CN/tools/agent-send", + "zh-CN/tools/subagents", + "zh-CN/multi-agent-sandbox-tools" + ] + }, + { + "group": "Skills and extensions", + "pages": [ + "zh-CN/tools/slash-commands", + "zh-CN/tools/skills", + "zh-CN/tools/skills-config", + "zh-CN/tools/clawhub", + "zh-CN/plugin", + "zh-CN/plugins/voice-call", + "zh-CN/plugins/zalouser" + ] + }, + { + "group": "Automation", + "pages": [ + "zh-CN/hooks", + "zh-CN/hooks/soul-evil", + "zh-CN/automation/cron-jobs", + "zh-CN/automation/cron-vs-heartbeat", + "zh-CN/automation/webhook", + "zh-CN/automation/gmail-pubsub", + "zh-CN/automation/poll", + "zh-CN/automation/auth-monitoring" + ] + }, + { + "group": "Media and devices", + "pages": [ + "zh-CN/nodes/index", + "zh-CN/nodes/images", + "zh-CN/nodes/audio", + "zh-CN/nodes/camera", + "zh-CN/nodes/talk", + "zh-CN/nodes/voicewake", + "zh-CN/nodes/location-command" + ] + } ] }, { - "group": "Gateway & Ops", - "pages": [ - "zh-CN/gateway/index", - "zh-CN/gateway/protocol", - "zh-CN/gateway/bridge-protocol", - "zh-CN/gateway/pairing", - "zh-CN/gateway/gateway-lock", - "zh-CN/environment", - "zh-CN/gateway/configuration", - "zh-CN/gateway/multiple-gateways", - "zh-CN/gateway/configuration-examples", - "zh-CN/gateway/authentication", - "zh-CN/gateway/openai-http-api", - "zh-CN/gateway/tools-invoke-http-api", - "zh-CN/gateway/cli-backends", - "zh-CN/gateway/local-models", - "zh-CN/gateway/background-process", - "zh-CN/gateway/health", - "zh-CN/gateway/heartbeat", - "zh-CN/gateway/doctor", - "zh-CN/gateway/logging", - "zh-CN/gateway/security/index", - "zh-CN/security/formal-verification", - "zh-CN/gateway/sandbox-vs-tool-policy-vs-elevated", - "zh-CN/gateway/sandboxing", - "zh-CN/gateway/troubleshooting", - "zh-CN/debugging", - "zh-CN/gateway/remote", - "zh-CN/gateway/remote-gateway-readme", - "zh-CN/gateway/discovery", - "zh-CN/gateway/bonjour", - "zh-CN/gateway/tailscale" + "tab": "Models", + "groups": [ + { + "group": "Overview", + "pages": [ + "zh-CN/providers/index", + "zh-CN/providers/models", + "zh-CN/concepts/models" + ] + }, + { + "group": "Configuration", + "pages": ["zh-CN/concepts/model-providers", "zh-CN/concepts/model-failover"] + }, + { + "group": "Providers", + "pages": [ + "zh-CN/providers/anthropic", + "zh-CN/providers/openai", + "zh-CN/providers/openrouter", + "zh-CN/bedrock", + "zh-CN/providers/vercel-ai-gateway", + "zh-CN/providers/moonshot", + "zh-CN/providers/minimax", + "zh-CN/providers/opencode", + "zh-CN/providers/glm", + "zh-CN/providers/zai", + "zh-CN/providers/synthetic" + ] + } ] }, { - "group": "Web & Interfaces", - "pages": [ - "zh-CN/web/index", - "zh-CN/web/control-ui", - "zh-CN/web/dashboard", - "zh-CN/web/webchat", - "zh-CN/tui" + "tab": "Infrastructure", + "groups": [ + { + "group": "Gateway", + "pages": [ + "zh-CN/gateway/index", + { + "group": "Configuration and operations", + "pages": [ + "zh-CN/gateway/configuration", + "zh-CN/gateway/configuration-examples", + "zh-CN/gateway/authentication", + "zh-CN/gateway/health", + "zh-CN/gateway/heartbeat", + "zh-CN/gateway/doctor", + "zh-CN/gateway/logging", + "zh-CN/gateway/gateway-lock", + "zh-CN/gateway/background-process", + "zh-CN/gateway/multiple-gateways", + "zh-CN/gateway/troubleshooting" + ] + }, + { + "group": "Security and sandboxing", + "pages": [ + "zh-CN/gateway/security/index", + "zh-CN/gateway/sandboxing", + "zh-CN/gateway/sandbox-vs-tool-policy-vs-elevated" + ] + }, + { + "group": "Protocols and APIs", + "pages": [ + "zh-CN/gateway/protocol", + "zh-CN/gateway/bridge-protocol", + "zh-CN/gateway/openai-http-api", + "zh-CN/gateway/tools-invoke-http-api", + "zh-CN/gateway/cli-backends", + "zh-CN/gateway/local-models" + ] + }, + { + "group": "Networking and discovery", + "pages": [ + "zh-CN/gateway/pairing", + "zh-CN/gateway/discovery", + "zh-CN/gateway/bonjour" + ] + } + ] + }, + { + "group": "Remote access and deployment", + "pages": [ + "zh-CN/gateway/remote", + "zh-CN/gateway/remote-gateway-readme", + "zh-CN/gateway/tailscale", + "zh-CN/platforms/fly", + "zh-CN/platforms/hetzner", + "zh-CN/platforms/gcp", + "zh-CN/platforms/macos-vm", + "zh-CN/platforms/exe-dev", + "zh-CN/railway", + "zh-CN/render", + "zh-CN/northflank" + ] + }, + { + "group": "Security", + "pages": ["zh-CN/security/formal-verification"] + }, + { + "group": "Web interfaces", + "pages": [ + "zh-CN/web/index", + "zh-CN/web/control-ui", + "zh-CN/web/dashboard", + "zh-CN/web/webchat", + "zh-CN/tui" + ] + }, + { + "group": "macOS companion app", + "pages": [ + "zh-CN/platforms/mac/dev-setup", + "zh-CN/platforms/mac/menu-bar", + "zh-CN/platforms/mac/voicewake", + "zh-CN/platforms/mac/voice-overlay", + "zh-CN/platforms/mac/webchat", + "zh-CN/platforms/mac/canvas", + "zh-CN/platforms/mac/child-process", + "zh-CN/platforms/mac/health", + "zh-CN/platforms/mac/icon", + "zh-CN/platforms/mac/logging", + "zh-CN/platforms/mac/permissions", + "zh-CN/platforms/mac/remote", + "zh-CN/platforms/mac/signing", + "zh-CN/platforms/mac/release", + "zh-CN/platforms/mac/bundled-gateway", + "zh-CN/platforms/mac/xpc", + "zh-CN/platforms/mac/skills", + "zh-CN/platforms/mac/peekaboo" + ] + } ] }, { - "group": "Channels", - "pages": [ - "zh-CN/channels/index", - "zh-CN/channels/whatsapp", - "zh-CN/channels/telegram", - "zh-CN/channels/grammy", - "zh-CN/channels/discord", - "zh-CN/channels/slack", - "zh-CN/channels/googlechat", - "zh-CN/channels/mattermost", - "zh-CN/channels/signal", - "zh-CN/channels/imessage", - "zh-CN/channels/msteams", - "zh-CN/channels/line", - "zh-CN/channels/matrix", - "zh-CN/channels/zalo", - "zh-CN/channels/zalouser", - "zh-CN/broadcast-groups", - "zh-CN/channels/troubleshooting", - "zh-CN/channels/location" + "tab": "Reference", + "groups": [ + { + "group": "CLI commands", + "pages": [ + "zh-CN/cli/index", + "zh-CN/cli/agent", + "zh-CN/cli/agents", + "zh-CN/cli/approvals", + "zh-CN/cli/browser", + "zh-CN/cli/channels", + "zh-CN/cli/configure", + "zh-CN/cli/cron", + "zh-CN/cli/dashboard", + "zh-CN/cli/directory", + "zh-CN/cli/dns", + "zh-CN/cli/docs", + "zh-CN/cli/doctor", + "zh-CN/cli/gateway", + "zh-CN/cli/health", + "zh-CN/cli/hooks", + "zh-CN/cli/logs", + "zh-CN/cli/memory", + "zh-CN/cli/message", + "zh-CN/cli/models", + "zh-CN/cli/nodes", + "zh-CN/cli/onboard", + "zh-CN/cli/pairing", + "zh-CN/cli/plugins", + "zh-CN/cli/reset", + "zh-CN/cli/sandbox", + "zh-CN/cli/security", + "zh-CN/cli/sessions", + "zh-CN/cli/setup", + "zh-CN/cli/skills", + "zh-CN/cli/status", + "zh-CN/cli/system", + "zh-CN/cli/tui", + "zh-CN/cli/uninstall", + "zh-CN/cli/update", + "zh-CN/cli/voicecall" + ] + }, + { + "group": "RPC and API", + "pages": ["zh-CN/reference/rpc", "zh-CN/reference/device-models"] + }, + { + "group": "Templates", + "pages": [ + "zh-CN/reference/AGENTS.default", + "zh-CN/reference/templates/AGENTS", + "zh-CN/reference/templates/BOOT", + "zh-CN/reference/templates/BOOTSTRAP", + "zh-CN/reference/templates/HEARTBEAT", + "zh-CN/reference/templates/IDENTITY", + "zh-CN/reference/templates/SOUL", + "zh-CN/reference/templates/TOOLS", + "zh-CN/reference/templates/USER" + ] + }, + { + "group": "Technical reference", + "pages": [ + "zh-CN/concepts/typebox", + "zh-CN/concepts/markdown-formatting", + "zh-CN/concepts/typing-indicators", + "zh-CN/concepts/usage-tracking", + "zh-CN/concepts/timezone", + "zh-CN/token-use" + ] + }, + { + "group": "Release notes", + "pages": ["zh-CN/reference/RELEASING", "zh-CN/reference/test"] + } ] }, { - "group": "Providers", - "pages": [ - "zh-CN/providers/index", - "zh-CN/providers/models", - "zh-CN/providers/openai", - "zh-CN/providers/anthropic", - "zh-CN/bedrock", - "zh-CN/providers/moonshot", - "zh-CN/providers/minimax", - "zh-CN/providers/vercel-ai-gateway", - "zh-CN/providers/openrouter", - "zh-CN/providers/synthetic", - "zh-CN/providers/opencode", - "zh-CN/providers/glm", - "zh-CN/providers/zai" - ] - }, - { - "group": "Automation & Hooks", - "pages": [ - "zh-CN/hooks", - "zh-CN/hooks/soul-evil", - "zh-CN/automation/auth-monitoring", - "zh-CN/automation/webhook", - "zh-CN/automation/gmail-pubsub", - "zh-CN/automation/cron-jobs", - "zh-CN/automation/cron-vs-heartbeat", - "zh-CN/automation/poll" - ] - }, - { - "group": "Tools & Skills", - "pages": [ - "zh-CN/tools/index", - "zh-CN/tools/lobster", - "zh-CN/tools/llm-task", - "zh-CN/plugin", - "zh-CN/plugins/voice-call", - "zh-CN/plugins/zalouser", - "zh-CN/tools/exec", - "zh-CN/tools/web", - "zh-CN/tools/apply-patch", - "zh-CN/tools/elevated", - "zh-CN/tools/browser", - "zh-CN/tools/browser-login", - "zh-CN/tools/chrome-extension", - "zh-CN/tools/browser-linux-troubleshooting", - "zh-CN/tools/slash-commands", - "zh-CN/tools/thinking", - "zh-CN/tools/agent-send", - "zh-CN/tools/subagents", - "zh-CN/multi-agent-sandbox-tools", - "zh-CN/tools/reactions", - "zh-CN/tools/skills", - "zh-CN/tools/skills-config", - "zh-CN/tools/clawhub" - ] - }, - { - "group": "Nodes & Media", - "pages": [ - "zh-CN/nodes/index", - "zh-CN/nodes/camera", - "zh-CN/nodes/images", - "zh-CN/nodes/audio", - "zh-CN/nodes/location-command", - "zh-CN/nodes/voicewake", - "zh-CN/nodes/talk" - ] - }, - { - "group": "Platforms", - "pages": [ - "zh-CN/platforms/index", - "zh-CN/platforms/macos", - "zh-CN/platforms/macos-vm", - "zh-CN/platforms/ios", - "zh-CN/platforms/android", - "zh-CN/platforms/windows", - "zh-CN/platforms/linux", - "zh-CN/platforms/fly", - "zh-CN/platforms/hetzner", - "zh-CN/platforms/gcp", - "zh-CN/platforms/exe-dev" - ] - }, - { - "group": "macOS Companion App", - "pages": [ - "zh-CN/platforms/mac/dev-setup", - "zh-CN/platforms/mac/menu-bar", - "zh-CN/platforms/mac/voicewake", - "zh-CN/platforms/mac/voice-overlay", - "zh-CN/platforms/mac/webchat", - "zh-CN/platforms/mac/canvas", - "zh-CN/platforms/mac/child-process", - "zh-CN/platforms/mac/health", - "zh-CN/platforms/mac/icon", - "zh-CN/platforms/mac/logging", - "zh-CN/platforms/mac/permissions", - "zh-CN/platforms/mac/remote", - "zh-CN/platforms/mac/signing", - "zh-CN/platforms/mac/release", - "zh-CN/platforms/mac/bundled-gateway", - "zh-CN/platforms/mac/xpc", - "zh-CN/platforms/mac/skills", - "zh-CN/platforms/mac/peekaboo" - ] - }, - { - "group": "Reference & Templates", - "pages": [ - "zh-CN/testing", - "zh-CN/scripts", - "zh-CN/reference/session-management-compaction", - "zh-CN/reference/rpc", - "zh-CN/reference/device-models", - "zh-CN/reference/test", - "zh-CN/reference/RELEASING", - "zh-CN/reference/AGENTS.default", - "zh-CN/reference/templates/AGENTS", - "zh-CN/reference/templates/BOOT", - "zh-CN/reference/templates/BOOTSTRAP", - "zh-CN/reference/templates/HEARTBEAT", - "zh-CN/reference/templates/IDENTITY", - "zh-CN/reference/templates/SOUL", - "zh-CN/reference/templates/TOOLS", - "zh-CN/reference/templates/USER" + "tab": "Help", + "groups": [ + { + "group": "Help", + "pages": ["zh-CN/help/index", "zh-CN/help/troubleshooting", "zh-CN/help/faq"] + }, + { + "group": "Environment and debugging", + "pages": [ + "zh-CN/environment", + "zh-CN/debugging", + "zh-CN/testing", + "zh-CN/scripts", + "zh-CN/reference/session-management-compaction" + ] + } ] } ]