Docs: streamline start and install docs (#9648)
* docs(start): streamline getting started flow * docs(nav): reorganize start and install sections * docs(style): move custom css to style.css * docs(navigation): align zh-CN ordering * docs(navigation): localize zh-Hans labels
This commit is contained in:
@@ -1,4 +0,0 @@
|
|||||||
#content-area h1:first-of-type,
|
|
||||||
.prose h1:first-of-type {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
282
docs/docs.json
282
docs/docs.json
@@ -334,6 +334,14 @@
|
|||||||
"source": "/getting-started",
|
"source": "/getting-started",
|
||||||
"destination": "/start/getting-started"
|
"destination": "/start/getting-started"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"source": "/quickstart",
|
||||||
|
"destination": "/start/getting-started"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"source": "/start/quickstart",
|
||||||
|
"destination": "/start/getting-started"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"source": "/gmail-pubsub",
|
"source": "/gmail-pubsub",
|
||||||
"destination": "/automation/gmail-pubsub"
|
"destination": "/automation/gmail-pubsub"
|
||||||
@@ -732,43 +740,46 @@
|
|||||||
"pages": ["index", "concepts/features", "start/showcase", "start/lore"]
|
"pages": ["index", "concepts/features", "start/showcase", "start/lore"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"group": "Installation",
|
"group": "First run",
|
||||||
"pages": [
|
|
||||||
"install/index",
|
|
||||||
"install/installer",
|
|
||||||
"install/docker",
|
|
||||||
"install/bun",
|
|
||||||
"install/nix",
|
|
||||||
"install/ansible",
|
|
||||||
"install/development-channels",
|
|
||||||
"install/updating",
|
|
||||||
"install/uninstall"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"group": "Setup",
|
|
||||||
"pages": [
|
"pages": [
|
||||||
"start/getting-started",
|
"start/getting-started",
|
||||||
"start/quickstart",
|
{
|
||||||
"start/wizard",
|
"group": "Onboarding",
|
||||||
"start/setup",
|
"pages": ["start/wizard", "start/onboarding"]
|
||||||
"start/onboarding",
|
},
|
||||||
"start/pairing",
|
"start/pairing"
|
||||||
"start/openclaw",
|
|
||||||
"start/hubs",
|
|
||||||
"start/docs-directory"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"group": "Platforms",
|
"group": "Use cases",
|
||||||
|
"pages": ["start/openclaw"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"tab": "Install",
|
||||||
|
"groups": [
|
||||||
|
{
|
||||||
|
"group": "Install overview",
|
||||||
|
"pages": ["install/index", "install/installer"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group": "Install methods",
|
||||||
"pages": [
|
"pages": [
|
||||||
"platforms/index",
|
"install/node",
|
||||||
"platforms/macos",
|
"install/docker",
|
||||||
"platforms/linux",
|
"install/nix",
|
||||||
"platforms/windows",
|
"install/ansible",
|
||||||
"platforms/android",
|
"install/bun"
|
||||||
"platforms/ios"
|
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group": "Maintenance",
|
||||||
|
"pages": ["install/updating", "install/migrating", "install/uninstall"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group": "Advanced",
|
||||||
|
"pages": ["install/development-channels"]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -955,7 +966,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"tab": "Infrastructure",
|
"tab": "Gateway & Ops",
|
||||||
"groups": [
|
"groups": [
|
||||||
{
|
{
|
||||||
"group": "Gateway",
|
"group": "Gateway",
|
||||||
@@ -1030,6 +1041,22 @@
|
|||||||
{
|
{
|
||||||
"group": "Web interfaces",
|
"group": "Web interfaces",
|
||||||
"pages": ["web/index", "web/control-ui", "web/dashboard", "web/webchat", "tui"]
|
"pages": ["web/index", "web/control-ui", "web/dashboard", "web/webchat", "tui"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"tab": "Platforms",
|
||||||
|
"groups": [
|
||||||
|
{
|
||||||
|
"group": "Platforms overview",
|
||||||
|
"pages": [
|
||||||
|
"platforms/index",
|
||||||
|
"platforms/macos",
|
||||||
|
"platforms/linux",
|
||||||
|
"platforms/windows",
|
||||||
|
"platforms/android",
|
||||||
|
"platforms/ios"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"group": "macOS companion app",
|
"group": "macOS companion app",
|
||||||
@@ -1155,6 +1182,14 @@
|
|||||||
"scripts",
|
"scripts",
|
||||||
"reference/session-management-compaction"
|
"reference/session-management-compaction"
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group": "Developer workflows",
|
||||||
|
"pages": ["start/setup"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group": "Docs meta",
|
||||||
|
"pages": ["start/hubs", "start/docs-directory"]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -1164,60 +1199,74 @@
|
|||||||
"language": "zh-Hans",
|
"language": "zh-Hans",
|
||||||
"tabs": [
|
"tabs": [
|
||||||
{
|
{
|
||||||
"tab": "Get started",
|
"tab": "快速开始",
|
||||||
"groups": [
|
"groups": [
|
||||||
{
|
{
|
||||||
"group": "Overview",
|
"group": "概览",
|
||||||
"pages": ["zh-CN/index", "zh-CN/start/showcase", "zh-CN/start/lore"]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"group": "Installation",
|
|
||||||
"pages": [
|
"pages": [
|
||||||
"zh-CN/install/index",
|
"zh-CN/index",
|
||||||
"zh-CN/install/installer",
|
"zh-CN/concepts/features",
|
||||||
"zh-CN/install/docker",
|
"zh-CN/start/showcase",
|
||||||
"zh-CN/install/bun",
|
"zh-CN/start/lore"
|
||||||
"zh-CN/install/nix",
|
|
||||||
"zh-CN/install/ansible",
|
|
||||||
"zh-CN/install/development-channels",
|
|
||||||
"zh-CN/install/updating",
|
|
||||||
"zh-CN/install/uninstall"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"group": "Setup",
|
"group": "首次运行",
|
||||||
"pages": [
|
"pages": [
|
||||||
"zh-CN/start/getting-started",
|
"zh-CN/start/getting-started",
|
||||||
"zh-CN/start/wizard",
|
{
|
||||||
"zh-CN/start/setup",
|
"group": "新手引导",
|
||||||
"zh-CN/start/onboarding",
|
"pages": ["zh-CN/start/wizard", "zh-CN/start/onboarding"]
|
||||||
"zh-CN/start/pairing",
|
},
|
||||||
"zh-CN/start/openclaw",
|
"zh-CN/start/pairing"
|
||||||
"zh-CN/start/hubs"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"group": "Platforms",
|
"group": "使用场景",
|
||||||
"pages": [
|
"pages": ["zh-CN/start/openclaw"]
|
||||||
"zh-CN/platforms/index",
|
|
||||||
"zh-CN/platforms/macos",
|
|
||||||
"zh-CN/platforms/linux",
|
|
||||||
"zh-CN/platforms/windows",
|
|
||||||
"zh-CN/platforms/android",
|
|
||||||
"zh-CN/platforms/ios"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"tab": "Channels",
|
"tab": "安装",
|
||||||
"groups": [
|
"groups": [
|
||||||
{
|
{
|
||||||
"group": "Overview",
|
"group": "安装概览",
|
||||||
|
"pages": ["zh-CN/install/index", "zh-CN/install/installer"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group": "安装方式",
|
||||||
|
"pages": [
|
||||||
|
"zh-CN/install/node",
|
||||||
|
"zh-CN/install/docker",
|
||||||
|
"zh-CN/install/nix",
|
||||||
|
"zh-CN/install/ansible",
|
||||||
|
"zh-CN/install/bun"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group": "维护",
|
||||||
|
"pages": [
|
||||||
|
"zh-CN/install/updating",
|
||||||
|
"zh-CN/install/migrating",
|
||||||
|
"zh-CN/install/uninstall"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group": "高级",
|
||||||
|
"pages": ["zh-CN/install/development-channels"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"tab": "消息渠道",
|
||||||
|
"groups": [
|
||||||
|
{
|
||||||
|
"group": "概览",
|
||||||
"pages": ["zh-CN/channels/index"]
|
"pages": ["zh-CN/channels/index"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"group": "Messaging platforms",
|
"group": "消息平台",
|
||||||
"pages": [
|
"pages": [
|
||||||
"zh-CN/channels/whatsapp",
|
"zh-CN/channels/whatsapp",
|
||||||
"zh-CN/channels/telegram",
|
"zh-CN/channels/telegram",
|
||||||
@@ -1237,7 +1286,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"group": "Configuration",
|
"group": "配置",
|
||||||
"pages": [
|
"pages": [
|
||||||
"zh-CN/concepts/group-messages",
|
"zh-CN/concepts/group-messages",
|
||||||
"zh-CN/concepts/groups",
|
"zh-CN/concepts/groups",
|
||||||
@@ -1250,10 +1299,10 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"tab": "Agents",
|
"tab": "代理",
|
||||||
"groups": [
|
"groups": [
|
||||||
{
|
{
|
||||||
"group": "Fundamentals",
|
"group": "基础",
|
||||||
"pages": [
|
"pages": [
|
||||||
"zh-CN/concepts/architecture",
|
"zh-CN/concepts/architecture",
|
||||||
"zh-CN/concepts/agent",
|
"zh-CN/concepts/agent",
|
||||||
@@ -1265,7 +1314,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"group": "Sessions and memory",
|
"group": "会话与记忆",
|
||||||
"pages": [
|
"pages": [
|
||||||
"zh-CN/concepts/session",
|
"zh-CN/concepts/session",
|
||||||
"zh-CN/concepts/sessions",
|
"zh-CN/concepts/sessions",
|
||||||
@@ -1276,11 +1325,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"group": "Multi-agent",
|
"group": "多代理",
|
||||||
"pages": ["zh-CN/concepts/multi-agent", "zh-CN/concepts/presence"]
|
"pages": ["zh-CN/concepts/multi-agent", "zh-CN/concepts/presence"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"group": "Messages and delivery",
|
"group": "消息与投递",
|
||||||
"pages": [
|
"pages": [
|
||||||
"zh-CN/concepts/messages",
|
"zh-CN/concepts/messages",
|
||||||
"zh-CN/concepts/streaming",
|
"zh-CN/concepts/streaming",
|
||||||
@@ -1291,14 +1340,14 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"tab": "Tools",
|
"tab": "工具",
|
||||||
"groups": [
|
"groups": [
|
||||||
{
|
{
|
||||||
"group": "Overview",
|
"group": "概览",
|
||||||
"pages": ["zh-CN/tools/index"]
|
"pages": ["zh-CN/tools/index"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"group": "Built-in tools",
|
"group": "内置工具",
|
||||||
"pages": [
|
"pages": [
|
||||||
"zh-CN/tools/lobster",
|
"zh-CN/tools/lobster",
|
||||||
"zh-CN/tools/llm-task",
|
"zh-CN/tools/llm-task",
|
||||||
@@ -1311,7 +1360,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"group": "Browser",
|
"group": "浏览器",
|
||||||
"pages": [
|
"pages": [
|
||||||
"zh-CN/tools/browser",
|
"zh-CN/tools/browser",
|
||||||
"zh-CN/tools/browser-login",
|
"zh-CN/tools/browser-login",
|
||||||
@@ -1320,7 +1369,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"group": "Agent coordination",
|
"group": "代理协作",
|
||||||
"pages": [
|
"pages": [
|
||||||
"zh-CN/tools/agent-send",
|
"zh-CN/tools/agent-send",
|
||||||
"zh-CN/tools/subagents",
|
"zh-CN/tools/subagents",
|
||||||
@@ -1328,7 +1377,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"group": "Skills and extensions",
|
"group": "技能与扩展",
|
||||||
"pages": [
|
"pages": [
|
||||||
"zh-CN/tools/slash-commands",
|
"zh-CN/tools/slash-commands",
|
||||||
"zh-CN/tools/skills",
|
"zh-CN/tools/skills",
|
||||||
@@ -1340,7 +1389,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"group": "Automation",
|
"group": "自动化",
|
||||||
"pages": [
|
"pages": [
|
||||||
"zh-CN/hooks",
|
"zh-CN/hooks",
|
||||||
"zh-CN/hooks/soul-evil",
|
"zh-CN/hooks/soul-evil",
|
||||||
@@ -1353,7 +1402,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"group": "Media and devices",
|
"group": "媒体与设备",
|
||||||
"pages": [
|
"pages": [
|
||||||
"zh-CN/nodes/index",
|
"zh-CN/nodes/index",
|
||||||
"zh-CN/nodes/images",
|
"zh-CN/nodes/images",
|
||||||
@@ -1367,10 +1416,10 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"tab": "Models",
|
"tab": "模型",
|
||||||
"groups": [
|
"groups": [
|
||||||
{
|
{
|
||||||
"group": "Overview",
|
"group": "概览",
|
||||||
"pages": [
|
"pages": [
|
||||||
"zh-CN/providers/index",
|
"zh-CN/providers/index",
|
||||||
"zh-CN/providers/models",
|
"zh-CN/providers/models",
|
||||||
@@ -1378,11 +1427,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"group": "Configuration",
|
"group": "配置",
|
||||||
"pages": ["zh-CN/concepts/model-providers", "zh-CN/concepts/model-failover"]
|
"pages": ["zh-CN/concepts/model-providers", "zh-CN/concepts/model-failover"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"group": "Providers",
|
"group": "提供商",
|
||||||
"pages": [
|
"pages": [
|
||||||
"zh-CN/providers/anthropic",
|
"zh-CN/providers/anthropic",
|
||||||
"zh-CN/providers/openai",
|
"zh-CN/providers/openai",
|
||||||
@@ -1400,14 +1449,14 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"tab": "Infrastructure",
|
"tab": "网关与运维",
|
||||||
"groups": [
|
"groups": [
|
||||||
{
|
{
|
||||||
"group": "Gateway",
|
"group": "网关",
|
||||||
"pages": [
|
"pages": [
|
||||||
"zh-CN/gateway/index",
|
"zh-CN/gateway/index",
|
||||||
{
|
{
|
||||||
"group": "Configuration and operations",
|
"group": "配置与运维",
|
||||||
"pages": [
|
"pages": [
|
||||||
"zh-CN/gateway/configuration",
|
"zh-CN/gateway/configuration",
|
||||||
"zh-CN/gateway/configuration-examples",
|
"zh-CN/gateway/configuration-examples",
|
||||||
@@ -1423,7 +1472,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"group": "Security and sandboxing",
|
"group": "安全与沙箱",
|
||||||
"pages": [
|
"pages": [
|
||||||
"zh-CN/gateway/security/index",
|
"zh-CN/gateway/security/index",
|
||||||
"zh-CN/gateway/sandboxing",
|
"zh-CN/gateway/sandboxing",
|
||||||
@@ -1431,7 +1480,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"group": "Protocols and APIs",
|
"group": "协议与 API",
|
||||||
"pages": [
|
"pages": [
|
||||||
"zh-CN/gateway/protocol",
|
"zh-CN/gateway/protocol",
|
||||||
"zh-CN/gateway/bridge-protocol",
|
"zh-CN/gateway/bridge-protocol",
|
||||||
@@ -1442,8 +1491,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"group": "Networking and discovery",
|
"group": "网络与发现",
|
||||||
"pages": [
|
"pages": [
|
||||||
|
"zh-CN/gateway/network-model",
|
||||||
"zh-CN/gateway/pairing",
|
"zh-CN/gateway/pairing",
|
||||||
"zh-CN/gateway/discovery",
|
"zh-CN/gateway/discovery",
|
||||||
"zh-CN/gateway/bonjour"
|
"zh-CN/gateway/bonjour"
|
||||||
@@ -1452,7 +1502,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"group": "Remote access and deployment",
|
"group": "远程访问与部署",
|
||||||
"pages": [
|
"pages": [
|
||||||
"zh-CN/gateway/remote",
|
"zh-CN/gateway/remote",
|
||||||
"zh-CN/gateway/remote-gateway-readme",
|
"zh-CN/gateway/remote-gateway-readme",
|
||||||
@@ -1468,11 +1518,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"group": "Security",
|
"group": "安全",
|
||||||
"pages": ["zh-CN/security/formal-verification"]
|
"pages": ["zh-CN/security/formal-verification"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"group": "Web interfaces",
|
"group": "Web 界面",
|
||||||
"pages": [
|
"pages": [
|
||||||
"zh-CN/web/index",
|
"zh-CN/web/index",
|
||||||
"zh-CN/web/control-ui",
|
"zh-CN/web/control-ui",
|
||||||
@@ -1480,9 +1530,25 @@
|
|||||||
"zh-CN/web/webchat",
|
"zh-CN/web/webchat",
|
||||||
"zh-CN/tui"
|
"zh-CN/tui"
|
||||||
]
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"tab": "平台",
|
||||||
|
"groups": [
|
||||||
|
{
|
||||||
|
"group": "平台概览",
|
||||||
|
"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": "macOS companion app",
|
"group": "macOS 配套应用",
|
||||||
"pages": [
|
"pages": [
|
||||||
"zh-CN/platforms/mac/dev-setup",
|
"zh-CN/platforms/mac/dev-setup",
|
||||||
"zh-CN/platforms/mac/menu-bar",
|
"zh-CN/platforms/mac/menu-bar",
|
||||||
@@ -1507,10 +1573,10 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"tab": "Reference",
|
"tab": "参考",
|
||||||
"groups": [
|
"groups": [
|
||||||
{
|
{
|
||||||
"group": "CLI commands",
|
"group": "CLI 命令",
|
||||||
"pages": [
|
"pages": [
|
||||||
"zh-CN/cli/index",
|
"zh-CN/cli/index",
|
||||||
"zh-CN/cli/agent",
|
"zh-CN/cli/agent",
|
||||||
@@ -1551,11 +1617,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"group": "RPC and API",
|
"group": "RPC 与 API",
|
||||||
"pages": ["zh-CN/reference/rpc", "zh-CN/reference/device-models"]
|
"pages": ["zh-CN/reference/rpc", "zh-CN/reference/device-models"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"group": "Templates",
|
"group": "模板",
|
||||||
"pages": [
|
"pages": [
|
||||||
"zh-CN/reference/AGENTS.default",
|
"zh-CN/reference/AGENTS.default",
|
||||||
"zh-CN/reference/templates/AGENTS",
|
"zh-CN/reference/templates/AGENTS",
|
||||||
@@ -1569,7 +1635,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"group": "Technical reference",
|
"group": "技术参考",
|
||||||
"pages": [
|
"pages": [
|
||||||
"zh-CN/concepts/typebox",
|
"zh-CN/concepts/typebox",
|
||||||
"zh-CN/concepts/markdown-formatting",
|
"zh-CN/concepts/markdown-formatting",
|
||||||
@@ -1580,20 +1646,24 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"group": "Release notes",
|
"group": "项目",
|
||||||
|
"pages": ["zh-CN/reference/credits"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group": "发布说明",
|
||||||
"pages": ["zh-CN/reference/RELEASING", "zh-CN/reference/test"]
|
"pages": ["zh-CN/reference/RELEASING", "zh-CN/reference/test"]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"tab": "Help",
|
"tab": "帮助",
|
||||||
"groups": [
|
"groups": [
|
||||||
{
|
{
|
||||||
"group": "Help",
|
"group": "帮助",
|
||||||
"pages": ["zh-CN/help/index", "zh-CN/help/troubleshooting", "zh-CN/help/faq"]
|
"pages": ["zh-CN/help/index", "zh-CN/help/troubleshooting", "zh-CN/help/faq"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"group": "Environment and debugging",
|
"group": "环境与调试",
|
||||||
"pages": [
|
"pages": [
|
||||||
"zh-CN/environment",
|
"zh-CN/environment",
|
||||||
"zh-CN/debugging",
|
"zh-CN/debugging",
|
||||||
@@ -1601,6 +1671,14 @@
|
|||||||
"zh-CN/scripts",
|
"zh-CN/scripts",
|
||||||
"zh-CN/reference/session-management-compaction"
|
"zh-CN/reference/session-management-compaction"
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group": "开发者工作流",
|
||||||
|
"pages": ["zh-CN/start/setup"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group": "文档元信息",
|
||||||
|
"pages": ["zh-CN/start/hubs", "zh-CN/start/docs-directory"]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -102,6 +102,8 @@ openclaw onboard --install-daemon
|
|||||||
|
|
||||||
Tip: if you don’t have a global install yet, run repo commands via `pnpm openclaw ...`.
|
Tip: if you don’t have a global install yet, run repo commands via `pnpm openclaw ...`.
|
||||||
|
|
||||||
|
For deeper development workflows, see [Setup](/start/setup).
|
||||||
|
|
||||||
### 4) Other install options
|
### 4) Other install options
|
||||||
|
|
||||||
- Docker: [Docker](/install/docker)
|
- Docker: [Docker](/install/docker)
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ title: "Docs directory"
|
|||||||
---
|
---
|
||||||
|
|
||||||
<Note>
|
<Note>
|
||||||
|
This page is a curated index. If you are new, start with [Getting Started](/start/getting-started).
|
||||||
For a complete map of the docs, see [Docs hubs](/start/hubs).
|
For a complete map of the docs, see [Docs hubs](/start/hubs).
|
||||||
</Note>
|
</Note>
|
||||||
|
|
||||||
|
|||||||
@@ -1,208 +1,120 @@
|
|||||||
---
|
---
|
||||||
summary: "Beginner guide: from zero to first message (wizard, auth, channels, pairing)"
|
summary: "Get OpenClaw installed and run your first chat in minutes."
|
||||||
read_when:
|
read_when:
|
||||||
- First time setup from zero
|
- First time setup from zero
|
||||||
- You want the fastest path from install → onboarding → first message
|
- You want the fastest path to a working chat
|
||||||
title: "Getting Started"
|
title: "Getting Started"
|
||||||
---
|
---
|
||||||
|
|
||||||
# Getting Started
|
# Getting Started
|
||||||
|
|
||||||
Goal: go from **zero** → **first working chat** (with sane defaults) as quickly as possible.
|
Goal: go from zero to a first working chat with minimal setup.
|
||||||
|
|
||||||
|
<Info>
|
||||||
Fastest chat: open the Control UI (no channel setup needed). Run `openclaw dashboard`
|
Fastest chat: open the Control UI (no channel setup needed). Run `openclaw dashboard`
|
||||||
and chat in the browser, or open `http://127.0.0.1:18789/` on the gateway host.
|
and chat in the browser, or open `http://127.0.0.1:18789/` on the
|
||||||
|
<Tooltip headline="Gateway host" tip="The machine running the OpenClaw gateway service.">gateway host</Tooltip>.
|
||||||
Docs: [Dashboard](/web/dashboard) and [Control UI](/web/control-ui).
|
Docs: [Dashboard](/web/dashboard) and [Control UI](/web/control-ui).
|
||||||
|
</Info>
|
||||||
|
|
||||||
Recommended path: use the **CLI onboarding wizard** (`openclaw onboard`). It sets up:
|
## Prereqs
|
||||||
|
|
||||||
- model/auth (OAuth recommended)
|
- Node 22 or newer
|
||||||
- gateway settings
|
|
||||||
- channels (WhatsApp/Telegram/Discord/Mattermost (plugin)/...)
|
|
||||||
- pairing defaults (secure DMs)
|
|
||||||
- workspace bootstrap + skills
|
|
||||||
- optional background service
|
|
||||||
|
|
||||||
If you want the deeper reference pages, jump to: [Wizard](/start/wizard), [Setup](/start/setup), [Pairing](/start/pairing), [Security](/gateway/security).
|
<Tip>
|
||||||
|
Check your Node version with `node --version` if you are unsure.
|
||||||
|
</Tip>
|
||||||
|
|
||||||
Sandboxing note: `agents.defaults.sandbox.mode: "non-main"` uses `session.mainKey` (default `"main"`),
|
## Quick setup (CLI)
|
||||||
so group/channel sessions are sandboxed. If you want the main agent to always
|
|
||||||
run on host, set an explicit per-agent override:
|
|
||||||
|
|
||||||
```json
|
<Steps>
|
||||||
{
|
<Step title="Install OpenClaw (recommended)">
|
||||||
"routing": {
|
<Tabs>
|
||||||
"agents": {
|
<Tab title="macOS/Linux">
|
||||||
"main": {
|
```bash
|
||||||
"workspace": "~/.openclaw/workspace",
|
curl -fsSL https://openclaw.ai/install.sh | bash
|
||||||
"sandbox": { "mode": "off" }
|
```
|
||||||
}
|
</Tab>
|
||||||
}
|
<Tab title="Windows (PowerShell)">
|
||||||
}
|
```powershell
|
||||||
}
|
iwr -useb https://openclaw.ai/install.ps1 | iex
|
||||||
```
|
```
|
||||||
|
</Tab>
|
||||||
|
</Tabs>
|
||||||
|
|
||||||
## 0) Prereqs
|
<Note>
|
||||||
|
Other install methods and requirements: [Install](/install).
|
||||||
|
</Note>
|
||||||
|
|
||||||
- Node `>=22`
|
</Step>
|
||||||
- `pnpm` (optional; recommended if you build from source)
|
<Step title="Run the onboarding wizard">
|
||||||
- **Recommended:** Brave Search API key for web search. Easiest path:
|
```bash
|
||||||
`openclaw configure --section web` (stores `tools.web.search.apiKey`).
|
openclaw onboard --install-daemon
|
||||||
See [Web tools](/tools/web).
|
```
|
||||||
|
|
||||||
macOS: if you plan to build the apps, install Xcode / CLT. For the CLI + gateway only, Node is enough.
|
The wizard configures auth, gateway settings, and optional channels.
|
||||||
Windows: use **WSL2** (Ubuntu recommended). WSL2 is strongly recommended; native Windows is untested, more problematic, and has poorer tool compatibility. Install WSL2 first, then run the Linux steps inside WSL. See [Windows (WSL2)](/platforms/windows).
|
See [Onboarding Wizard](/start/wizard) for details.
|
||||||
|
|
||||||
## 1) Install the CLI (recommended)
|
</Step>
|
||||||
|
<Step title="Check the Gateway">
|
||||||
|
If you installed the service, it should already be running:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -fsSL https://openclaw.ai/install.sh | bash
|
openclaw gateway status
|
||||||
```
|
```
|
||||||
|
|
||||||
Installer options (install method, non-interactive, from GitHub): [Install](/install).
|
</Step>
|
||||||
|
<Step title="Open the Control UI">
|
||||||
|
```bash
|
||||||
|
openclaw dashboard
|
||||||
|
```
|
||||||
|
</Step>
|
||||||
|
</Steps>
|
||||||
|
|
||||||
Windows (PowerShell):
|
<Check>
|
||||||
|
If the Control UI loads, your Gateway is ready for use.
|
||||||
|
</Check>
|
||||||
|
|
||||||
```powershell
|
## Optional checks and extras
|
||||||
iwr -useb https://openclaw.ai/install.ps1 | iex
|
|
||||||
```
|
|
||||||
|
|
||||||
Alternative (global install):
|
<AccordionGroup>
|
||||||
|
<Accordion title="Run the Gateway in the foreground">
|
||||||
|
Useful for quick tests or troubleshooting.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npm install -g openclaw@latest
|
openclaw gateway --port 18789
|
||||||
```
|
```
|
||||||
|
|
||||||
```bash
|
</Accordion>
|
||||||
pnpm add -g openclaw@latest
|
<Accordion title="Send a test message">
|
||||||
```
|
Requires a configured channel.
|
||||||
|
|
||||||
## 2) Run the onboarding wizard (and install the service)
|
```bash
|
||||||
|
openclaw message send --target +15555550123 --message "Hello from OpenClaw"
|
||||||
|
```
|
||||||
|
|
||||||
```bash
|
</Accordion>
|
||||||
openclaw onboard --install-daemon
|
</AccordionGroup>
|
||||||
```
|
|
||||||
|
|
||||||
What you’ll choose:
|
## Go deeper
|
||||||
|
|
||||||
- **Local vs Remote** gateway
|
<Columns>
|
||||||
- **Auth**: OpenAI Code (Codex) subscription (OAuth) or API keys. For Anthropic we recommend an API key; `claude setup-token` is also supported.
|
<Card title="Onboarding Wizard (details)" href="/start/wizard">
|
||||||
- **Providers**: WhatsApp QR login, Telegram/Discord bot tokens, Mattermost plugin tokens, etc.
|
Full CLI wizard reference and advanced options.
|
||||||
- **Daemon**: background install (launchd/systemd; WSL2 uses systemd)
|
</Card>
|
||||||
- **Runtime**: Node (recommended; required for WhatsApp/Telegram). Bun is **not recommended**.
|
<Card title="macOS app onboarding" href="/start/onboarding">
|
||||||
- **Gateway token**: the wizard generates one by default (even on loopback) and stores it in `gateway.auth.token`.
|
First run flow for the macOS app.
|
||||||
|
</Card>
|
||||||
|
</Columns>
|
||||||
|
|
||||||
Wizard doc: [Wizard](/start/wizard)
|
## What you will have
|
||||||
|
|
||||||
### Auth: where it lives (important)
|
- A running Gateway
|
||||||
|
- Auth configured
|
||||||
|
- Control UI access or a connected channel
|
||||||
|
|
||||||
- **Recommended Anthropic path:** set an API key (wizard can store it for service use). `claude setup-token` is also supported if you want to reuse Claude Code credentials.
|
## Next steps
|
||||||
|
|
||||||
- OAuth credentials (legacy import): `~/.openclaw/credentials/oauth.json`
|
- DM safety and approvals: [Pairing](/start/pairing)
|
||||||
- Auth profiles (OAuth + API keys): `~/.openclaw/agents/<agentId>/agent/auth-profiles.json`
|
- Connect more channels: [Channels](/channels)
|
||||||
|
- Advanced workflows and from source: [Setup](/start/setup)
|
||||||
Headless/server tip: do OAuth on a normal machine first, then copy `oauth.json` to the gateway host.
|
|
||||||
|
|
||||||
## 3) Start the Gateway
|
|
||||||
|
|
||||||
If you installed the service during onboarding, the Gateway should already be running:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
openclaw gateway status
|
|
||||||
```
|
|
||||||
|
|
||||||
Manual run (foreground):
|
|
||||||
|
|
||||||
```bash
|
|
||||||
openclaw gateway --port 18789 --verbose
|
|
||||||
```
|
|
||||||
|
|
||||||
Dashboard (local loopback): `http://127.0.0.1:18789/`
|
|
||||||
If a token is configured, paste it into the Control UI settings (stored as `connect.params.auth.token`).
|
|
||||||
|
|
||||||
⚠️ **Bun warning (WhatsApp + Telegram):** Bun has known issues with these
|
|
||||||
channels. If you use WhatsApp or Telegram, run the Gateway with **Node**.
|
|
||||||
|
|
||||||
## 3.5) Quick verify (2 min)
|
|
||||||
|
|
||||||
```bash
|
|
||||||
openclaw status
|
|
||||||
openclaw health
|
|
||||||
openclaw security audit --deep
|
|
||||||
```
|
|
||||||
|
|
||||||
## 4) Pair + connect your first chat surface
|
|
||||||
|
|
||||||
### WhatsApp (QR login)
|
|
||||||
|
|
||||||
```bash
|
|
||||||
openclaw channels login
|
|
||||||
```
|
|
||||||
|
|
||||||
Scan via WhatsApp → Settings → Linked Devices.
|
|
||||||
|
|
||||||
WhatsApp doc: [WhatsApp](/channels/whatsapp)
|
|
||||||
|
|
||||||
### Telegram / Discord / others
|
|
||||||
|
|
||||||
The wizard can write tokens/config for you. If you prefer manual config, start with:
|
|
||||||
|
|
||||||
- Telegram: [Telegram](/channels/telegram)
|
|
||||||
- Discord: [Discord](/channels/discord)
|
|
||||||
- Mattermost (plugin): [Mattermost](/channels/mattermost)
|
|
||||||
|
|
||||||
**Telegram DM tip:** your first DM returns a pairing code. Approve it (see next step) or the bot won’t respond.
|
|
||||||
|
|
||||||
## 5) DM safety (pairing approvals)
|
|
||||||
|
|
||||||
Default posture: unknown DMs get a short code and messages are not processed until approved.
|
|
||||||
If your first DM gets no reply, approve the pairing:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
openclaw pairing list whatsapp
|
|
||||||
openclaw pairing approve whatsapp <code>
|
|
||||||
```
|
|
||||||
|
|
||||||
Pairing doc: [Pairing](/start/pairing)
|
|
||||||
|
|
||||||
## From source (development)
|
|
||||||
|
|
||||||
If you’re hacking on OpenClaw itself, run from source:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git clone https://github.com/openclaw/openclaw.git
|
|
||||||
cd openclaw
|
|
||||||
pnpm install
|
|
||||||
pnpm ui:build # auto-installs UI deps on first run
|
|
||||||
pnpm build
|
|
||||||
openclaw onboard --install-daemon
|
|
||||||
```
|
|
||||||
|
|
||||||
If you don’t have a global install yet, run the onboarding step via `pnpm openclaw ...` from the repo.
|
|
||||||
`pnpm build` also bundles A2UI assets; if you need to run just that step, use `pnpm canvas:a2ui:bundle`.
|
|
||||||
|
|
||||||
Gateway (from this repo):
|
|
||||||
|
|
||||||
```bash
|
|
||||||
node openclaw.mjs gateway --port 18789 --verbose
|
|
||||||
```
|
|
||||||
|
|
||||||
## 7) Verify end-to-end
|
|
||||||
|
|
||||||
In a new terminal, send a test message:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
openclaw message send --target +15555550123 --message "Hello from OpenClaw"
|
|
||||||
```
|
|
||||||
|
|
||||||
If `openclaw health` shows “no auth configured”, go back to the wizard and set OAuth/key auth — the agent won’t be able to respond without it.
|
|
||||||
|
|
||||||
Tip: `openclaw status --all` is the best pasteable, read-only debug report.
|
|
||||||
Health probes: `openclaw health` (or `openclaw status --deep`) asks the running gateway for a health snapshot.
|
|
||||||
|
|
||||||
## Next steps (optional, but great)
|
|
||||||
|
|
||||||
- macOS menu bar app + voice wake: [macOS app](/platforms/macos)
|
|
||||||
- iOS/Android nodes (Canvas/camera/voice): [Nodes](/nodes)
|
|
||||||
- Remote access (SSH tunnel / Tailscale Serve): [Remote access](/gateway/remote) and [Tailscale](/gateway/tailscale)
|
|
||||||
- Always-on / VPN setups: [Remote access](/gateway/remote), [exe.dev](/platforms/exe-dev), [Hetzner](/platforms/hetzner), [macOS remote](/platforms/mac/remote)
|
|
||||||
|
|||||||
@@ -7,13 +7,16 @@ title: "Docs Hubs"
|
|||||||
|
|
||||||
# Docs hubs
|
# Docs hubs
|
||||||
|
|
||||||
|
<Note>
|
||||||
|
If you are new to OpenClaw, start with [Getting Started](/start/getting-started).
|
||||||
|
</Note>
|
||||||
|
|
||||||
Use these hubs to discover every page, including deep dives and reference docs that don’t appear in the left nav.
|
Use these hubs to discover every page, including deep dives and reference docs that don’t appear in the left nav.
|
||||||
|
|
||||||
## Start here
|
## Start here
|
||||||
|
|
||||||
- [Index](/)
|
- [Index](/)
|
||||||
- [Getting Started](/start/getting-started)
|
- [Getting Started](/start/getting-started)
|
||||||
- [Quick start](/start/quickstart)
|
|
||||||
- [Onboarding](/start/onboarding)
|
- [Onboarding](/start/onboarding)
|
||||||
- [Wizard](/start/wizard)
|
- [Wizard](/start/wizard)
|
||||||
- [Setup](/start/setup)
|
- [Setup](/start/setup)
|
||||||
|
|||||||
@@ -3,10 +3,11 @@ summary: "First-run onboarding flow for OpenClaw (macOS app)"
|
|||||||
read_when:
|
read_when:
|
||||||
- Designing the macOS onboarding assistant
|
- Designing the macOS onboarding assistant
|
||||||
- Implementing auth or identity setup
|
- Implementing auth or identity setup
|
||||||
title: "Onboarding"
|
title: "Onboarding (macOS App)"
|
||||||
|
sidebarTitle: "macOS app"
|
||||||
---
|
---
|
||||||
|
|
||||||
# Onboarding (macOS app)
|
# Onboarding (macOS App)
|
||||||
|
|
||||||
This doc describes the **current** first‑run onboarding flow. The goal is a
|
This doc describes the **current** first‑run onboarding flow. The goal is a
|
||||||
smooth “day 0” experience: pick where the Gateway runs, connect auth, run the
|
smooth “day 0” experience: pick where the Gateway runs, connect auth, run the
|
||||||
|
|||||||
@@ -1,81 +1,22 @@
|
|||||||
---
|
---
|
||||||
summary: "Install OpenClaw, onboard the Gateway, and pair your first channel."
|
summary: "Quick start has moved to Getting Started."
|
||||||
read_when:
|
read_when:
|
||||||
- You want the fastest path from install to a working Gateway
|
- You are looking for the fastest setup steps
|
||||||
|
- You were sent here from an older link
|
||||||
title: "Quick start"
|
title: "Quick start"
|
||||||
---
|
---
|
||||||
|
|
||||||
<Note>
|
# Quick start
|
||||||
OpenClaw requires Node 22 or newer.
|
|
||||||
</Note>
|
|
||||||
|
|
||||||
## Install
|
|
||||||
|
|
||||||
<Tabs>
|
|
||||||
<Tab title="npm">
|
|
||||||
```bash
|
|
||||||
npm install -g openclaw@latest
|
|
||||||
```
|
|
||||||
</Tab>
|
|
||||||
<Tab title="pnpm">
|
|
||||||
```bash
|
|
||||||
pnpm add -g openclaw@latest
|
|
||||||
```
|
|
||||||
</Tab>
|
|
||||||
</Tabs>
|
|
||||||
|
|
||||||
## Onboard and run the Gateway
|
|
||||||
|
|
||||||
<Steps>
|
|
||||||
<Step title="Onboard and install the service">
|
|
||||||
```bash
|
|
||||||
openclaw onboard --install-daemon
|
|
||||||
```
|
|
||||||
</Step>
|
|
||||||
<Step title="Pair WhatsApp">
|
|
||||||
```bash
|
|
||||||
openclaw channels login
|
|
||||||
```
|
|
||||||
</Step>
|
|
||||||
<Step title="Start the Gateway">
|
|
||||||
```bash
|
|
||||||
openclaw gateway --port 18789
|
|
||||||
```
|
|
||||||
</Step>
|
|
||||||
</Steps>
|
|
||||||
|
|
||||||
After onboarding, the Gateway runs via the user service. You can still run it manually with `openclaw gateway`.
|
|
||||||
|
|
||||||
<Info>
|
<Info>
|
||||||
Switching between npm and git installs later is easy. Install the other flavor and run
|
Quick start is now part of [Getting Started](/start/getting-started).
|
||||||
`openclaw doctor` to update the gateway service entrypoint.
|
|
||||||
</Info>
|
</Info>
|
||||||
|
|
||||||
## From source (development)
|
<Columns>
|
||||||
|
<Card title="Getting Started" href="/start/getting-started">
|
||||||
```bash
|
Install OpenClaw and run your first chat in minutes.
|
||||||
git clone https://github.com/openclaw/openclaw.git
|
</Card>
|
||||||
cd openclaw
|
<Card title="Onboarding Wizard" href="/start/wizard">
|
||||||
pnpm install
|
Full CLI wizard reference and advanced options.
|
||||||
pnpm ui:build # auto-installs UI deps on first run
|
</Card>
|
||||||
pnpm build
|
</Columns>
|
||||||
openclaw onboard --install-daemon
|
|
||||||
```
|
|
||||||
|
|
||||||
If you do not have a global install yet, run onboarding via `pnpm openclaw ...` from the repo.
|
|
||||||
|
|
||||||
## Multi instance quickstart (optional)
|
|
||||||
|
|
||||||
```bash
|
|
||||||
OPENCLAW_CONFIG_PATH=~/.openclaw/a.json \
|
|
||||||
OPENCLAW_STATE_DIR=~/.openclaw-a \
|
|
||||||
openclaw gateway --port 19001
|
|
||||||
```
|
|
||||||
|
|
||||||
## Send a test message
|
|
||||||
|
|
||||||
Requires a running Gateway.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
openclaw message send --target +15555550123 --message "Hello from OpenClaw"
|
|
||||||
```
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
summary: "Setup guide: keep your OpenClaw setup tailored while staying up-to-date"
|
summary: "Advanced setup and development workflows for OpenClaw"
|
||||||
read_when:
|
read_when:
|
||||||
- Setting up a new machine
|
- Setting up a new machine
|
||||||
- You want “latest + greatest” without breaking your personal setup
|
- You want “latest + greatest” without breaking your personal setup
|
||||||
@@ -8,6 +8,11 @@ title: "Setup"
|
|||||||
|
|
||||||
# Setup
|
# Setup
|
||||||
|
|
||||||
|
<Note>
|
||||||
|
If you are setting up for the first time, start with [Getting Started](/start/getting-started).
|
||||||
|
For wizard details, see [Onboarding Wizard](/start/wizard).
|
||||||
|
</Note>
|
||||||
|
|
||||||
Last updated: 2026-01-01
|
Last updated: 2026-01-01
|
||||||
|
|
||||||
## TL;DR
|
## TL;DR
|
||||||
@@ -43,6 +48,14 @@ openclaw setup
|
|||||||
|
|
||||||
If you don’t have a global install yet, run it via `pnpm openclaw setup`.
|
If you don’t have a global install yet, run it via `pnpm openclaw setup`.
|
||||||
|
|
||||||
|
## Run the Gateway from this repo
|
||||||
|
|
||||||
|
After `pnpm build`, you can run the packaged CLI directly:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
node openclaw.mjs gateway --port 18789 --verbose
|
||||||
|
```
|
||||||
|
|
||||||
## Stable workflow (macOS app first)
|
## Stable workflow (macOS app first)
|
||||||
|
|
||||||
1. Install + launch **OpenClaw.app** (menu bar).
|
1. Install + launch **OpenClaw.app** (menu bar).
|
||||||
|
|||||||
@@ -3,7 +3,8 @@ summary: "CLI onboarding wizard: guided setup for gateway, workspace, channels,
|
|||||||
read_when:
|
read_when:
|
||||||
- Running or configuring the onboarding wizard
|
- Running or configuring the onboarding wizard
|
||||||
- Setting up a new machine
|
- Setting up a new machine
|
||||||
title: "Onboarding Wizard"
|
title: "Onboarding Wizard (CLI)"
|
||||||
|
sidebarTitle: "Wizard (CLI)"
|
||||||
---
|
---
|
||||||
|
|
||||||
# Onboarding Wizard (CLI)
|
# Onboarding Wizard (CLI)
|
||||||
@@ -19,8 +20,10 @@ Primary entrypoint:
|
|||||||
openclaw onboard
|
openclaw onboard
|
||||||
```
|
```
|
||||||
|
|
||||||
|
<Info>
|
||||||
Fastest first chat: open the Control UI (no channel setup needed). Run
|
Fastest first chat: open the Control UI (no channel setup needed). Run
|
||||||
`openclaw dashboard` and chat in the browser. Docs: [Dashboard](/web/dashboard).
|
`openclaw dashboard` and chat in the browser. Docs: [Dashboard](/web/dashboard).
|
||||||
|
</Info>
|
||||||
|
|
||||||
Follow‑up reconfiguration:
|
Follow‑up reconfiguration:
|
||||||
|
|
||||||
@@ -28,24 +31,29 @@ Follow‑up reconfiguration:
|
|||||||
openclaw configure
|
openclaw configure
|
||||||
```
|
```
|
||||||
|
|
||||||
|
<Tip>
|
||||||
Recommended: set up a Brave Search API key so the agent can use `web_search`
|
Recommended: set up a Brave Search API key so the agent can use `web_search`
|
||||||
(`web_fetch` works without a key). Easiest path: `openclaw configure --section web`
|
(`web_fetch` works without a key). Easiest path: `openclaw configure --section web`
|
||||||
which stores `tools.web.search.apiKey`. Docs: [Web tools](/tools/web).
|
which stores `tools.web.search.apiKey`. Docs: [Web tools](/tools/web).
|
||||||
|
</Tip>
|
||||||
|
|
||||||
## QuickStart vs Advanced
|
## QuickStart vs Advanced
|
||||||
|
|
||||||
The wizard starts with **QuickStart** (defaults) vs **Advanced** (full control).
|
The wizard starts with **QuickStart** (defaults) vs **Advanced** (full control).
|
||||||
|
|
||||||
**QuickStart** keeps the defaults:
|
<Tabs>
|
||||||
|
<Tab title="QuickStart (defaults)">
|
||||||
- Local gateway (loopback)
|
- Local gateway (loopback)
|
||||||
- Workspace default (or existing workspace)
|
- Workspace default (or existing workspace)
|
||||||
- Gateway port **18789**
|
- Gateway port **18789**
|
||||||
- Gateway auth **Token** (auto‑generated, even on loopback)
|
- Gateway auth **Token** (auto‑generated, even on loopback)
|
||||||
- Tailscale exposure **Off**
|
- Tailscale exposure **Off**
|
||||||
- Telegram + WhatsApp DMs default to **allowlist** (you’ll be prompted for your phone number)
|
- Telegram + WhatsApp DMs default to **allowlist** (you’ll be prompted for your phone number)
|
||||||
|
</Tab>
|
||||||
**Advanced** exposes every step (mode, workspace, gateway, channels, daemon, skills).
|
<Tab title="Advanced (full control)">
|
||||||
|
- Exposes every step (mode, workspace, gateway, channels, daemon, skills).
|
||||||
|
</Tab>
|
||||||
|
</Tabs>
|
||||||
|
|
||||||
## What the wizard does
|
## What the wizard does
|
||||||
|
|
||||||
@@ -68,110 +76,124 @@ To add more isolated agents (separate workspace + sessions + auth), use:
|
|||||||
openclaw agents add <name>
|
openclaw agents add <name>
|
||||||
```
|
```
|
||||||
|
|
||||||
Tip: `--json` does **not** imply non-interactive mode. Use `--non-interactive` (and `--workspace`) for scripts.
|
<Note>
|
||||||
|
`--json` does **not** imply non-interactive mode. Use `--non-interactive` (and `--workspace`) for scripts.
|
||||||
|
</Note>
|
||||||
|
|
||||||
## Flow details (local)
|
## Flow details (local)
|
||||||
|
|
||||||
1. **Existing config detection**
|
<Steps>
|
||||||
- If `~/.openclaw/openclaw.json` exists, choose **Keep / Modify / Reset**.
|
<Step title="Existing config detection">
|
||||||
- Re-running the wizard does **not** wipe anything unless you explicitly choose **Reset**
|
- If `~/.openclaw/openclaw.json` exists, choose **Keep / Modify / Reset**.
|
||||||
(or pass `--reset`).
|
- Re-running the wizard does **not** wipe anything unless you explicitly choose **Reset**
|
||||||
- If the config is invalid or contains legacy keys, the wizard stops and asks
|
(or pass `--reset`).
|
||||||
you to run `openclaw doctor` before continuing.
|
- If the config is invalid or contains legacy keys, the wizard stops and asks
|
||||||
- Reset uses `trash` (never `rm`) and offers scopes:
|
you to run `openclaw doctor` before continuing.
|
||||||
- Config only
|
- Reset uses `trash` (never `rm`) and offers scopes:
|
||||||
- Config + credentials + sessions
|
- Config only
|
||||||
- Full reset (also removes workspace)
|
- Config + credentials + sessions
|
||||||
|
- Full reset (also removes workspace)
|
||||||
|
</Step>
|
||||||
|
<Step title="Model/Auth">
|
||||||
|
- **Anthropic API key (recommended)**: uses `ANTHROPIC_API_KEY` if present or prompts for a key, then saves it for daemon use.
|
||||||
|
- **Anthropic OAuth (Claude Code CLI)**: on macOS the wizard checks Keychain item "Claude Code-credentials" (choose "Always Allow" so launchd starts don't block); on Linux/Windows it reuses `~/.claude/.credentials.json` if present.
|
||||||
|
- **Anthropic token (paste setup-token)**: run `claude setup-token` on any machine, then paste the token (you can name it; blank = default).
|
||||||
|
- **OpenAI Code (Codex) subscription (Codex CLI)**: if `~/.codex/auth.json` exists, the wizard can reuse it.
|
||||||
|
- **OpenAI Code (Codex) subscription (OAuth)**: browser flow; paste the `code#state`.
|
||||||
|
- Sets `agents.defaults.model` to `openai-codex/gpt-5.2` when model is unset or `openai/*`.
|
||||||
|
- **OpenAI API key**: uses `OPENAI_API_KEY` if present or prompts for a key, then saves it to `~/.openclaw/.env` so launchd can read it.
|
||||||
|
- **OpenCode Zen (multi-model proxy)**: prompts for `OPENCODE_API_KEY` (or `OPENCODE_ZEN_API_KEY`, get it at https://opencode.ai/auth).
|
||||||
|
- **API key**: stores the key for you.
|
||||||
|
- **Vercel AI Gateway (multi-model proxy)**: prompts for `AI_GATEWAY_API_KEY`.
|
||||||
|
- More detail: [Vercel AI Gateway](/providers/vercel-ai-gateway)
|
||||||
|
- **Cloudflare AI Gateway**: prompts for Account ID, Gateway ID, and `CLOUDFLARE_AI_GATEWAY_API_KEY`.
|
||||||
|
- More detail: [Cloudflare AI Gateway](/providers/cloudflare-ai-gateway)
|
||||||
|
- **MiniMax M2.1**: config is auto-written.
|
||||||
|
- More detail: [MiniMax](/providers/minimax)
|
||||||
|
- **Synthetic (Anthropic-compatible)**: prompts for `SYNTHETIC_API_KEY`.
|
||||||
|
- More detail: [Synthetic](/providers/synthetic)
|
||||||
|
- **Moonshot (Kimi K2)**: config is auto-written.
|
||||||
|
- **Kimi Coding**: config is auto-written.
|
||||||
|
- More detail: [Moonshot AI (Kimi + Kimi Coding)](/providers/moonshot)
|
||||||
|
- **Skip**: no auth configured yet.
|
||||||
|
- Pick a default model from detected options (or enter provider/model manually).
|
||||||
|
- Wizard runs a model check and warns if the configured model is unknown or missing auth.
|
||||||
|
- OAuth credentials live in `~/.openclaw/credentials/oauth.json`; auth profiles live in `~/.openclaw/agents/<agentId>/agent/auth-profiles.json` (API keys + OAuth).
|
||||||
|
- More detail: [/concepts/oauth](/concepts/oauth)
|
||||||
|
<Note>
|
||||||
|
Headless/server tip: complete OAuth on a machine with a browser, then copy
|
||||||
|
`~/.openclaw/credentials/oauth.json` (or `$OPENCLAW_STATE_DIR/credentials/oauth.json`) to the
|
||||||
|
gateway host.
|
||||||
|
</Note>
|
||||||
|
</Step>
|
||||||
|
<Step title="Workspace">
|
||||||
|
- Default `~/.openclaw/workspace` (configurable).
|
||||||
|
- Seeds the workspace files needed for the agent bootstrap ritual.
|
||||||
|
- Full workspace layout + backup guide: [Agent workspace](/concepts/agent-workspace)
|
||||||
|
</Step>
|
||||||
|
<Step title="Gateway">
|
||||||
|
- Port, bind, auth mode, tailscale exposure.
|
||||||
|
- Auth recommendation: keep **Token** even for loopback so local WS clients must authenticate.
|
||||||
|
- Disable auth only if you fully trust every local process.
|
||||||
|
- Non‑loopback binds still require auth.
|
||||||
|
</Step>
|
||||||
|
<Step title="Channels">
|
||||||
|
- [WhatsApp](/channels/whatsapp): optional QR login.
|
||||||
|
- [Telegram](/channels/telegram): bot token.
|
||||||
|
- [Discord](/channels/discord): bot token.
|
||||||
|
- [Google Chat](/channels/googlechat): service account JSON + webhook audience.
|
||||||
|
- [Mattermost](/channels/mattermost) (plugin): bot token + base URL.
|
||||||
|
- [Signal](/channels/signal): optional `signal-cli` install + account config.
|
||||||
|
- [BlueBubbles](/channels/bluebubbles): **recommended for iMessage**; server URL + password + webhook.
|
||||||
|
- [iMessage](/channels/imessage): legacy `imsg` CLI path + DB access.
|
||||||
|
- DM security: default is pairing. First DM sends a code; approve via `openclaw pairing approve <channel> <code>` or use allowlists.
|
||||||
|
</Step>
|
||||||
|
<Step title="Daemon install">
|
||||||
|
- macOS: LaunchAgent
|
||||||
|
- Requires a logged-in user session; for headless, use a custom LaunchDaemon (not shipped).
|
||||||
|
- Linux (and Windows via WSL2): systemd user unit
|
||||||
|
- Wizard attempts to enable lingering via `loginctl enable-linger <user>` so the Gateway stays up after logout.
|
||||||
|
- May prompt for sudo (writes `/var/lib/systemd/linger`); it tries without sudo first.
|
||||||
|
- **Runtime selection:** Node (recommended; required for WhatsApp/Telegram). Bun is **not recommended**.
|
||||||
|
</Step>
|
||||||
|
<Step title="Health check">
|
||||||
|
- Starts the Gateway (if needed) and runs `openclaw health`.
|
||||||
|
- Tip: `openclaw status --deep` adds gateway health probes to status output (requires a reachable gateway).
|
||||||
|
</Step>
|
||||||
|
<Step title="Skills (recommended)">
|
||||||
|
- Reads the available skills and checks requirements.
|
||||||
|
- Lets you choose a node manager: **npm / pnpm** (bun not recommended).
|
||||||
|
- Installs optional dependencies (some use Homebrew on macOS).
|
||||||
|
</Step>
|
||||||
|
<Step title="Finish">
|
||||||
|
- Summary + next steps, including iOS/Android/macOS apps for extra features.
|
||||||
|
</Step>
|
||||||
|
</Steps>
|
||||||
|
|
||||||
2. **Model/Auth**
|
<Note>
|
||||||
- **Anthropic API key (recommended)**: uses `ANTHROPIC_API_KEY` if present or prompts for a key, then saves it for daemon use.
|
If no GUI is detected, the wizard prints SSH port-forward instructions for the Control UI instead of opening a browser.
|
||||||
- **Anthropic OAuth (Claude Code CLI)**: on macOS the wizard checks Keychain item "Claude Code-credentials" (choose "Always Allow" so launchd starts don't block); on Linux/Windows it reuses `~/.claude/.credentials.json` if present.
|
If the Control UI assets are missing, the wizard attempts to build them; fallback is `pnpm ui:build` (auto-installs UI deps).
|
||||||
- **Anthropic token (paste setup-token)**: run `claude setup-token` on any machine, then paste the token (you can name it; blank = default).
|
</Note>
|
||||||
- **OpenAI Code (Codex) subscription (Codex CLI)**: if `~/.codex/auth.json` exists, the wizard can reuse it.
|
|
||||||
- **OpenAI Code (Codex) subscription (OAuth)**: browser flow; paste the `code#state`.
|
|
||||||
- Sets `agents.defaults.model` to `openai-codex/gpt-5.2` when model is unset or `openai/*`.
|
|
||||||
- **OpenAI API key**: uses `OPENAI_API_KEY` if present or prompts for a key, then saves it to `~/.openclaw/.env` so launchd can read it.
|
|
||||||
- **OpenCode Zen (multi-model proxy)**: prompts for `OPENCODE_API_KEY` (or `OPENCODE_ZEN_API_KEY`, get it at https://opencode.ai/auth).
|
|
||||||
- **API key**: stores the key for you.
|
|
||||||
- **Vercel AI Gateway (multi-model proxy)**: prompts for `AI_GATEWAY_API_KEY`.
|
|
||||||
- More detail: [Vercel AI Gateway](/providers/vercel-ai-gateway)
|
|
||||||
- **Cloudflare AI Gateway**: prompts for Account ID, Gateway ID, and `CLOUDFLARE_AI_GATEWAY_API_KEY`.
|
|
||||||
- More detail: [Cloudflare AI Gateway](/providers/cloudflare-ai-gateway)
|
|
||||||
- **MiniMax M2.1**: config is auto-written.
|
|
||||||
- More detail: [MiniMax](/providers/minimax)
|
|
||||||
- **Synthetic (Anthropic-compatible)**: prompts for `SYNTHETIC_API_KEY`.
|
|
||||||
- More detail: [Synthetic](/providers/synthetic)
|
|
||||||
- **Moonshot (Kimi K2)**: config is auto-written.
|
|
||||||
- **Kimi Coding**: config is auto-written.
|
|
||||||
- More detail: [Moonshot AI (Kimi + Kimi Coding)](/providers/moonshot)
|
|
||||||
- **Skip**: no auth configured yet.
|
|
||||||
- Pick a default model from detected options (or enter provider/model manually).
|
|
||||||
- Wizard runs a model check and warns if the configured model is unknown or missing auth.
|
|
||||||
|
|
||||||
- OAuth credentials live in `~/.openclaw/credentials/oauth.json`; auth profiles live in `~/.openclaw/agents/<agentId>/agent/auth-profiles.json` (API keys + OAuth).
|
|
||||||
- More detail: [/concepts/oauth](/concepts/oauth)
|
|
||||||
|
|
||||||
3. **Workspace**
|
|
||||||
- Default `~/.openclaw/workspace` (configurable).
|
|
||||||
- Seeds the workspace files needed for the agent bootstrap ritual.
|
|
||||||
- Full workspace layout + backup guide: [Agent workspace](/concepts/agent-workspace)
|
|
||||||
|
|
||||||
4. **Gateway**
|
|
||||||
- Port, bind, auth mode, tailscale exposure.
|
|
||||||
- Auth recommendation: keep **Token** even for loopback so local WS clients must authenticate.
|
|
||||||
- Disable auth only if you fully trust every local process.
|
|
||||||
- Non‑loopback binds still require auth.
|
|
||||||
|
|
||||||
5. **Channels**
|
|
||||||
- [WhatsApp](/channels/whatsapp): optional QR login.
|
|
||||||
- [Telegram](/channels/telegram): bot token.
|
|
||||||
- [Discord](/channels/discord): bot token.
|
|
||||||
- [Google Chat](/channels/googlechat): service account JSON + webhook audience.
|
|
||||||
- [Mattermost](/channels/mattermost) (plugin): bot token + base URL.
|
|
||||||
- [Signal](/channels/signal): optional `signal-cli` install + account config.
|
|
||||||
- [BlueBubbles](/channels/bluebubbles): **recommended for iMessage**; server URL + password + webhook.
|
|
||||||
- [iMessage](/channels/imessage): legacy `imsg` CLI path + DB access.
|
|
||||||
- DM security: default is pairing. First DM sends a code; approve via `openclaw pairing approve <channel> <code>` or use allowlists.
|
|
||||||
|
|
||||||
6. **Daemon install**
|
|
||||||
- macOS: LaunchAgent
|
|
||||||
- Requires a logged-in user session; for headless, use a custom LaunchDaemon (not shipped).
|
|
||||||
- Linux (and Windows via WSL2): systemd user unit
|
|
||||||
- Wizard attempts to enable lingering via `loginctl enable-linger <user>` so the Gateway stays up after logout.
|
|
||||||
- May prompt for sudo (writes `/var/lib/systemd/linger`); it tries without sudo first.
|
|
||||||
- **Runtime selection:** Node (recommended; required for WhatsApp/Telegram). Bun is **not recommended**.
|
|
||||||
|
|
||||||
7. **Health check**
|
|
||||||
- Starts the Gateway (if needed) and runs `openclaw health`.
|
|
||||||
- Tip: `openclaw status --deep` adds gateway health probes to status output (requires a reachable gateway).
|
|
||||||
|
|
||||||
8. **Skills (recommended)**
|
|
||||||
- Reads the available skills and checks requirements.
|
|
||||||
- Lets you choose a node manager: **npm / pnpm** (bun not recommended).
|
|
||||||
- Installs optional dependencies (some use Homebrew on macOS).
|
|
||||||
|
|
||||||
9. **Finish**
|
|
||||||
- Summary + next steps, including iOS/Android/macOS apps for extra features.
|
|
||||||
|
|
||||||
- If no GUI is detected, the wizard prints SSH port-forward instructions for the Control UI instead of opening a browser.
|
|
||||||
- If the Control UI assets are missing, the wizard attempts to build them; fallback is `pnpm ui:build` (auto-installs UI deps).
|
|
||||||
|
|
||||||
## Remote mode
|
## Remote mode
|
||||||
|
|
||||||
Remote mode configures a local client to connect to a Gateway elsewhere.
|
Remote mode configures a local client to connect to a Gateway elsewhere.
|
||||||
|
|
||||||
|
<Info>
|
||||||
|
Remote mode does **not** install or change anything on the remote host.
|
||||||
|
</Info>
|
||||||
|
|
||||||
What you’ll set:
|
What you’ll set:
|
||||||
|
|
||||||
- Remote Gateway URL (`ws://...`)
|
- Remote Gateway URL (`ws://...`)
|
||||||
- Token if the remote Gateway requires auth (recommended)
|
- Token if the remote Gateway requires auth (recommended)
|
||||||
|
|
||||||
Notes:
|
<Note>
|
||||||
|
|
||||||
- No remote installs or daemon changes are performed.
|
|
||||||
- If the Gateway is loopback‑only, use SSH tunneling or a tailnet.
|
- If the Gateway is loopback‑only, use SSH tunneling or a tailnet.
|
||||||
- Discovery hints:
|
- Discovery hints:
|
||||||
- macOS: Bonjour (`dns-sd`)
|
- macOS: Bonjour (`dns-sd`)
|
||||||
- Linux: Avahi (`avahi-browse`)
|
- Linux: Avahi (`avahi-browse`)
|
||||||
|
</Note>
|
||||||
|
|
||||||
## Add another agent
|
## Add another agent
|
||||||
|
|
||||||
@@ -208,84 +230,80 @@ openclaw onboard --non-interactive \
|
|||||||
|
|
||||||
Add `--json` for a machine‑readable summary.
|
Add `--json` for a machine‑readable summary.
|
||||||
|
|
||||||
Gemini example:
|
<AccordionGroup>
|
||||||
|
<Accordion title="Gemini example">
|
||||||
```bash
|
```bash
|
||||||
openclaw onboard --non-interactive \
|
openclaw onboard --non-interactive \
|
||||||
--mode local \
|
--mode local \
|
||||||
--auth-choice gemini-api-key \
|
--auth-choice gemini-api-key \
|
||||||
--gemini-api-key "$GEMINI_API_KEY" \
|
--gemini-api-key "$GEMINI_API_KEY" \
|
||||||
--gateway-port 18789 \
|
--gateway-port 18789 \
|
||||||
--gateway-bind loopback
|
--gateway-bind loopback
|
||||||
```
|
```
|
||||||
|
</Accordion>
|
||||||
Z.AI example:
|
<Accordion title="Z.AI example">
|
||||||
|
```bash
|
||||||
```bash
|
openclaw onboard --non-interactive \
|
||||||
openclaw onboard --non-interactive \
|
--mode local \
|
||||||
--mode local \
|
--auth-choice zai-api-key \
|
||||||
--auth-choice zai-api-key \
|
--zai-api-key "$ZAI_API_KEY" \
|
||||||
--zai-api-key "$ZAI_API_KEY" \
|
--gateway-port 18789 \
|
||||||
--gateway-port 18789 \
|
--gateway-bind loopback
|
||||||
--gateway-bind loopback
|
```
|
||||||
```
|
</Accordion>
|
||||||
|
<Accordion title="Vercel AI Gateway example">
|
||||||
Vercel AI Gateway example:
|
```bash
|
||||||
|
openclaw onboard --non-interactive \
|
||||||
```bash
|
--mode local \
|
||||||
openclaw onboard --non-interactive \
|
--auth-choice ai-gateway-api-key \
|
||||||
--mode local \
|
--ai-gateway-api-key "$AI_GATEWAY_API_KEY" \
|
||||||
--auth-choice ai-gateway-api-key \
|
--gateway-port 18789 \
|
||||||
--ai-gateway-api-key "$AI_GATEWAY_API_KEY" \
|
--gateway-bind loopback
|
||||||
--gateway-port 18789 \
|
```
|
||||||
--gateway-bind loopback
|
</Accordion>
|
||||||
```
|
<Accordion title="Cloudflare AI Gateway example">
|
||||||
|
```bash
|
||||||
Cloudflare AI Gateway example:
|
openclaw onboard --non-interactive \
|
||||||
|
--mode local \
|
||||||
```bash
|
--auth-choice cloudflare-ai-gateway-api-key \
|
||||||
openclaw onboard --non-interactive \
|
--cloudflare-ai-gateway-account-id "your-account-id" \
|
||||||
--mode local \
|
--cloudflare-ai-gateway-gateway-id "your-gateway-id" \
|
||||||
--auth-choice cloudflare-ai-gateway-api-key \
|
--cloudflare-ai-gateway-api-key "$CLOUDFLARE_AI_GATEWAY_API_KEY" \
|
||||||
--cloudflare-ai-gateway-account-id "your-account-id" \
|
--gateway-port 18789 \
|
||||||
--cloudflare-ai-gateway-gateway-id "your-gateway-id" \
|
--gateway-bind loopback
|
||||||
--cloudflare-ai-gateway-api-key "$CLOUDFLARE_AI_GATEWAY_API_KEY" \
|
```
|
||||||
--gateway-port 18789 \
|
</Accordion>
|
||||||
--gateway-bind loopback
|
<Accordion title="Moonshot example">
|
||||||
```
|
```bash
|
||||||
|
openclaw onboard --non-interactive \
|
||||||
Moonshot example:
|
--mode local \
|
||||||
|
--auth-choice moonshot-api-key \
|
||||||
```bash
|
--moonshot-api-key "$MOONSHOT_API_KEY" \
|
||||||
openclaw onboard --non-interactive \
|
--gateway-port 18789 \
|
||||||
--mode local \
|
--gateway-bind loopback
|
||||||
--auth-choice moonshot-api-key \
|
```
|
||||||
--moonshot-api-key "$MOONSHOT_API_KEY" \
|
</Accordion>
|
||||||
--gateway-port 18789 \
|
<Accordion title="Synthetic example">
|
||||||
--gateway-bind loopback
|
```bash
|
||||||
```
|
openclaw onboard --non-interactive \
|
||||||
|
--mode local \
|
||||||
Synthetic example:
|
--auth-choice synthetic-api-key \
|
||||||
|
--synthetic-api-key "$SYNTHETIC_API_KEY" \
|
||||||
```bash
|
--gateway-port 18789 \
|
||||||
openclaw onboard --non-interactive \
|
--gateway-bind loopback
|
||||||
--mode local \
|
```
|
||||||
--auth-choice synthetic-api-key \
|
</Accordion>
|
||||||
--synthetic-api-key "$SYNTHETIC_API_KEY" \
|
<Accordion title="OpenCode Zen example">
|
||||||
--gateway-port 18789 \
|
```bash
|
||||||
--gateway-bind loopback
|
openclaw onboard --non-interactive \
|
||||||
```
|
--mode local \
|
||||||
|
--auth-choice opencode-zen \
|
||||||
OpenCode Zen example:
|
--opencode-zen-api-key "$OPENCODE_API_KEY" \
|
||||||
|
--gateway-port 18789 \
|
||||||
```bash
|
--gateway-bind loopback
|
||||||
openclaw onboard --non-interactive \
|
```
|
||||||
--mode local \
|
</Accordion>
|
||||||
--auth-choice opencode-zen \
|
</AccordionGroup>
|
||||||
--opencode-zen-api-key "$OPENCODE_API_KEY" \
|
|
||||||
--gateway-port 18789 \
|
|
||||||
--gateway-bind loopback
|
|
||||||
```
|
|
||||||
|
|
||||||
Add agent (non‑interactive) example:
|
Add agent (non‑interactive) example:
|
||||||
|
|
||||||
|
|||||||
3
docs/style.css
Normal file
3
docs/style.css
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
#content > h1:first-of-type {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user