
1. 为什么我的 openclaw 装好了却跑不了命令很多人第一次把 openclaw 跑起来满心期待地丢一句「帮我建个目录、写个脚本、跑一下测试」结果它只会跟你聊天压根不动手。你以为是模型不行其实大概率是工具集没开全。openclaw 默认安装后工具配置里只启用了messaging这一档 profile。这个档位只包含消息传递类工具也就是收发消息、简单对话不包含 exec / shell 这类命令执行能力。所以你让它执行命令它要么直接拒绝要么告诉你「我没有这个工具」。这个设计本身是出于安全考虑默认最小权限避免刚装好就误执行危险命令。但对本地开发、自动化脚本、Agent 场景来说这就成了拦路虎。你需要从两个地方动手一是config里的tools.profile二是gateway通道的重启与加载。这两步缺一不可只改 config 不重启 gateway配置不会生效只重启 gateway 不改 config工具集还是老样子。这篇就按「改 config → 重启 gateway → 验证命令执行」的顺序把整条链路走一遍。适合刚接触 openclaw、想让它在本地真正干活的人。下面所有命令都可以直接复制改完你就能看到它开始创建文件、运行命令了。2. 动手前先把 TaoToken 的接入信息准备好openclaw 本身是工具调度框架真正干活的模型能力需要接一个稳定的 API 通道。我这边一直用的是 TaoToken它的接口兼容主流格式配置起来不折腾。你如果还没准备可以先到官网看看https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content接入需要的三样东西API 地址、API Key、模型名。API 地址统一用 https://taotoken.net/api 注意这个地址不带任何查询参数直接填就行。API Key 在控制台的 API Keys 页面创建建议单独建一个给 openclaw 用方便后面排查和轮换。创建 Key 的入口在这里https://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite模型名按你实际要用的填比如做代码和命令类任务选一个指令跟随能力强的就行。如果你不确定选哪个可以先去模型对话页面试几句确认响应正常再写进配置https://taotoken.net/model-chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewrite把这三样记下来下一步写 config 的时候直接填。这里提醒一句API Key 不要提交到 git也不要在截图里露出来本地配置文件记得加进.gitignore。3. 可复制的 config 骨架把 tools.profile 放开openclaw 的配置一般放在用户目录下的配置文件中具体路径可以用openclaw config path查一下。改之前先看一眼当前值确认问题确实出在 profile 上openclaw config get tools.profile如果返回的是messaging那就对上了。接下来把它改成default或full。两者的区别是default启用常用工具集包含命令执行full则把所有可用工具都打开权限最大。本地开发环境用full更省事生产或共享环境建议先用default收敛范围。openclaw config set tools.profile full改完再读一次确认写入成功openclaw config get tools.profile如果不想用命令行也可以直接编辑配置文件。一个可复制的最小骨架大概长这样注意tools段和gateway段都要在{ tools: { profile: full, exec: { enabled: true, timeout: 30000, workingDir: /Users/yourname/workspace } }, gateway: { host: 127.0.0.1, port: 8787, autoRestart: true }, model: { baseUrl: https://taotoken.net/api, apiKey: sk-你的key, name: 你的模型名 } }几个参数说明一下。exec.timeout是单条命令的超时时间单位毫秒默认给 30000 够用跑长任务可以调大。exec.workingDir是命令执行的工作目录建议显式指定不然它可能在你意想不到的目录里创建文件。gateway.port是本地通道端口别和已有服务冲突。注意tools.profile改成full之后模型理论上可以执行任意 shell 命令。本地玩没问题但如果这个实例会接收外部输入务必把workingDir限制在专用目录并考虑用容器隔离。4. gateway 配置与重启让新工具集真正加载config 改完只是写进了文件运行中的 gateway 还拿着旧配置。必须重启 gateway它才会重新读取tools段并注册命令执行工具。openclaw gateway restart如果 restart 报错说找不到进程说明 gateway 当前没在跑直接启动即可openclaw gateway start启动后看状态确认它监听在配置的端口上openclaw gateway status正常的话会显示 running 以及 host/port 信息。如果端口被占用改gateway.port再重启。gateway 起来之后它会根据tools.profile决定向模型暴露哪些工具。profile 是full时exec/shell 类工具会被注册进去模型在需要时就能调用。这里有个容易忽略的点有些版本的 openclaw 把工具注册和 gateway 启动绑在一起如果你只重启了模型服务没重启 gateway工具列表不会刷新。所以顺序一定是「先改 config再重启 gateway」反过来做等于白改。5. 验证命令执行能力是否真的生效配置和重启都做完了怎么确认命令执行真的通了别只看它嘴上说「我可以执行」要让它实际动手。第一步查工具列表。有些版本支持直接列出当前可用工具openclaw tools list如果输出里能看到exec或shell说明工具已经注册。看不到就回到第 3 步检查 profile 值。第二步发一条明确的执行指令。比如让它创建一个测试文件并写入内容openclaw run 在当前工作目录创建 hello.txt内容写入 openclaw exec ok然后读取这个文件确认观察返回结果。如果它回复里包含文件内容openclaw exec ok并且你本地确实能看到这个文件说明命令执行链路完全打通。你也可以自己再确认一次cat hello.txt第三步测一条带返回值的命令验证输出能被正确回传openclaw run 执行 pwd 和 ls -la把结果原样返回返回的路径应该和你配置的workingDir一致。如果路径不对回去检查exec.workingDir有没有写对、有没有被其他配置覆盖。三步都过就说明从 config 到 gateway 再到实际执行整条链路是通的。这时候你再让它做自动化任务比如批量重命名、跑测试脚本、生成项目骨架它就能真正动手了。6. 本篇常见错误排查改了 profile 但工具列表没变。九成是没重启 gateway。config 是启动时读取的运行中改文件不生效。执行openclaw gateway restart后再查。restart 后 exec 仍然不可用。检查是不是有多个配置文件。openclaw 可能同时读全局配置和项目级配置项目级的会覆盖全局。用openclaw config path确认当前生效的是哪个文件改对地方。命令执行超时。默认 30 秒对多数命令够用但装依赖、跑构建容易超。把exec.timeout调到 120000 甚至更大。如果还是超时看是不是命令本身卡在交互式输入上比如npm init会等你回车这种要加-y之类的非交互参数。工作目录不对文件创建到了奇怪的地方。显式设置exec.workingDir为绝对路径。相对路径会相对于 gateway 进程的启动目录容易踩坑。API 请求报错导致工具调用中断。先确认model.baseUrl是https://taotoken.net/api没有多余斜杠或参数再确认 API Key 有效、额度正常。接入文档里有完整的参数说明和错误码对照遇到报错可以对着查https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite权限被系统拒绝。如果命令涉及写系统目录或需要 sudo会被拦。把工作目录设在用户可写路径下别让它去动/etc、/usr这些地方。排查的基本思路就是先确认 config 值对不对再确认 gateway 有没有重启最后确认命令本身在终端里能不能手动跑通。三层逐一排除基本都能定位到。7. 长期跑编码和 Agent 任务可以看下 Coding Plan如果你只是偶尔让 openclaw 执行几条命令按上面的配置就够了。但如果你打算把它当成长期的编码助手或 Agent 底座频繁调用模型、跑多轮工具链那单次按量计费可能不太划算也容易在高峰期遇到限流。这种场景可以了解一下 Coding Plan它是面向长期编码和 Agent 使用的方案适合把 openclaw 这类工具持续挂在后台跑任务的人https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite配置上不用大改把 model 段的 baseUrl 和 key 换成对应方案的信息即可工具集和 gateway 的设置保持不变。这样你既保留了完整的命令执行能力又能在长期使用上更省心。最后留一个我自己的习惯每次改完 config 和 gateway都跑一遍第 5 步的三条验证命令。花不了一分钟但能避免「以为配好了、结果任务跑一半发现工具没注册」这种尴尬。命令执行能力一旦打通openclaw 才算真正从聊天机器人变成了能干活的手。