当前位置: 首页 > news >正文

CLI:本地命令如何连接到 OpenClaw

你可能每天都在终端里敲命令:

openclaw agent --message "总结今天的日志" openclaw gateway health openclaw browser status openclaw doctor

看起来这些命令只是本地工具。

但在 OpenClaw 里,CLI 不是一个简单的“命令集合”。它更像本地控制面:负责把人的意图、脚本的参数、终端环境和 Gateway 管理的运行系统连接起来。

如果 Gateway 是入口层和调度中心,那么 CLI 就是你最常用的操作杆。

它既能发起 Agent run,也能检查 Gateway、管理会话、配置模型、启动浏览器、查看日志,还能用 JSON 输出和外部脚本配合。

先说结论:CLI 是本地控制面,不只是快捷命令

OpenClaw CLI 的位置可以画成这样:

User / script / terminal ↓ openclaw CLI ↓ config + profile + auth + workspace ↓ Gateway WebSocket 或 local embedded runtime ↓ Agent / Tools / Browser / Sessions / Channels ↓ TTY output / JSON / delivered reply / logs

它解决三个问题:

把命令行参数变成结构化请求 把本地配置和身份带入请求 把远端或本地运行结果变成终端可读输出

所以,理解 CLI,不是背命令表。

你真正要理解的是:

  • 哪些命令只是查询本地状态?
  • 哪些命令会连接 Gateway?
  • 哪些命令会触发 Agent run?
  • 哪些命令会改变配置、权限或外部渠道?
  • 什么情况下 CLI 会走 embedded local runtime?

CLI 连接 OpenClaw 的两条路

OpenClaw CLI 大致有两种运行路径。

第一种是 Gateway-backed:

openclaw CLI ↓ WebSocket Gateway ↓ Session / Agent Runtime / Tool Events

第二种是 local embedded:

openclaw CLI ↓ 同进程或本地嵌入式 Agent Runtime ↓ 本地工具、模型 provider、插件注册表

官方openclaw agent文档说明:默认通过 Gateway 运行一次 agent turn,使用--local可以改成本地嵌入式运行;如果 Gateway 请求失败,Gateway 模式也可能回退到嵌入式运行。

这就是为什么同一个命令在不同环境下表现不同:

Gateway 正常 CLI 连接 Gateway,复用会话、事件和渠道能力 Gateway 不可用 某些命令只能失败 某些 Agent 命令可能退回本地运行 显式 --local 不等 Gateway,直接走本地嵌入式 runtime

openclaw agent:把一句话变成一次 run

最典型的 CLI 命令是:

openclaw agent --agent ops --message "Summarize logs"

一次命令背后不是直接把文本丢给模型。

它通常经历这些步骤:

1. 解析命令参数 2. 读取 profile、config、agent 绑定和模型覆盖 3. 确定 session selector 4. 构造 agent 请求 5. 连接 Gateway 或进入 local runtime 6. 接收 accepted ack、stream events 和 final response 7. 根据 TTY / --json / --deliver 决定输出方式

官方文档要求openclaw agent至少带一个 session selector,例如--to--session-key--session-id--agent。这不是多余限制。

因为 Agent 必须知道这次 run 属于哪个上下文。

如果没有 session selector,就会出现:

这次回答应该写入哪个 transcript? 应该复用哪段历史? 最终回复应该送回哪个 channel? 工具事件应该和哪个 run 关联?

CLI 的一个核心职责,就是把“我在终端输入的一句话”变成“可以被 Gateway 和 Agent Runtime 路由的结构化请求”。

CLI 参数不是小细节,它们会改变运行语义

很多参数看似只是开关,实际会改变系统行为。

例如:

--message 用户输入正文 --agent 直接指定 agent id,可能覆盖路由绑定 --session-key / --session-id 指定上下文归属 --model 本次运行的模型覆盖 --thinking 本次运行的推理强度 --deliver 不只打印到终端,还把回复送回目标渠道 --json 输出机器可读结果,适合脚本 --local 走本地嵌入式 runtime

这也是 CLI 和普通聊天框的不同。

聊天框通常只表达“说什么”。

CLI 还表达“给谁说、用哪个 agent 说、写入哪个 session、用哪个模型、是否投递、输出给人还是给机器”。

