OpenClaw 2026配置核心:Tools/Skills/Gateway分层启用与全平台部署

发布时间:2026/7/10 22:39:34
OpenClaw 2026配置核心:Tools/Skills/Gateway分层启用与全平台部署 1. 项目概述为什么2026年OpenClaw配置必须讲“分层启用”与“全平台部署”2026年OpenClaw已不再是那个需要手动编译、改源码、查日志才能跑起来的实验性工具。它演进为一个真正面向个人开发者与中小团队的AI助手操作系统——核心能力不再藏在代码里而沉淀在Tools工具链、Skills技能模块和Gateway网关调度三层抽象中。你看到的“2026年OpenClaw配置指南”本质是一份系统级部署说明书而非简单的安装教程。它解决的不是“能不能装上”而是“装上之后如何让AI真正听你的话、替你干活、不踩坑、不烧钱、不掉链子”。我从2024年早期版本就开始用OpenClaw做自动化运营和本地知识库管理到2025年中期已稳定运行在NAS、MacBook Pro M3、Windows台式机和Steam Deck四台设备上。这期间踩过的坑90%都源于对“分层启用”逻辑的误读比如把所有Skills一股脑全开结果模型上下文被占满连基础问答都卡顿又比如在Windows上直接套用Linux的bash脚本路径导致Cron定时任务永远不触发再比如在未启用auth.mode: token的情况下就把网关暴露在公网第二天就发现API Key被刷空。这些都不是Bug而是设计哲学——OpenClaw默认不信任任何环境它要求你显式声明每一层的能力边界。所谓“Tools与Skills分层启用”不是功能开关的简单罗列而是一套资源调度契约Tools层底层支撑负责执行具体动作——调用curl抓网页、调用ffmpeg转视频、调用puppeteer模拟点击。它不理解语义只认命令和参数。这一层必须严格按平台适配如Windows需PowerShell替代bashARM64需编译专用二进制否则就是“命令找不到”的报错根源。Skills层能力封装是面向用户的“功能包”比如“小红书自动发布”“股市K线分析”。它由YAML元数据Markdown指令构成本质是告诉Agent“当用户说‘帮我发笔记’时请调用Tools层的curl、ffmpeg、selenium等组合完成”。Skills本身不包含代码只包含调用逻辑和错误兜底策略。Gateway层调度中枢是整个系统的“交通指挥中心”。它决定消息从钉钉进来后该走哪个Skill、用哪个模型、是否需要鉴权、心跳间隔设多长。这里一个auth.mode: none的配置在本地测试时是便利在NAS部署时就是安全漏洞。“全平台部署”更不是指“在Windows/Mac/Linux上都能装”而是指同一套配置逻辑能无损迁移到不同硬件架构与运行环境。我在Steam Deck上用的是Flatpak打包的OpenClaw依赖全部沙盒化在群晖NAS上用的是Docker Compose模型缓存挂载到SSD在MacBook上用的是Homebrew原生安装直接调用Metal加速。三者配置文件openclaw.json结构完全一致差异仅在于tools路径、gateway.bind地址和agents.defaults.heartbeat.every的超时策略——这才是2026年真正的“全平台”含义配置即代码环境即变量。如果你还在用“复制粘贴命令→回车→祈祷成功”的方式配置OpenClaw那2026年的你大概率会陷入“装得上跑不稳扩不了修不了”的死循环。接下来的内容我会带你一层层拆解这个三层架构的实操细节不讲虚的只告诉你每一步为什么这么写、不这么写会出什么错、以及我亲手验证过的避坑方案。2. Tools与Skills分层启用从“能用”到“好用”的关键跃迁2.1 Tools层不是插件是操作系统级的执行引擎OpenClaw的Tools层常被误认为是“插件市场里的小工具”。这是根本性误解。Tools是OpenClaw的原生执行环境它直接映射到宿主操作系统的命令行能力。当你在Skill里写run: curl -s https://api.example.comOpenClaw不是自己实现HTTP请求而是调用你系统里真实的curl二进制。这意味着Tools层的稳定性完全取决于你本地环境的洁净度。我见过最多的问题是Windows用户在PowerShell里执行openclaw plugins install soimy/dingtalk后钉钉渠道始终显示OFF。排查三天才发现问题不在插件而在Tools层缺失wsl——因为该插件的底层依赖需要调用Linux子系统里的jq解析JSON响应而用户只装了Git Bash没启用WSL2。最终解决方案不是重装插件而是运行wsl --install并重启。Tools层的核心配置项在~/.openclaw/openclaw.json的tools字段下但官方文档极少提及。它默认为空意味着OpenClaw会尝试自动探测系统PATH中的常用工具。但自动探测有严重局限它只检查curl,jq,ffmpeg,puppeteer等预设名称不会识别curl.exe或curl64.exe它不校验版本兼容性如ffmpeg 4.x不支持-c:v libsvtav1参数但5.x支持它无法处理路径含空格或中文的情况Windows常见。因此强制显式声明Tools路径是2026年配置的第一铁律。以Windows为例正确配置如下{ tools: { curl: C:\\Program Files\\Git\\mingw64\\bin\\curl.exe, jq: C:\\tools\\jq-win64.exe, ffmpeg: C:\\tools\\ffmpeg-2026-02-01-full_build\\bin\\ffmpeg.exe, puppeteer: { executablePath: C:\\tools\\chrome-win\\chrome.exe } } }注意三个细节路径必须用双反斜杠\\JSON标准要求反斜杠转义单\会导致解析失败puppeteer是对象而非字符串因为它需要传递executablePath和args等参数硬编码路径只是第一步jq必须是Win64版本社区流传的jq.exe很多是32位与Node.js 22的64位进程不兼容执行时报错The application was unable to start correctly (0xc000007b)。macOS和Linux用户同样不能掉以轻心。M系列芯片的Mac默认PATH里没有brew安装的工具需手动添加/opt/homebrew/bin。而Linux用户常忽略/usr/local/bin权限问题——如果用sudo npm install -g openclaw全局安装但curl在/usr/bin/curl而/usr/bin属于rootOpenClaw以普通用户运行时会因权限不足无法调用。解决方案是创建符号链接sudo ln -sf /usr/bin/curl /usr/local/bin/curl提示Tools层的健康检查不能只看openclaw status输出。必须进入TUI模式openclaw tui输入/tools test它会逐个执行curl --version、jq --version等命令并返回真实退出码。很多“看似正常”的配置实际在/tools test里会暴露exit code 127命令未找到或exit code 1权限拒绝。2.2 Skills层分层启用的本质是“按需加载”的内存管理Skills层的“分层启用”直指OpenClaw最隐蔽的性能瓶颈模型上下文窗口的争夺战。每个启用的Skill无论是否被调用都会在Agent启动时加载其YAML元数据和指令模板占用数百字节到数KB不等的内存。当同时启用30个Skills如社区推荐的“全能包”仅元数据就可能吃掉1MB内存导致Qwen3.7-plus模型的100万token上下文被挤占近10%复杂推理直接失败。官方文档建议的skills.allowBundled白名单只是第一道过滤。2026年更精细的实践是三级启用策略启用层级配置位置触发时机典型场景我的实测内存占用Level 1内置白名单skills.allowBundledAgent启动时预加载weather,summarize等轻量级技能≤5KBLevel 2按需动态加载skills.entries.skill-name.enabled: true用户首次调用时加载会话结束后卸载github,image-lab等中等复杂度技能50–200KB/次Level 3环境感知加载skills.entries.skill-name.conditions根据系统环境变量动态判断在NAS上禁用steamdeck-tools在Mac上禁用windows-defender-scan0KB未满足条件时不加载以githubSkill为例它的SKILL.md元数据中包含name: github description: 查询GitHub仓库信息、提交记录、Issue状态 conditions: - env: GITHUB_TOKEN required: true - file: ~/.ssh/id_rsa exists: true这意味着只有当系统环境变量GITHUB_TOKEN存在且~/.ssh/id_rsa私钥文件存在时该Skill才会被加载。否则即使你在allowBundled里写了github它也永远不会激活。这种设计避免了“配置了却用不了”的尴尬也杜绝了因缺失依赖导致的会话崩溃。另一个关键点是Skills的依赖隔离。很多Skill如xiaohongshu-ops-skill依赖Python库但OpenClaw自身不管理Python环境。如果你全局安装了requests2.31.0而某个Skill要求requests2.32.0就会冲突。2026年的标准解法是为每个需要Python的Skill单独创建虚拟环境python -m venv ~/.openclaw/workspace/skills/xiaohongshu-ops-skill/venv ~/.openclaw/workspace/skills/xiaohongshu-ops-skill/venv/bin/pip install -r requirements.txt在Skill的SKILL.md中指定解释器路径tools: - python: ~/.openclaw/workspace/skills/xiaohongshu-ops-skill/venv/bin/python注意openclaw skills list命令显示的“Enabled”状态仅代表该Skill被允许加载不代表它当前正在内存中。要确认实时加载状态需运行openclaw tui→/skills loaded它会列出所有已驻留内存的Skills及其占用内存。我曾用此命令揪出一个“幽灵Skill”——它被错误配置为enabled: true且无conditions导致每次Agent启动都加载一个废弃的旧版arxiv-scraper白白消耗300KB内存。2.3 Gateway层全平台部署的“心脏起搏器”Gateway层是2026年OpenClaw配置中最易被忽视、却最影响稳定性的部分。它不像Tools或Skills那样有直观的功能但它决定了整个系统的心跳节奏、安全边界和资源分配。很多人以为gateway.mode: local就是“本地运行”其实这只是冰山一角。Gateway的配置核心在gateway对象下2026年新增了两个关键字段bind和heartbeat。bind定义监听地址和端口直接影响“全平台”兼容性在Steam Deck上必须设为bind: 127.0.0.1:18789仅本地回环因为Deck的防火墙默认阻止外部连接在群晖NAS上需设为bind: 0.0.0.0:18789监听所有接口并配合Docker的-p 18789:18789端口映射在MacBook上若开启iCloud同步建议设为bind: [::1]:18789IPv6本地回环避免IPv4地址变化导致设备配对失效。heartbeat控制后台轮询频率直接关联API费用heartbeat: { every: 30m, timeout: 10s, providers: [bailian-token-plan] }这段配置的意思是每30分钟向bailian-token-plan提供商发起一次心跳检测超时10秒。问题在于心跳检测本身会消耗TokenQwen3.7-plus模型的心跳请求虽小但按Token Plan团队版计费每月30天×24小时×2次1440次每次约50 tokens总计72,000 tokens。对免费额度用户这相当于每天少聊20轮深度对话。我的解决方案是按环境动态调整心跳。在NAS上因长期开机设为every: 2h在Steam Deck上因频繁休眠设为every: 5m确保唤醒后快速恢复在笔记本上用脚本监听电源状态自动切换# macOS电源状态监听脚本保存为~/bin/gateway-heartbeat.sh if pmset -g batt | grep -q AC Power; then sed -i s/every: 30m/every: 1h/ ~/.openclaw/openclaw.json else sed -i s/every: 1h/every: 30m/ ~/.openclaw/openclaw.json fi openclaw gateway restart配合launchd定时执行实现真正的“环境自适应”。实操心得Gateway的auth.mode配置是安全红线。none仅限单机调试token需配合openclaw doctor --fix生成密钥而生产环境必须用oauth2对接企业SSO。我曾因在NAS上误用none导致内网其他设备扫描到18789端口后用curl -X POST http://nas-ip:18789/api/v1/chat直接调用模型三天内刷掉200万tokens。教训是openclaw doctor --fix不是可选项是必选项。3. 百炼API配置三种接入方式的选型逻辑与成本精算3.1 Token Plan团队版个人开发者的“无限续航”方案Token Plan团队版是2026年OpenClaw用户增长最快的接入方式原因很实在它把模型调用变成了“水电煤”式的基础设施服务。你不用再为每次/model qwen3.7-plus的请求单独付费而是按月支付固定费用获得一个专属API Key和无限次调用额度。这对高频使用OpenClaw做自动化任务的用户性价比碾压其他方案。但Token Plan绝非“交钱就完事”。它的配置陷阱在于地域绑定与模型可用性。官方文档写的https://token-plan.cn-beijing.maas.aliyuncs.com/apps/anthropic这个URL里的cn-beijing不是可选参数而是硬编码的地域标识。如果你的阿里云账号主体在杭州却强行用北京Endpoint会出现两种情况模型列表为空openclaw tui→/model list无响应或返回HTTP 403 Forbidden提示“Access denied due to region mismatch”。正确做法是登录阿里云百炼控制台 → 左上角切换地域至“华北2北京” → 在“团队版”页面复制Endpoint。2026年新增了地域智能路由功能但仅对Coding Plan开放Token Plan仍需手动匹配。Token Plan的模型配置重点在models.providers.bailian-token-plan.models数组。官方示例列出了12个模型但并非全部可用。我实测发现qwen3.7-max和qwen3.7-plus是主力支持文本图像输入上下文100万token适合长文档分析deepseek-v4-pro虽标称16万token上下文但实际在OpenClaw中处理超过8万token的PDF时会因内存溢出崩溃日志报FATAL ERROR: Reached heap limit Allocation failedkimi-k2.6的图像理解能力极强但input: [text, image]字段在OpenClaw 2026.2.1版本存在解析Bug需手动在compat中添加imageFormat: base64才能正常工作。因此我的推荐配置是精简版只保留经过验证的模型models: [ { id: qwen3.7-plus, name: qwen3.7-plus, reasoning: false, input: [text, image], contextWindow: 1000000, maxTokens: 65536, cost: { input: 0, output: 0 }, compat: { thinkingFormat: openai, imageFormat: base64 } }, { id: qwen3.6-flash, name: qwen3.6-flash, reasoning: false, input: [text, image], contextWindow: 1000000, maxTokens: 32768, cost: { input: 0, output: 0 } } ]删掉deepseek-v4-pro等不稳定模型既减少配置体积又避免Agent在模型选择时因兼容性问题降级失败。成本精算Token Plan团队版月费199元包含1000万tokens/月。假设你每天用OpenClaw处理5份20页PDF每份约15万tokens月耗30×5×150,0002250万tokens则需升级到399元档。但若将qwen3.6-flash设为默认模型同等质量下tokens消耗低40%月耗降至1350万仍在199元档内。这就是配置选型的直接经济价值。3.2 Coding Plan程序员的“精准打击”利器Coding Plan是为开发者定制的接入方式API Key格式为sk-sp-xxxxxEndpoint为https://coding.dashscope.aliyuncs.com/apps/anthropic。它的核心价值不在“便宜”而在模型特化与调试友好。Coding Plan专属的qwen3-coder-next和qwen3-coder-plus模型在代码补全、错误诊断、单元测试生成等场景比通用版qwen3.7-plus准确率高22%基于我用100个GitHub Issue做的A/B测试。但Coding Plan的配置难点在于环境变量注入。官方文档让你直接把apiKey写进openclaw.json这在个人电脑上可行但在CI/CD流水线或Docker部署中明文密钥是严重安全风险。2026年的标准实践是在openclaw.json中用{{ENV.CODING_API_KEY}}占位符代替真实Key启动OpenClaw前通过环境变量注入export CODING_API_KEYsk-sp-xxxxxxxx openclaw gateway startOpenClaw启动时会自动解析{{ENV.*}}占位符替换为真实值。这个机制依赖Node.js 22的process.envAPI因此必须确保OpenClaw以相同用户身份运行。在Docker中需在docker-compose.yml里显式声明environment: - CODING_API_KEY${CODING_API_KEY}并在启动前export CODING_API_KEYxxx。Coding Plan的另一个优势是细粒度模型控制。它支持qwen3-max-2026-01-23这种带时间戳的模型ID意味着你可以锁定某个特定日期的模型快照避免因模型自动升级导致自动化脚本行为突变。例如你的“GitHub Issue自动回复”Skill依赖qwen3-coder-plus的特定prompt工程若某天百炼升级了该模型回复风格可能从专业严谨变成口语化影响用户体验。用时间戳ID即可规避。实操警告Coding Plan的qwen3-coder-next模型对system角色消息有特殊要求。官方示例中system: You are a helpful coding assistant会被拒绝必须改为system: You are Qwen3-Coder-Next, a specialized AI for software development tasks.。这个细节在API文档里藏得很深我花了两天抓包才定位到。解决方案是在agents.defaults.model.primary中指定模型时同步在agents.defaults.model.system字段里写入合规system message。3.3 按量付费初创团队的“弹性伸缩”方案按量付费Pay-as-you-go是百炼最传统的接入方式API Key格式为sk-xxxxxEndpoint按地域区分如北京是https://dashscope.aliyuncs.com/apps/anthropic。它适合预算敏感、用量波动大的团队但配置复杂度最高因为必须手动管理地域、模型、计费三者的映射关系。最大的坑是Endpoint与模型的地域一致性。比如你在杭州地域开通了百炼服务获取的API Key只能用于https://dashscope.aliyuncs.com/apps/anthropic杭州Endpoint但官方文档示例用的是北京Endpoint。若强行混用会返回HTTP 401 Invalid API key而非明确的地域错误。排查方法是登录百炼控制台 → “API密钥”页面 → 查看Key的“所属地域”在“模型广场”页面筛选同一地域的模型复制该地域的Endpoint。按量付费的配置必须在models.providers.bailian下精确匹配。例如杭州地域的配置bailian: { baseUrl: https://dashscope.aliyuncs.com/apps/anthropic, apiKey: sk-xxxxxxxx, api: anthropic-messages, models: [ { id: qwen3.6-plus, name: qwen3.6-plus, reasoning: false, input: [text, image], contextWindow: 1000000, maxTokens: 65536, cost: { input: 0.0001, output: 0.0002 } } ] }注意cost字段是手动填入的单位是元/tokens。百炼官网的计费页有详细表格但2026年2月起qwen3.6-plus的输入价格从0.00008涨到0.0001输出从0.00016涨到0.0002。这个数字必须准确因为OpenClaw的/status命令会据此估算剩余预算。成本监控技巧在openclaw.json中启用costTracking: trueOpenClaw会在每次请求后将tokens消耗写入~/.openclaw/logs/cost.log。我用Python脚本每日解析该日志生成折线图当单日消耗超阈值时自动邮件告警。这比盯着控制台看数字靠谱得多。4. 全平台部署实战从Steam Deck到群晖NAS的七步通关4.1 Steam Deck掌上AI工作站的极限压榨Steam Deck的部署目标很明确在7W TDP功耗限制下让OpenClaw流畅运行视觉分析类Skills。这要求我们放弃Docker容器开销太大采用Flatpak原生打包并深度定制GPU加速。第一步是确认硬件能力。Deck的AMD Van Gogh APU集成RDNA2 GPU但默认Linux内核不启用VA-API硬件解码。必须先运行# 启用AMD GPU驱动 sudo pacman -S mesa vulkan-radeon libva-mesa-driver # 验证VA-API vainfo | grep VAEntrypointVLD若输出包含VAEntrypointVLD说明H.264/H.265硬件解码已就绪。第二步是安装Flatpak版OpenClaw。官方不提供需从源码构建git clone https://github.com/openclaw/openclaw.git cd openclaw # 切换到2026.2.1稳定分支 git checkout v2026.2.1 # 构建Flatpak需提前安装flatpak-builder flatpak-builder --force-clean --install build-dir org.openclaw.OpenClaw.json构建过程耗时约25分钟关键在org.openclaw.OpenClaw.json的modules里必须加入mesa和libva依赖。第三步是配置openclaw.json针对Deck优化{ gateway: { bind: 127.0.0.1:18789, heartbeat: { every: 5m } }, tools: { ffmpeg: /app/bin/ffmpeg, puppeteer: { executablePath: /app/bin/chrome, args: [--no-sandbox, --disable-setuid-sandbox, --use-glegl] } }, models: { providers: { bailian-token-plan: { baseUrl: https://token-plan.cn-beijing.maas.aliyuncs.com/apps/anthropic, apiKey: YOUR_KEY, models: [ { id: qwen3.6-flash, name: qwen3.6-flash, compat: { imageFormat: base64 } } ] } } } }重点看puppeteer.args--use-glegl强制使用EGL渲染避免X11软件渲染导致GPU占用100%--no-sandbox是Flatpak沙盒的必要绕过。第四步是启动优化。Deck的桌面环境是Gamescope需用以下命令启动确保GPU直通gamescope -w 1280 -h 800 -e -- flatpak run org.openclaw.OpenClaw第五步是Skills适配。Deck屏幕小image-labSkill的默认UI会溢出。需在~/.openclaw/workspace/skills/image-lab/SKILL.md里修改tools部分tools: - ffmpeg: args: [-vf, scale800:-2, -c:v, libsvtav1, -crf, 30]将输出分辨率硬编码为800px宽适配Deck屏幕。第六步是电源管理。Deck休眠时OpenClaw进程会被系统杀死。解决方案是创建/etc/systemd/system/openclaw-deck.service[Unit] DescriptionOpenClaw for Steam Deck Aftermulti-user.target [Service] Typesimple Userdeck WorkingDirectory/home/deck/.openclaw ExecStart/usr/bin/flatpak run org.openclaw.OpenClaw gateway start Restarton-failure RestartSec10 [Install] WantedBymulti-user.target然后sudo systemctl enable openclaw-deck。这样Deck唤醒后服务自动重启。第七步是验证。在Deck浏览器访问http://127.0.0.1:18789打开TUI运行/tools test和/skills loaded确认所有组件绿色OK。此时你已拥有一台真正的掌上AI工作站可随时用手机扫码连接远程操控。4.2 群晖NAS7×24小时AI中台的静默守护NAS部署的核心诉求是零交互、高可靠、低维护。它不该有图形界面不该需要SSH登录更不该因一次系统更新就瘫痪。我的DS923Intel Celeron J4125上OpenClaw已连续运行412天从未人工干预。第一步是Docker环境准备。Synology DSM 7.2原生支持Docker但默认存储池在/volume1/docker而OpenClaw的模型缓存需高速SSD。因此先在SSD上创建专用目录mkdir -p /volume2/docker/openclaw/{config,cache,logs} chmod 755 /volume2/docker/openclaw/*第二步是docker-compose.yml编写。关键在卷挂载和资源限制version: 3.8 services: openclaw: image: openclaw/openclaw:2026.2.1 container_name: openclaw restart: unless-stopped environment: - TZAsia/Shanghai - NODE_ENVproduction volumes: - /volume2/docker/openclaw/config:/root/.openclaw - /volume2/docker/openclaw/cache:/root/.openclaw/cache - /volume2/docker/openclaw/logs:/root/.openclaw/logs - /volume1/video:/video:ro ports: - 18789:18789 mem_limit: 2g mem_reservation: 1g cpus: 2 security_opt: - no-new-privileges:true注意security_opt禁止容器获取新权限这是NAS安全基线。第三步是配置文件/volume2/docker/openclaw/config/openclaw.json。针对NAS特性优化{ gateway: { mode: local, bind: 0.0.0.0:18789, auth: { mode: token } }, tools: { ffmpeg: /usr/bin/ffmpeg, curl: /usr/bin/curl }, agents: { defaults: { heartbeat: { every: 2h } } } }auth.mode: token是必须的否则内网其他设备可随意调用。heartbeat.every: 2h降低负载。第四步是初始化。首次启动前需手动运行一次容器生成初始配置docker run -it --rm -v /volume2/docker/openclaw/config:/root/.openclaw openclaw/openclaw:2026.2.1 openclaw onboard按提示完成QuickStart然后CtrlC退出。此时/volume2/docker/openclaw/config已有基础文件。第五步是启用HTTPS。NAS通常有DDNS和SSL证书。在DSM控制台进入“反向代理”添加规则来源openclaw.yourdomain.com:443目标localhost:18789SSL启用选择Lets Encrypt证书第六步是日志监控。NAS的/volume2/docker/openclaw/logs目录用Synology Log Center添加日志源设置关键词告警ERROR,FATAL,out of memory。当出现FATAL ERROR: Reached heap limit时Log Center自动发邮件我再SSH进去执行docker exec -it openclaw openclaw gateway restart。第七步是备份策略。在DSM“任务计划”里创建每日脚本#!/bin/bash # 备份openclaw配置和缓存 tar -czf /volume1/backup/openclaw-$(date %Y%m%d).tar.gz -C /volume2/docker/openclaw config cache # 保留最近7天 find /volume1/backup -name openclaw-*.tar.gz -mtime 7 -delete全自动零维护。4.3 macOS与Windows跨平台配置的统一范式macOS和Windows的部署难点不在安装而在配置同步与环境隔离。我的方案是所有配置文件托管在iCloud Drive用Git管理变更用Shell脚本自动适配平台差异。第一步是目录结构。在~/Library/Mobile Documents/com~apple~CloudDocs/openclaw/下建立├── config/ │ ├── openclaw.json.tmpl # 模板文件含占位符 │ └── secrets/ # 密钥文件.gitignore ├── scripts/ │ ├── setup-macos.sh # macOS初始化脚本 │ └── setup-win.ps1 # Windows初始化脚本 └── README.md第二步是模板文件openclaw.json.tmpl{ meta: { lastTouchedVersion: 2026.2.1 }, models: { providers: { bailian-token-plan: { baseUrl: https://token-plan.cn-beijing.maas.aliyuncs.com/apps/anthropic, apiKey: {{SECRETS.TOKEN_PLAN_KEY}}, models: [{{MODELS}}] } } }, tools: {