{"id":603,"date":"2026-03-17T17:59:09","date_gmt":"2026-03-17T09:59:09","guid":{"rendered":"https:\/\/blog.eastfond.com\/?p=603"},"modified":"2026-06-09T16:25:39","modified_gmt":"2026-06-09T08:25:39","slug":"docker-%e5%ae%89%e8%a3%85-openclaw","status":"publish","type":"post","link":"https:\/\/blog.eastfond.com\/?p=603","title":{"rendered":"Docker \u5b89\u88c5 Openclaw"},"content":{"rendered":"<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/image.eastfond.com\/file\/20260312160102885.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/image.eastfond.com\/file\/20260312160102885.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" \/><\/div><\/p>\n<blockquote>\n<p>\u5b98\u65b9\u8981\u6c42\u662f\uff1aDocker Engine + Docker Compose v2<br \/>\n\u6784\u5efa\u955c\u50cf\u65f6\u81f3\u5c11\u5efa\u8bae <strong>2 GB RAM<\/strong><\/p>\n<\/blockquote>\n<h1>\u521b\u5efa\u5bbf\u4e3b\u673a\u6301\u4e45\u5316\u76ee\u5f55<sup class='reference' id='ref_1_1' data-content='&lt;a href=&quot;https:\/\/linux.do\/t\/topic\/1715398&quot; target=&quot;_blank&quot;&gt;Openclaw\u670d\u52a1\u5668docker\u5b89\u88c5\uff08\u914d\u5230\u98de\u4e66\u8fde\u63a5\uff09&lt;\/a&gt;' tabindex='0'><a class='reference-link' href='#ref_1'>[1]<\/a><\/sup><\/h1>\n<pre><code>## \u66ff\u6362yourdir\u4e3a\u81ea\u5df1\u7684\u76ee\u5f55\nmkdir -p \/yourdir\/openclaw-docker\nmkdir -p \/yourdir\/openclaw-docker\/config\nmkdir -p \/yourdir\/openclaw-docker\/workspace\nsudo chown -R 1000:1000 \/yourdir\/openclaw-docker\/config \/yourdir\/openclaw-docker\/workspace\ncd \/yourdir\/openclaw-docker<\/code><\/pre>\n<h1>\u751f\u6210\u968f\u673a token \u548c keyring \u5bc6\u7801<\/h1>\n<pre><code>openssl rand -hex 32\nopenssl rand -hex 32<\/code><\/pre>\n<p>\u628a\u8fd9\u4e24\u4e32\u503c\u8bb0\u4e0b\u6765\uff0c\u540e\u9762\u5206\u522b\u586b\u5230\uff1a<\/p>\n<ul>\n<li><code>OPENCLAW_GATEWAY_TOKEN<\/code><\/li>\n<li><code>GOG_KEYRING_PASSWORD<\/code><\/li>\n<\/ul>\n<h1>\u521b\u5efa <code>.env<\/code><\/h1>\n<p>\u5b98\u65b9 Docker \u6587\u6863\u5f53\u524d\u652f\u6301\u76f4\u63a5\u4f7f\u7528\u5b98\u65b9\u8fdc\u7a0b\u955c\u50cf <code>ghcr.io\/openclaw\/openclaw:latest<\/code><\/p>\n<pre><code class=\"language-bash\">cat &gt; .env &lt;&lt;&#039;EOF&#039;\nOPENCLAW_IMAGE=ghcr.io\/openclaw\/openclaw:latest\nOPENCLAW_GATEWAY_TOKEN=\u8fd9\u91cc\u66ff\u6362\u6210\u4f60\u7b2c\u4e00\u4e2a\u968f\u673a\u503c\nOPENCLAW_GATEWAY_BIND=lan \nOPENCLAW_GATEWAY_PORT=18789\n\nOPENCLAW_CONFIG_DIR=\/yourdir\/openclaw-docker\/config\nOPENCLAW_WORKSPACE_DIR=\/yourdir\/openclaw-docker\/workspace\n\nGOG_KEYRING_PASSWORD=\u8fd9\u91cc\u66ff\u6362\u6210\u4f60\u7b2c\u4e8c\u4e2a\u968f\u673a\u503c\nXDG_CONFIG_HOME=\/home\/node\/.openclaw\nEOF<\/code><\/pre>\n<ul>\n<li><code>GOG_KEYRING_PASSWORD<\/code>\uff1a\u7ed9 OpenClaw\/GOG \u7684\u5bc6\u94a5\u73af\u6216\u51ed\u636e\u5b58\u50a8\u4f7f\u7528\u7684\u5bc6\u7801\uff0c\u5e94\u8be5\u968f\u673a\u4e14\u4fdd\u5bc6\u3002<\/li>\n<li><code>XDG_CONFIG_HOME<\/code>\uff1aLinux\/XDG \u7ea6\u5b9a\u91cc\u7684\u914d\u7f6e\u76ee\u5f55\u57fa\u51c6\u8def\u5f84\u3002<\/li>\n<\/ul>\n<h1>\u521b\u5efadocker-compose.yml<\/h1>\n<pre><code class=\"language-bash\">cat &gt; docker-compose.yml &lt;&lt;&#039;EOF&#039;\nservices:\n  openclaw-gateway:\n    image: ${OPENCLAW_IMAGE}\n    restart: unless-stopped\n    env_file:\n      - .env\n    environment:\n      - HOME=\/home\/node\n      - NODE_ENV=production\n      - TERM=xterm-256color\n      - OPENCLAW_GATEWAY_BIND=${OPENCLAW_GATEWAY_BIND}\n      - OPENCLAW_GATEWAY_PORT=${OPENCLAW_GATEWAY_PORT}\n      - OPENCLAW_GATEWAY_TOKEN=${OPENCLAW_GATEWAY_TOKEN}\n      - GOG_KEYRING_PASSWORD=${GOG_KEYRING_PASSWORD}\n      - XDG_CONFIG_HOME=${XDG_CONFIG_HOME}\n      - PATH=\/home\/linuxbrew\/.linuxbrew\/bin:\/usr\/local\/sbin:\/usr\/local\/bin:\/usr\/sbin:\/usr\/bin:\/sbin:\/bin\n    volumes:\n      - ${OPENCLAW_CONFIG_DIR}:\/home\/node\/.openclaw\n      - ${OPENCLAW_WORKSPACE_DIR}:\/home\/node\/.openclaw\/workspace\n    ports:\n      - &quot;127.0.0.1:${OPENCLAW_GATEWAY_PORT}:18789&quot;  #\u7981\u6b62ip\u8bbf\u95ee\n    command:\n      [\n        &quot;node&quot;,\n        &quot;dist\/index.js&quot;,\n        &quot;gateway&quot;,\n        &quot;--bind&quot;,\n        &quot;${OPENCLAW_GATEWAY_BIND}&quot;,\n        &quot;--port&quot;,\n        &quot;18789&quot;,\n        &quot;--token&quot;,\n        &quot;${OPENCLAW_GATEWAY_TOKEN}&quot;,\n        &quot;--allow-unconfigured&quot;\n      ]\nEOF<\/code><\/pre>\n<h1>\u62c9\u53d6\u5b98\u65b9\u955c\u50cf\u5e76\u542f\u52a8<\/h1>\n<pre><code>docker pull ghcr.io\/openclaw\/openclaw:latest\ndocker compose up -d\ndocker compose ps<\/code><\/pre>\n<h1>\u8fdc\u7a0b\u8fde\u63a5<\/h1>\n<p>\u56e0\u4e3a\u6211\u4eec\u4f7f\u7528\u7684\u662f<code>OPENCLAW_GATEWAY_BIND=lan<\/code>\u6240\u4ee5\u5fc5\u987b\u8981<code>allowedOrigins<\/code><br \/>\n\u5728\u914d\u7f6e\u6587\u4ef6\u91cc\u9762\u5199<\/p>\n<pre><code class=\"language-json\">cat &gt; \/yourdir\/openclaw-docker\/config\/openclaw.json &lt;&lt;&#039;EOF&#039;\n{\n  &quot;gateway&quot;: {\n    &quot;controlUi&quot;: {\n      &quot;dangerouslyDisableDeviceAuth&quot;: true,\n      &quot;allowedOrigins&quot;: [\n        &quot;https:\/\/openclaw.example.com&quot;\n      ]\n    }\n  }\n}\nEOF<\/code><\/pre>\n<p><strong>\u5982\u679c\u9047\u5230\u9047\u5230 <code>pairing required<\/code><\/strong><\/p>\n<p>\u53bb\u670d\u52a1\u5668\u8fd0\u884c<\/p>\n<pre><code class=\"language-bash\">docker compose exec openclaw-gateway openclaw devices list\n## \u76f4\u63a5\u4e0b\u9762\u4e00\u6761\u6279\u51c6\u5c31\u884c\u4e86\uff0c\u4e0a\u9762list\u6709\u95ee\u9898\u518d\u53bb\u770b\ndocker compose exec openclaw-gateway openclaw devices approve --latest<\/code><\/pre>\n<h1>\u914d\u7f6e<\/h1>\n<h2>model<\/h2>\n<p>\u6211\u8fd9\u91cc\u7528\u7684\u662f\u4e2d\u8f6c\u7ad9<\/p>\n<pre><code class=\"language-bash\">docker compose exec openclaw-gateway openclaw configure<\/code><\/pre>\n<pre><code class=\"language-bash\">\u25c7  Where will the Gateway run?\n\u2502  Local (this machine)\n\u2502\n\u25c7  Select sections to configure\n\u2502  Model\n\u2502\n\u25c7  Model\/auth provider\n\u2502  Custom Provider\n\u2502\n\u25c7  API Base URL\n\u2502  {\u4f60\u7528\u7684\u4e2d\u8f6c\u7ad9}\n\u2502\n\u25c7  How do you want to provide this API key?\n\u2502  Paste API key now\n\u2502\n\u25c7  API Key (leave blank if not required)\n\u2502  {\u4f60\u7684api key}\n\u2502\n\u25c7  Endpoint compatibility\n\u2502  OpenAI-compatible\n\u2502\n\u25c7  Model ID\n\u2502  gpt-5.2\n\u2502\n\u25c7  Verification successful.\n\u2502\n\u25c7  Endpoint ID\n\u2502  xwang   \uff08\u5168\u82f1\u6587\uff0c\u968f\u4fbf\u5199\uff0c\u6807\u8bc6\uff0c\u4f8b\u5982\u6a21\u578b\u7684\u9009\u62e9\u5c31\u662fxwang\/gpt-5.2\uff09\n\u2502\n\u25c7  Model alias (optional)\n\u2502  GPT-5.2<\/code><\/pre>\n<h2>web_search<\/h2>\n<p>openclaw\u6709\u4e24\u4e2a\u7f51\u9875\u641c\u7d22\uff0c\u4e00\u4e2a\u662f <code>web_search<\/code>\uff0c\u4e00\u4e2a\u662f <code>web_fetch<\/code>\uff0c\u5176\u4e2d<code>web_search<\/code>\u662f\u9700\u8981api key\u7684\uff0c<code>web_fetch<\/code>\u662f\u4e0d\u9700\u8981\u7684\u3002\u5176\u4f59\u7684\u90fd\u662f\u8981\u6536\u8d39\u7684\u3002<\/p>\n<p>\u6240\u4ee5\u8fd9\u91cc\u6211\u90fd\u4e0d\u7528\uff0c\u540e\u9762\u4f1a\u5b89\u88c5skill\u3002<\/p>\n<h2>channel<\/h2>\n<h3>\u98de\u4e66<\/h3>\n<p>\u7ecf\u8fc7\u6211\u51e0\u6b21\u5b89\u88c5\u540e\u53d1\u73b0\uff0c\u8fd9\u4e2a\u5b98\u65b9\u955c\u50cf\u7684\u98de\u4e66\u63d2\u4ef6\u5c45\u7136\u662f\u4e0d\u53ef\u7528\u7684\uff0c\u867d\u7136\u662f\u81ea\u5e26\u7684\uff0c\u4f46\u662f\u4e00\u914d\u7f6e\u4e00\u542f\u52a8\u5c31\u62a5\u9519\uff0c\u770b\u65e5\u5fd7\uff1a<code>docker compose logs --tail=200<\/code><\/p>\n<p>\u7528\u4e0b\u9762\u7684\u547d\u4ee4\u8865\u5168\u4f9d\u8d56\u5c31\u884c\u4e86<\/p>\n<pre><code class=\"language-bash\">docker compose exec -u root openclaw-gateway sh -c &quot;cd \/app\/extensions\/feishu &amp;&amp; npm config set registry https:\/\/registry.npmmirror.com &amp;&amp; npm install @larksuiteoapi\/node-sdk&quot;<\/code><\/pre>\n<p><strong>\u6ce8\u610f<\/strong>\uff1a<code>docker compose restart<\/code> \u4e0d\u4f1a\u4e22\u5931\u4f9d\u8d56\uff0c<code>docker compose down<\/code> \u56e0\u4e3a\u4f1a\u79fb\u9664\u5bb9\u5668\uff0c\u4f1a\u4e22\u5931\u4f9d\u8d56\u3002<\/p>\n<h4>\u98de\u4e66\u7aef<\/h4>\n<ol>\n<li>\n<p>\u9700\u8981<a href=\"https:\/\/open.feishu.cn\/app\" target=\"_blank\">\u521b\u5efa<\/a>\u4e00\u4e2a\u98de\u4e66\u673a\u5668\u4eba<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/image.eastfond.com\/file\/20260317175738223.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/image.eastfond.com\/file\/20260317175738223.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" \/><\/div><\/p>\n<\/li>\n<li>\n<p>\u590d\u5236\u51ed\u8bc1<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/image.eastfond.com\/file\/20260317175738225.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/image.eastfond.com\/file\/20260317175738225.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" \/><\/div><\/p>\n<\/li>\n<li>\n<p>\u914d\u7f6e\u6743\u9650<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/image.eastfond.com\/file\/20260317175738226.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/image.eastfond.com\/file\/20260317175738226.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" \/><\/div><\/p>\n<pre><code class=\"language-json\">{\n \"scopes\": {\n   \"tenant\": [\n     \"aily:file:read\",\n     \"aily:file:write\",\n     \"application:application.app_message_stats.overview:readonly\",\n     \"application:application:self_manage\",\n     \"application:bot.menu:write\",\n     \"cardkit:card:read\",\n     \"cardkit:card:write\",\n     \"contact:user.employee_id:readonly\",\n     \"corehr:file:download\",\n     \"event:ip_list\",\n     \"im:chat.access_event.bot_p2p_chat:read\",\n     \"im:chat.members:bot_access\",\n     \"im:message\",\n     \"im:message.group_at_msg:readonly\",\n     \"im:message.p2p_msg:readonly\",\n     \"im:message:readonly\",\n     \"im:message:send_as_bot\",\n     \"im:resource\"\n   ],\n   \"user\": [\"aily:file:read\", \"aily:file:write\", \"im:chat.access_event.bot_p2p_chat:read\"]\n }\n}<\/code><\/pre>\n<\/li>\n<li>\n<p>\u542f\u7528\u673a\u5668\u4eba\u529f\u80fd\u5e76\u8bbe\u7f6e\u540d\u5b57<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/image.eastfond.com\/file\/20260317175738227.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/image.eastfond.com\/file\/20260317175738227.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" \/><\/div><\/p>\n<\/li>\n<li>\n<p>\u914d\u7f6e\u4e8b\u4ef6\u8ba2\u9605<\/p>\n<p><strong>\u26a0\ufe0f<\/strong> <strong>\u91cd\u8981\u63d0\u793a\uff1a<\/strong> \u5728\u8bbe\u7f6e\u6d3b\u52a8\u8ba2\u9605\u524d\uff0c\u8bf7\u786e\u4fdd\uff1a<\/p>\n<ul>\n<li>\u4f60\u5df2\u7ecf\u4e3a Feihu \u6dfb\u52a0\u4e86 <code>openclaw \u9891\u9053<\/code><\/li>\n<li>\u7f51\u5173\u6b63\u5728\u8fd0\u884c\uff08<code>openclaw \u7f51\u5173\u72b6\u6001<\/code> \uff09<\/li>\n<\/ul>\n<p>\u6d3b\u52a8<strong>\u8ba2\u9605<\/strong> \uff1a<\/p>\n<ul>\n<li>\n<p>\u9009\u62e9<strong>\u4f7f\u7528\u957f\u8fde\u63a5\u4ee5\u63a5\u6536\u4e8b\u4ef6<\/strong> \uff08WebSocket\uff09<\/p>\n<\/li>\n<li>\n<p>\u65b0\u589e\u4e8b\u4ef6\uff1a<code>im.message.receive_v1<\/code><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u26a0\ufe0f<\/strong> \u5982\u679c\u7f51\u5173\u672a\u8fd0\u884c\uff0c\u957f\u8fde\u63a5\u8bbe\u7f6e\u53ef\u80fd\u4f1a\u65e0\u6cd5\u4fdd\u5b58\u3002<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/image.eastfond.com\/file\/20260317175738228.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/image.eastfond.com\/file\/20260317175738228.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" \/><\/div><\/p>\n<\/li>\n<li>\n<p>\u53d1\u5e03\u5e94\u7528<\/p>\n<\/li>\n<\/ol>\n<h4>openclaw\u7aef<\/h4>\n<p>\u67e5\u770bfeishu\u63d2\u4ef6\u7684\u60c5\u51b5<\/p>\n<pre><code class=\"language-bash\">docker compose exec openclaw-gateway openclaw plugins info feishu<\/code><\/pre>\n<p>\u5982\u679c\u662ferror\uff0c\u7528\u4e0a\u9762\u547d\u4ee4\u5b89\u88c5\u4f9d\u8d56<\/p>\n<p>\u8ddf\u7740\u5411\u5bfc<\/p>\n<pre><code class=\"language-bash\">docker compose exec openclaw-gateway openclaw channels add<\/code><\/pre>\n<p>\u63a5\u7740\u6dfb\u52a0\u4f60\u7684app id\u548capp secret\uff0c\u8fd8\u6709\u65b9\u5f0f\u9009\u62e9websocket<br \/>\n\u7ed1\u5b9aagent\u5230main<\/p>\n<pre><code>\u25c7  How do you want to provide this App Secret?\n\u2502  Enter App Secret\n\u2502\n\u25c7  Enter Feishu App Secret\n\u2502  \u4f60\u7684App Secret\n\u2502\n\u25c7  Enter Feishu App ID\n\u2502  \u4f60\u7684App ID\n\u25c7  Configure DM access policies now? (default: pairing)\n\u2502  No\n\u2502\n\u25c7  Add display names for these accounts? (optional)\n\u2502  No\n\u2502\n\u25c7  Bind configured channel accounts to agents now?\n\u2502  Yes\n\u2502\n\u25c7  Route feishu account &quot;default&quot; to agent\n\u2502  main (default)<\/code><\/pre>\n<p>\u5728\u7b2c\u4e00\u6b21\u53d1\u9001\u6d88\u606f\u7684\u65f6\u5019\uff0c\u673a\u5668\u4eba\u4f1a\u8bf4\u4e0d\u884c\u8981\u914d\u5bf9<\/p>\n<p>\u8f93\u5165\u6279\u51c6\u914d\u5bf9\u5c31\u884c\u4e86<\/p>\n<pre><code class=\"language-bash\">docker compose exec openclaw-gateway openclaw pairing approve feishu &lt;CODE&gt;<\/code><\/pre>\n<h3>telegram<\/h3>\n<pre><code>docker compose exec openclaw-gateway openclaw channels add<\/code><\/pre>\n<p>\u9009\u62e9telegram\uff0c\u4e4b\u540e\u8f93\u5165token\uff0c\u5b8c\u6210\u540e\u5728telegram bot\u5904\u5bf9\u8bdd\u4f1a\u6536\u5230\u548c\u4e0a\u9762\u4e00\u6837\u7684\u914d\u5bf9\u7801\u6d88\u606f\uff0c\u4e4b\u540e\u8fdb\u884c\u914d\u5bf9\u5373\u53ef\u3002<\/p>\n<h2>agent<\/h2>\n<p>\u521b\u5efa\u65b0agent\uff0c\u53ef\u4ee5\u81ea\u5df1\u6362\u540d\u5b57<\/p>\n<pre><code class=\"language-bash\">docker compose exec openclaw-gateway openclaw agents add feishu-bot<\/code><\/pre>\n<p>\u628a\u98de\u4e66\u7ed1\u5b9a\u5230\u8fd9\u4e2aagent<\/p>\n<pre><code class=\"language-bash\">docker compose exec openclaw-gateway openclaw agents bind --agent feishu-bot --bind feishu<\/code><\/pre>\n<p>\u628a main \u4e0a\u539f\u6765\u7684\u98de\u4e66\u89e3\u7ed1<\/p>\n<pre><code class=\"language-bash\">docker compose exec openclaw-gateway openclaw agents unbind --agent main --bind feishu<\/code><\/pre>\n<p>\u91cd\u542f\u5e76\u68c0\u67e5<\/p>\n<pre><code class=\"language-bash\">docker compose restart\ndocker compose exec openclaw-gateway openclaw agents list --bindings\ndocker compose exec openclaw-gateway openclaw channels status --probe<\/code><\/pre>\n<h1>\u914d\u7f6e\u6587\u4ef6\uff08\u53c2\u8003\uff09<\/h1>\n<h2>model<\/h2>\n<pre><code>&quot;models&quot;: {\n    &quot;mode&quot;: &quot;merge&quot;,\n    &quot;providers&quot;: {\n      &quot;my_custom_provider&quot;: {\n        &quot;baseUrl&quot;: &quot;https:\/\/api.your-proxy-domain.com\/v1&quot;,\n        &quot;apiKey&quot;: &quot;sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&quot;,\n        &quot;api&quot;: &quot;openai-responses&quot;,\n        &quot;models&quot;: [\n          {\n            &quot;id&quot;: &quot;gpt-5.4&quot;,\n            &quot;name&quot;: &quot;GPT-5.4&quot;,\n            &quot;reasoning&quot;: true,\n            &quot;input&quot;: [\n              &quot;text&quot;,\n              &quot;image&quot;\n            ],\n            &quot;cost&quot;: {\n              &quot;input&quot;: 1.75,\n              &quot;output&quot;: 14,\n              &quot;cacheRead&quot;: 0.175,\n              &quot;cacheWrite&quot;: 0\n            },\n            &quot;contextWindow&quot;: 1000000,\n            &quot;maxTokens&quot;: 128000\n          }\n          \/\/ \u53ef\u4ee5\u5728\u8fd9\u91cc\u7ee7\u7eed\u6dfb\u52a0\u5176\u4ed6\u6a21\u578b...\n        ]\n      }\n    }\n  }<\/code><\/pre>\n<p>\u6ce8\u610f\uff1a\u5982\u679c\u662f\u56fd\u5185\u4e2d\u8f6c\u7ad9\uff0c\u4e3a\u4e86\u9632cc\u653b\u51fb\uff0c\u901a\u5e38\u4f1a\u52a0\u4e0a\u5982\u4e0b\u7684\u9274\u6743<br \/>\n\u5982\u6709\u9700\u8981\u52a0\u5728api\u4e0b\u9762\uff0c\u540c\u4e00\u7ea7\u522b\uff0c\u5177\u4f53\u89c4\u5219\u770b\u4f60\u7684\u4e2d\u8f6c\u7ad9\uff01\u8fd9\u91cc\u53ea\u505a\u6a21\u677f<\/p>\n<pre><code class=\"language-json\">&quot;headers&quot;: {\n    &quot;User-Agent&quot;: &quot;curl\/8.0&quot;\n},\n&quot;authHeader&quot;: true,<\/code><\/pre>\n<h2>web<\/h2>\n<pre><code class=\"language-json\">&quot;tools&quot;: {\n    &quot;profile&quot;: &quot;full&quot;,\n    &quot;allow&quot;: [\n      &quot;group:web&quot;\n    ],\n    &quot;web&quot;: {\n      &quot;search&quot;: {\n        &quot;enabled&quot;: false\n      },\n      &quot;fetch&quot;: {\n        &quot;enabled&quot;: true\n      }\n    }\n  }<\/code><\/pre>\n<p>profile\u9ed8\u8ba4\u662fmessaging\uff0c\u610f\u601d\u5c31\u662f\u53ea\u80fd\u804a\u5929full\u5c31\u662f\u80fd\u529b\u5168\u5f00\uff0c\u4f46\u662f\u901a\u8fc7allow\u767d\u540d\u5355\u63a7\u5236\uff0c\u8fd9\u91cc\u5c31\u662f\u628a\u8054\u7f51\u641c\u7d22\u529f\u80fd\u5f00\u542f\u4e86\u800c\u5df2\u3002<\/p>\n<h2>agent&amp;bind<\/h2>\n<pre><code class=\"language-json\">&quot;agents&quot;: {\n    &quot;defaults&quot;: {\n      &quot;model&quot;: {\n        &quot;primary&quot;: &quot;my_custom_provider\/gpt-5.4&quot;\n      },\n      &quot;models&quot;: {\n        &quot;my_custom_provider\/gpt-5.4&quot;: {\n          &quot;alias&quot;: &quot;GPT-5.4&quot;\n        }\n      },\n      &quot;workspace&quot;: &quot;\/home\/node\/.openclaw\/workspace&quot;,\n      &quot;compaction&quot;: {\n        &quot;mode&quot;: &quot;safeguard&quot;\n      }\n    },\n    &quot;list&quot;: [\n      {\n        &quot;id&quot;: &quot;main&quot;\n      },\n      {\n        &quot;id&quot;: &quot;my-feishu-bot&quot;,\n        &quot;name&quot;: &quot;my-feishu-bot&quot;,\n        &quot;workspace&quot;: &quot;\/home\/node\/.openclaw\/workspace\/my-feishu-bot&quot;,\n        &quot;agentDir&quot;: &quot;\/home\/node\/.openclaw\/agents\/my-feishu-bot\/agent&quot;\n      }\n    ]\n  },\n  &quot;bindings&quot;: [\n    {\n      &quot;type&quot;: &quot;route&quot;,\n      &quot;agentId&quot;: &quot;my-feishu-bot&quot;,\n      &quot;match&quot;: {\n        &quot;channel&quot;: &quot;feishu&quot;\n      }\n    }\n  ]<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u5b98\u65b9\u8981\u6c42\u662f\uff1aDocker Engine + Docker Compose v2 \u6784\u5efa\u955c\u50cf\u65f6\u81f3\u5c11\u5efa\u8bae 2 GB  [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[27,4],"tags":[31],"class_list":["post-603","post","type-post","status-publish","format-standard","hentry","category-ai","category-posts","tag-ai"],"_links":{"self":[{"href":"https:\/\/blog.eastfond.com\/index.php?rest_route=\/wp\/v2\/posts\/603","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.eastfond.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.eastfond.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.eastfond.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.eastfond.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=603"}],"version-history":[{"count":3,"href":"https:\/\/blog.eastfond.com\/index.php?rest_route=\/wp\/v2\/posts\/603\/revisions"}],"predecessor-version":[{"id":606,"href":"https:\/\/blog.eastfond.com\/index.php?rest_route=\/wp\/v2\/posts\/603\/revisions\/606"}],"wp:attachment":[{"href":"https:\/\/blog.eastfond.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=603"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.eastfond.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=603"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.eastfond.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=603"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}