CLI 如何处理输出

OpenClaw CLI 的输出也分层。

在 TTY 里,它会尽量让人好读:

颜色 进度 可点击链接 流式文本 长任务提示

在脚本里,它要尽量稳定:

--json --plain 无颜色输出 可解析字段 明确 exit code

官方 CLI reference 提到,ANSI 颜色和进度只在 TTY 会话里渲染,--json--plain会禁用样式,方便干净输出。

这说明 CLI 既面向人,也面向自动化。

一个给人看的命令可以是:

openclaw agent --agent ops --message "检查最近失败的任务"

一个给脚本看的命令可以是:

openclaw agent --agent ops --message "检查最近失败的任务" --json

前者重视阅读体验。

后者重视字段稳定。

Gateway、Doctor、Status:CLI 也是运维入口

CLI 不只发消息。

它还负责让你知道 OpenClaw 是否健康。

常见命令包括:

openclaw gateway openclaw gateway health openclaw gateway status openclaw gateway probe openclaw status openclaw doctor openclaw logs

这些命令的价值在于把“系统不工作”拆成可定位的问题:

Gateway 是否启动? 端口是否可连? 认证是否正确? 配置是否存在? 模型 provider 是否可用? 浏览器插件是否启用? workspace 是否正常? 日志里有没有明确错误?

如果没有 CLI,很多问题只能靠猜。

有了 CLI,你可以按层排查:

配置层 → Gateway 层 → Agent 层 → Tool 层 → Channel 层

Browser、Approvals、Sandbox:CLI 也是工具控制台

OpenClaw 的工具能力也常通过 CLI 管理。

例如浏览器:

openclaw browser status openclaw browser start openclaw browser open https://example.com openclaw browser snapshot

官方浏览器文档把 OpenClaw-managed browser 描述成独立 profile,支持 tab 控制、点击、输入、拖拽、截图、PDF 和 snapshot。它不是你的日常浏览器,而是给 Agent 自动化和验证用的隔离表面。

再比如 exec approvals:

openclaw approvals get openclaw exec-policy show openclaw exec-policy set

这些命令不是“高级设置”。

它们决定 Agent 能不能执行命令、什么时候需要确认、确认失败时怎么处理。

一个真实场景

假设你想在 CI 失败后用 OpenClaw 做一次排查:

openclaw agent \ --agent ops \ --session-key ci:repo-a:run-8842 \ --message "读取最近一次失败日志,判断是测试问题还是环境问题" \ --json

这条命令传达了很多信息:

使用 ops agent 归属到 ci:repo-a:run-8842 这个会话 输入是一段排查请求 输出给脚本读取

Gateway 接收后,可以把这次 run 和同一个 session 的历史、工具事件、日志摘要关联起来。

如果后面你再执行:

openclaw agent --session-key ci:repo-a:run-8842 --message "把结论改成中文"

Agent 能接着同一条上下文继续。

这就是 CLI 的真实价值:把终端里的临时操作,变成可路由、可追踪、可复用的 Agent 工作流。

常见误解

误解一:CLI 只是 Gateway 的客户端

不完全是。

很多命令确实连接 Gateway,但 CLI 还负责本地配置、profile、setup、doctor、browser、sandbox、approvals 和 embedded local runtime。

误解二:--local等于功能完全一样

不一定。

--local可以加载插件注册表并运行本地 runtime,但它不等于完整复用 Gateway 的所有事件订阅、消息渠道、远程节点和共享状态。

误解三:--json只是换个格式

不是。

--json意味着命令输出要给程序读。脚本应该依赖结构化字段,而不是解析带颜色的终端文本。

误解四:CLI 命令能绕过权限

不能这么理解。

CLI 可以请求执行工具,但真正是否允许执行,还要经过 Gateway、agent policy、exec approvals、sandbox 和 host 策略。

最后总结

CLI 是 OpenClaw 的本地控制面。

它把人的终端输入、脚本参数、本地配置、Gateway 会话和 Agent Runtime 连接起来。

一句话总结:

CLI 让 OpenClaw 可以被人操作、被脚本调用、被运维排查,并把这些操作接入同一套会话和工具系统。

