OpenClaw 第6章:TUI 与 Web 控制面板下的基础命令与 skill 实操
发布时间:2026/10/7 14:58:09 锦皓数字建站

1. 为什么要在 TUI 和 Web 面板之间来回切换OpenClaw 这个项目很多人第一次跑起来之后会卡在一个很实际的问题上终端里敲命令能看到状态浏览器里点按钮也能看到状态那到底该用哪个我自己的习惯是——部署和排障阶段用 TUI日常任务编排和 skill 管理用 Web 控制面板。原因不复杂TUI 的反馈是即时的一条命令下去 stdout 直接告诉你哪里炸了Web 面板适合做可视化配置尤其是 skill 的参数填写和任务历史回看比在终端里翻日志舒服得多。这一章要解决的核心问题就是同一件事在 TUI 和 Web 控制面板下分别怎么做做完之后结果对不对得上。比如「查看已安装 skill」这个动作TUI 里是skill listWeb 面板里是「技能管理」模块再比如「安装一个 browser skill」TUI 是skill install browserWeb 面板是搜索 ClawHub 后一键安装。两条路径最终操作的是同一套 skill 注册表所以结果必须一致——如果不一致说明有一边的配置没落盘或者服务没重载。适合谁看如果你已经按前面的章节把 OpenClaw 跑起来了终端里能看到claw提示符浏览器能打开127.0.0.1:18789那这一章就是给你准备的。如果你还没跑起来建议先把服务启动和端口监听确认好否则后面的命令验证会一直报连接错误。另外提一句模型接入的事。OpenClaw 本身是交互层和 skill 调度层真正干活的大模型需要单独配置。我实测下来用 TaoToken 这类兼容 OpenAI 协议的中转服务比较省事Base URL 填https://taotoken.net/apiKey 在控制台生成Model ID 按你订阅的模型填。这样 TUI 和 Web 面板共用同一份模型配置不会出现「终端能跑、网页报 401」的割裂情况。具体配置片段在第三节会给。这一章的结构是这样先把两条交互路径的基础命令和面板模块对齐然后给出可复制的配置片段接着逐条验证请求和返回结果最后把常见的报错对照着排一遍。你跟着做应该能在 20 分钟内把两条路径都跑通并且知道出问题时该看哪一边。2. TUI 基础命令与 skill 调用实操TUI 是 OpenClaw 最直接的交互方式。启动服务后终端会出现claw提示符这时候你输入的每一条命令都会被解析成对应的操作。新手不用记太多先把下面这几组命令用熟就够了。2.1 服务状态类命令这四个命令是排障时的第一反应建议先敲一遍确认服务健康openclaw status openclaw start openclaw stop openclaw restartopenclaw status会输出当前运行状态、监听端口、已加载 skill 数量。我这边实测的输出大概长这样OpenClaw v0.x.x Status: running Port: 18789 Skills loaded: 3 (browser, memory, file) Model endpoint: https://taotoken.net/api如果Status显示stopped那后面的 skill 命令都会失败先openclaw start再继续。restart主要用在改了配置文件之后——比如你更新了模型 Key 或者新增了 skill 目录不重启不会生效。2.2 skill 管理命令skill 是 OpenClaw 的能力单元browser 负责网页操作memory 负责上下文记忆file 负责本地文件读写。常用命令就三条skill list skill install browser skill uninstall browserskill list的输出会带状态标记比如browser (enabled)、memory (enabled)、file (disabled)。注意enabled和installed是两回事装上了但没启用任务里调用会报「skill not available」。启用/禁用一般在 Web 面板里点TUI 下可以通过配置文件改后面会给片段。安装 skill 的时候如果网络拉取 ClawHub 索引慢命令会卡几秒这是正常的。如果超过 30 秒没反应大概率是索引源不通可以换国内加速源或者直接用 npm 方式装。2.3 任务执行与退出TUI 下也可以直接发起任务不过更常见的是用 Web 面板创建。TUI 里执行任务一般是task run 整理当前目录下的 markdown 文件按修改时间排序执行过程中会实时打印日志任务结束后返回结果摘要。如果你想中途停掉CtrlC会终止当前任务但不会退出 TUI。真正退出用exit这里有个坑exit只是退出交互界面后台服务还在跑。如果你想让服务也停掉得再执行openclaw stop。很多人以为exit就是关服务结果端口一直占着下次启动报「address already in use」。2.4 skill 调用的参数传递skill 安装后调用时可以带参数。以 browser skill 为例TUI 下可以这样触发一次网页抓取task run --skill browser --url https://example.com --action extract_text参数名要和 skill 的 manifest 对齐写错了会报unknown parameter。Web 面板的好处就在这里——它会根据 skill 的 schema 自动生成表单你不需要记参数名。所以我的建议是参数复杂的 skill 用 Web 面板配参数简单的用 TUI 快速跑。TUI 的优势是脚本化。你可以把一串命令写进 shell 脚本批量执行任务比如每天定时跑一次文件整理。Web 面板做不到这一点它更适合交互式操作。3. Web 控制面板配置与可复制片段Web 控制面板的入口是http://127.0.0.1:18789本地或http://服务器公网IP:18789云端。打开后左侧是导航核心就三块技能管理、任务管理、日志查看。这一节重点不是教你点按钮而是把面板背后的配置文件写清楚因为面板上的操作最终都会落到配置文件里你理解了配置两条路径就打通了。3.1 模型接入配置片段OpenClaw 的模型配置一般在~/.openclaw/config.json或项目根目录的config.json。下面是一个可复制的 JSON 片段Base URL 指向 TaoToken 的 API 地址{ model: { provider: openai-compatible, base_url: https://taotoken.net/api, api_key: sk-你的Key, model_id: claude-3-5-sonnet, timeout: 60 }, server: { port: 18789, host: 127.0.0.1 }, skills: { browser: { enabled: true }, memory: { enabled: true }, file: { enabled: false } } }改完这个文件后必须openclaw restart才生效。Web 面板的「设置」页其实就是在编辑这个文件只是做了可视化。如果你在面板上改了 Key保存后同样要重启服务否则内存里还是旧配置。Key 的生成入口在 TaoToken 控制台的 API Keys 页面建议单独建一个 Key 给 OpenClaw 用方便后续排查和轮换。3.2 skill 启用/禁用的配置写法面板上「技能管理」里的开关对应配置里的enabled字段。如果你想批量改直接编辑 JSON 更快skills: { browser: { enabled: true, timeout: 30 }, memory: { enabled: true, max_tokens: 4096 }, file: { enabled: true, root: /data/workspace } }注意fileskill 的root参数它限制了文件操作的根目录。不配的话默认是当前工作目录配错了会导致任务报「path out of scope」。这个参数在 Web 面板里是一个输入框在 TUI 下只能改配置文件。3.3 任务创建的配置化方式Web 面板「新建任务」支持可视化选 skill、填参数。它生成的其实是一个任务描述对象类似{ task: 整理桌面文件, skill: file, params: { action: organize, target_dir: /data/workspace/desktop, group_by: type } }这个对象你可以直接存成文件然后用 TUI 的task run --file task.json执行。反过来TUI 里跑成功的任务也可以在面板的「任务历史」里看到记录。两条路径共享同一个任务队列这是它们结果能对齐的基础。3.4 日志与排障入口面板的「日志查看」模块会展示任务执行日志和错误信息。常见的错误比如「技能未启用」「API Key 无效」都会在这里出现。TUI 下对应的命令是查看服务日志文件一般在~/.openclaw/logs/openclaw.log。我的习惯是面板看任务级日志TUI 看服务级日志。任务失败先看面板服务起不来先看 TUI 和日志文件。配置这块还有一个细节如果你在云端部署host要改成0.0.0.0否则面板只能本机访问。改完记得检查防火墙端口放行不然浏览器打不开。4. 逐条验证请求与成功结果对照配置写完接下来是验证。这一节我会把同一件事在两条路径下各做一遍然后对比结果。你跟着敲能确认自己的环境是通的。4.1 验证服务状态TUI 下openclaw status期望输出里Status: running、Port: 18789、Skills loaded大于 0。如果Skills loaded: 0说明 skill 目录没被扫描到检查配置里的 skill 路径。Web 面板下打开http://127.0.0.1:18789首页顶部会显示运行状态和 skill 数量。两个数字应该一致。如果不一致刷新页面或者重启服务。4.2 验证 skill 列表TUI 下skill list输出示例browser enabled memory enabled file disabledWeb 面板下进入「技能管理」应该看到同样的三个 skill开关状态一致。如果面板显示 browser 是关的但 TUI 显示 enabled说明面板读的是缓存重启服务即可。4.3 验证模型请求这是最关键的一步。TUI 下发起一个简单任务task run 用一句话说明什么是 OpenClaw如果模型配置正确几秒后会返回一段文字。如果报401 Unauthorized检查api_key是否填对、是否有多余空格。如果报connection timeout检查base_url是否可达。Web 面板下新建任务输入同样的问题点执行。结果应该和 TUI 返回的内容语义一致措辞可能不同因为模型有随机性。如果面板报错但 TUI 正常大概率是面板的服务进程没读到最新配置重启。4.4 验证 skill 调用TUI 下调用 browser skilltask run --skill browser --url https://example.com --action extract_text期望返回网页的文本内容。如果报skill not available回到 4.2 确认 browser 是 enabled。Web 面板下新建任务技能选 browser参数里填 URL 和 action执行。结果应该和 TUI 一致。这里有个细节面板的参数表单是根据 skill schema 生成的如果某个参数没显示说明 skill manifest 里没定义需要检查 skill 版本。4.5 验证任务历史TUI 下执行的任务应该在 Web 面板的「任务历史」里能看到。反过来也一样。如果看不到检查两边是否连的同一个服务实例——有时候你开了两个端口自己连混了。验证通过的标准很简单同一件事两条路径的结果能对上任务历史能互相看到。做到这一步说明你的 OpenClaw 交互层已经打通了。5. 常见报错对照与排查这一节列几个我实际踩过的报错按报错信息对照排查。你遇到问题先在这里找找不到再看日志文件。5.1 401 Unauthorized完整报错大概是Error: model request failed: 401 Unauthorized原因API Key 无效或没填。排查步骤打开配置文件确认api_key字段注意不要有引号嵌套错误。如果 Key 是从 TaoToken 控制台复制的确认没有复制到多余空格。改完openclaw restart。5.2 local proxy failed / connection refusedError: local proxy failed: dial tcp 127.0.0.1:18789: connect: connection refused这个报错说明 TUI 或面板在尝试连本地服务但服务没起来。先openclaw status确认如果是 stoppedopenclaw start。如果启动失败看日志文件里的具体原因常见的是端口被占用。5.3 reading choices 相关报错Error: reading choices: unexpected end of JSON input这是模型返回体解析失败通常是因为base_url配错了返回的不是标准 OpenAI 格式。确认base_url是https://taotoken.net/api不要多加/v1或者漏掉路径。有些兼容服务路径不一样以文档为准。5.4 OAuth 相关报错Error: OAuth token expired如果你用的是需要 OAuth 的模型服务token 过期会报这个。OpenClaw 本身不管理 OAuth 刷新需要你在外部刷新后更新配置。用 API Key 方式接入可以避开这个问题。5.5 skill install 卡住Installing browser skill... 长时间无响应ClawHub 索引拉取慢。可以换国内加速源或者直接用 npm 安装npm install -g openclaw/skill-browser装完在配置里把browser.enabled设为 true重启服务。5.6 面板打不开浏览器访问127.0.0.1:18789无响应。检查三件事服务是否 running、host配置是否是127.0.0.1或0.0.0.0、防火墙是否放行。云端部署还要检查安全组规则。5.7 两条路径结果不一致TUI 能跑面板报错或者反过来。九成是配置没同步。确认两边读的是同一个配置文件改完都重启。如果还不行看面板的日志模块和服务日志文件对比时间戳找到分歧点。排查的核心思路就一条先确认服务状态再确认配置加载最后看具体请求的返回体。大部分问题在前两步就能定位。6. 把两条路径用顺手的几个建议做到这里TUI 和 Web 面板应该都能跑了。最后说几个我自己的使用习惯不是必须但能省时间。日常任务编排我基本都在 Web 面板做因为参数表单省去了查 schema 的麻烦任务历史也直观。但涉及批量操作、定时脚本、CI 集成的时候TUI 的命令行优势就出来了——你可以把task run写进 shell 脚本配合 cron 定时执行。skill 的安装和启用我建议在面板里做因为能看到 ClawHub 的搜索结果和版本信息。但 skill 的参数微调比如改 timeout、改 root 目录直接编辑 JSON 更快改完重启。模型配置这块不管你用哪条路径最终都落到同一份 config.json。所以改 Key、换模型的时候改一次就行不用两边都改。改完记得重启这是最容易忘的一步。如果你还没配模型可以先去 TaoToken 控制台生成一个 KeyBase URL 用https://taotoken.net/apiModel ID 按你订阅的填。配好之后TUI 和面板共用这一份配置不会出现一边通一边不通的情况。最后遇到报错别慌先看日志。面板的日志模块和服务日志文件能覆盖 90% 的问题。剩下的 10%多半是配置没重启或者端口连混了。
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。