本节作业

  1. 用自己的话解释 Gateway-backed 和--local的区别。
  2. 设计一条openclaw agent命令,必须包含--agent--session-key--json
  3. 思考:为什么openclaw agent需要 session selector?
  4. 列出你会用哪些 CLI 命令排查“Agent 没有回复”的问题。
  5. 区分“CLI 发起请求”和“工具真正获得执行权限”。

下一节预告

下一节讲:

Bridge:连接模型、工具和运行环境的中间层

我们会把“Bridge”这个容易混淆的词拆开:哪些是历史 TCP Bridge,哪些是当前 Gateway 协议、ACP、MCP、工具调用和 runtime adapter。

参考资料

  • OpenClaw Docs:CLI reference
  • OpenClaw Docs:Agent CLI
  • OpenClaw Docs:Gateway architecture
  • OpenClaw Docs:Browser tool
  • OpenClaw Docs:Exec approvals

原文链接:CLI:本地命令如何连接到 OpenClaw | Harries Blog™

http://www.jsqmd.com/news/948093/

相关文章:

  • 贺德克 0015D005BH4HC 滤芯技术简析
  • STM32F103C8T6驱动MAX30205测温:手把手教你搞定I2C多从机地址配置与数据读取
  • 图片压缩工具怎么选?2026 年主流方案技术对比与隐私安全指南
  • 到杭州旅游推荐哪个旅行社?2026 杭州旅行社口碑排行榜,覆盖大型会议接待、公司团建、家庭出行,评分 96+,全程透明报价,省心又靠谱 - 百推信源
  • Qwen3.6-Plus实战指南:一句话生成可部署网页的Vibe Coding工作流
  • 武汉中电通 ZDPD-200 声波定位仪品牌推荐 - 勇士快跑
  • 如何快速掌握跨平台开源音乐播放器:LX Music桌面版终极使用指南
  • PDF补丁丁终极指南:一键批量处理100+PDF文档的完整解决方案
  • 告别I2C拥堵:用I3C的SDR热加入和IBI机制,为你的多传感器IoT设备提速
  • KoGPT-J-base技术路线图:未来发展与社区贡献指南
  • TinyLlama-1.1B-Chat-v0.6部署完全指南:本地、云端与边缘设备终极教程
  • ChatGPT记忆功能深度解析:从状态less到有状态对话的范式跃迁
  • Gemini 3.0八大渠道实测:API稳定性与企业级接入成本深度对比
  • 2026 年人工智能验布机 TOP5 排行榜:迈沐智能断层领跑,纺织质检智能化首选 - 玖叁鹿
  • Qwen3.6-Plus实测:原生多模态+Agentic Coding的工业级性价比模型
  • 5分钟掌握Maya到Web 3D的终极转换:glTF插件完全指南
  • UVa 386 Perfect Cubes
  • 编写程序,捕捉工位久坐间断时长,自动计算每日久坐峰值,定时生成起身活动提醒指令。
  • 让登录更聪明:利用快马AI辅助设计云开App登录入口的智能交互体验
  • QMCDecode:3步轻松解密QQ音乐加密音频的终极macOS工具指南
  • 面试官最爱问的异步FIFO深度计算题,我用一个传感器数据采集的案例给你讲透
  • 船舶Z形操纵仿真MATLAB工具包:支持集装箱船、油轮等多船型及风浪耦合工况
  • CANN/ops-blas批量矩阵向量乘法算子实现
  • 别再手动画阻焊了!用Altium Designer这个隐藏技巧,5分钟搞定大电流开窗
  • Windows右键菜单终极清理指南:3步告别杂乱,重获清爽体验
  • IT管理员必备:用Office部署工具批量静默安装Office 365,并自定义组件(排除Access/Publisher等)
  • PUBG罗技鼠标宏配置实战指南:从零到精通的压枪三部曲
  • 实战演练,基于快马AI构建一个技能匹配与团队协作平台
  • Ableton Live 12.4.5 扩展程序公测:突破预期,无规则限制打造专属音乐工具!
  • MATLAB实操包:毫米波雷达多普勒测速+CFAR弱目标检测+高分辨测距全流程代码与结果图