在本系列的最后一篇文章中,我们将深入探讨 OpenClaw 的高级功能、技能系统、远程访问配置以及日常维护和优化技巧。
目录
浏览器控制
OpenClaw 可以控制专用的 Chrome/Chromium 实例,实现网页自动化。
启用浏览器控制
在配置文件中启用:
{
"browser": {
"enabled": true,
"color": "#FF4500",
"headless": false,
"userDataDir": "~/.openclaw/browser-profile"
}
}
配置选项:
enabled:启用浏览器控制color:浏览器主题颜色headless:无头模式(后台运行)userDataDir:浏览器配置文件目录
浏览器功能
Agent 可以执行以下浏览器操作:
导航和交互:
- 打开网页
- 点击元素
- 填写表单
- 滚动页面
数据提取:
- 截图
- 提取文本
- 获取 HTML
- 执行 JavaScript
文件操作:
- 上传文件
- 下载文件
使用示例
你:打开 GitHub 并搜索 OpenClaw
Agent:好的,我来帮你打开 GitHub 并搜索...
[执行浏览器操作]
Agent:已找到 OpenClaw 仓库,这是截图。
MEDIA:/tmp/github-screenshot.png
浏览器配置文件
浏览器配置文件存储在:
~/.openclaw/browser-profile/
这包括:
- Cookie 和会话
- 书签
- 扩展程序
- 浏览历史
故障排查
Linux 上的浏览器问题:
如果浏览器无法启动,可能需要安装依赖:
# Ubuntu/Debian
sudo apt-get install -y \
libnss3 \
libatk-bridge2.0-0 \
libdrm2 \
libxkbcommon0 \
libgbm1 \
libasound2
# Fedora/RHEL
sudo dnf install -y \
nss \
atk \
libdrm \
libxkbcommon \
mesa-libgbm \
alsa-lib
Canvas 与 A2UI
Canvas 是 Agent 驱动的可视化工作空间。
什么是 Canvas?
Canvas 提供了一个实时的可视化界面,Agent 可以:
- 推送 UI 组件
- 更新显示内容
- 执行代码
- 捕获快照
启用 Canvas
Canvas 通过设备节点访问(macOS/iOS/Android)。
macOS 应用:
- 自动支持 Canvas
- 在菜单栏应用中查看
iOS/Android 节点:
- 配对设备后自动可用
- 在应用中查看 Canvas 选项卡
Canvas 操作
Agent 可以使用以下 Canvas 工具:
canvas.push:推送新内容canvas.reset:重置 Canvascanvas.eval:执行代码canvas.snapshot:捕获快照
使用示例
你:创建一个待办事项列表
Agent:好的,我在 Canvas 上创建了一个待办列表。
[推送 UI 到 Canvas]
设备节点
设备节点扩展了 OpenClaw 的能力,允许执行设备特定的操作。
macOS 节点
macOS 应用可以作为节点运行,提供:
系统操作:
system.run:运行本地命令system.notify:发送系统通知
媒体操作:
camera.snap:拍照camera.clip:录制视频screen.record:屏幕录制
Canvas 访问:
- 显示和控制 Canvas
iOS 节点
iOS 应用提供:
- 语音唤醒:使用唤醒词激活
- 对话模式:持续语音对话
- Canvas:可视化界面
- 相机:拍照和录像
- 屏幕录制:捕获屏幕
- 位置:获取地理位置
- Bonjour 配对:自动发现和配对
Android 节点
Android 应用提供:
连接选项卡:
- 设置码配对
- 手动配置
聊天会话:
- 直接与 Agent 对话
语音选项卡:
- 持续语音模式
Canvas:
- 可视化工作空间
设备命令:
- 通知管理
- 位置服务
- SMS 访问
- 照片访问
- 联系人/日历
- 运动传感器
- 应用更新
配对设备节点
使用配对码:
- 在设备上打开 OpenClaw 应用
- 获取配对码
- 在 Gateway 上批准:
openclaw devices pair <code>
使用 Bonjour(macOS/iOS):
设备会自动发现本地网络上的 Gateway。
调用节点操作
# 列出节点
openclaw nodes list
# 描述节点能力
openclaw nodes describe <node-id>
# 调用节点操作
openclaw nodes invoke <node-id> camera.snap
节点权限(macOS)
macOS 节点需要特定权限:
- 屏幕录制:用于
screen.record - 相机:用于
camera.* - 通知:用于
system.notify
在系统偏好设置 > 安全性与隐私 > 隐私中授予权限。
技能系统
技能是扩展 OpenClaw 功能的模块化方式。
技能类型
捆绑技能(Bundled):
- 内置在 OpenClaw 中
- 自动可用
- 例如:基本工具、会话管理
托管技能(Managed):
- 从 ClawHub 安装
- 社区贡献
- 例如:Gmail、Calendar、GitHub
工作区技能(Workspace):
- 自定义技能
- 存储在工作区中
- 完全可定制
安装技能
从 ClawHub 安装:
# 搜索技能
openclaw skills search gmail
# 安装技能
openclaw skills install gmail
# 列出已安装技能
openclaw skills list
手动安装:
-
创建技能目录:
mkdir -p ~/.openclaw/workspace/skills/my-skill -
创建
SKILL.md:# My Custom Skill ## 描述 这是一个自定义技能。 ## 工具 ### my_tool 执行特定操作。 参数: - param1: 描述 - param2: 描述 -
创建实现文件(可选):
// skill.js module.exports = { my_tool: async (params) => { // 实现逻辑 return result; } };
技能配置
在配置文件中管理技能:
{
"skills": {
"enabled": true,
"autoInstall": false,
"allowList": ["gmail", "calendar", "github"],
"denyList": ["dangerous-skill"]
}
}
ClawHub
ClawHub 是技能注册中心。
启用 ClawHub:
{
"clawhub": {
"enabled": true,
"autoSearch": true
}
}
功能:
- Agent 可以自动搜索技能
- 根据需要拉取新技能
- 社区贡献的技能库
创建自定义技能
技能结构:
~/.openclaw/workspace/skills/my-skill/
├── SKILL.md # 技能文档
├── skill.js # 实现(可选)
├── package.json # 依赖(可选)
└── README.md # 说明(可选)
SKILL.md 模板:
# 技能名称
## 描述
简短描述技能的功能。
## 工具
### tool_name
工具描述。
**参数**:
- `param1` (string): 参数描述
- `param2` (number, optional): 可选参数
**返回**:
- 返回值描述
**示例**:
\`\`\`
tool_name(param1="value", param2=123)
\`\`\`
## 配置
如果需要配置,在此说明。
## 依赖
列出外部依赖。
技能示例:天气查询
# 天气查询技能
## 描述
查询指定城市的天气信息。
## 工具
### get_weather
获取城市的当前天气。
**参数**:
- `city` (string): 城市名称
- `units` (string, optional): 单位(metric/imperial),默认 metric
**返回**:
- 天气信息对象
**示例**:
\`\`\`
get_weather(city="Beijing", units="metric")
\`\`\`
## 配置
需要设置环境变量:
- `WEATHER_API_KEY`: OpenWeatherMap API 密钥
远程访问
OpenClaw 支持远程访问 Gateway,让你可以从任何地方控制你的 AI 助手。
方式一:Tailscale(推荐)
Tailscale 提供安全的点对点连接。
安装 Tailscale
macOS:
brew install tailscale
Linux:
curl -fsSL https://tailscale.com/install.sh | sh
配置 Tailscale Serve
在配置文件中启用:
{
"gateway": {
"bind": "127.0.0.1",
"tailscale": {
"mode": "serve",
"resetOnExit": true
}
}
}
模式选项:
off:不使用 Tailscale(默认)serve:仅 Tailnet 内访问(使用 Tailscale 身份认证)funnel:公开 HTTPS 访问(需要密码认证)
Tailscale Funnel(公开访问)
如果需要公开访问:
{
"gateway": {
"bind": "127.0.0.1",
"auth": {
"mode": "password",
"password": "your-secure-password"
},
"tailscale": {
"mode": "funnel"
}
}
}
重要:
- Gateway 必须绑定到 loopback(OpenClaw 强制执行)
- Funnel 需要密码认证
- Serve 可以使用 Tailscale 身份认证或密码
方式二:SSH 隧道
使用 SSH 隧道进行远程访问。
创建 SSH 隧道
从远程机器:
ssh -L 18789:localhost:18789 user@gateway-host
持久化隧道(使用 autossh):
autossh -M 0 -f -N -L 18789:localhost:18789 user@gateway-host
配置 SSH
在 ~/.ssh/config 中添加:
Host openclaw-gateway
HostName gateway-host
User your-user
LocalForward 18789 localhost:18789
ServerAliveInterval 60
ServerAliveCountMax 3
然后简单地运行:
ssh openclaw-gateway
远程 Gateway 架构
在 Linux 服务器上运行 Gateway 是完全可行的:
┌─────────────────┐
│ Linux Server │
│ (Gateway) │
│ - exec tool │
│ - channels │
└────────┬────────┘
│
├─ Tailscale/SSH
│
┌────────┴────────┐
│ Local Device │
│ - macOS app │
│ - CLI │
│ - WebChat │
└─────────────────┘
│
├─ node.invoke
│
┌────────┴────────┐
│ Device Nodes │
│ - macOS node │
│ - iOS node │
│ - Android node │
└─────────────────┘
关键点:
- Gateway 运行
exec工具和频道连接 - 设备节点运行设备本地操作
exec在 Gateway 所在位置运行- 设备操作在设备所在位置运行
远程客户端配置
配置本地客户端连接到远程 Gateway:
openclaw onboard --remote
或手动配置:
{
"gateway": {
"remote": {
"url": "wss://your-gateway.ts.net",
"token": "your-token"
}
}
}
更新和维护
保持 OpenClaw 最新以获得最新功能和安全修复。
检查更新
openclaw update --check
更新 OpenClaw
稳定版本:
openclaw update --channel stable
Beta 版本:
openclaw update --channel beta
开发版本:
openclaw update --channel dev
开发渠道
OpenClaw 有三个开发渠道:
- stable:标记的发布版本(
vYYYY.M.D),npm dist-taglatest - beta:预发布版本(
vYYYY.M.D-beta.N),npm dist-tagbeta - dev:主分支的移动头部,npm dist-tag
dev
从源码更新
如果从源码安装:
cd openclaw
git pull
pnpm install
pnpm ui:build
pnpm build
运行诊断
更新后运行诊断:
openclaw doctor
这会检查:
- 配置有效性
- 安全问题
- 依赖问题
- 迁移需求
迁移
OpenClaw 会自动处理配置迁移,但建议:
- 更新前备份配置
- 查看 CHANGELOG
- 运行
openclaw doctor - 测试关键功能
性能优化
模型选择
选择合适的模型可以平衡性能和成本:
高性能:
- Claude Opus 4.6:最佳长上下文处理
- GPT-5.2:强大的推理能力
平衡:
- Claude Sonnet 4.5:性价比高
- GPT-4:可靠的性能
经济:
- Claude Haiku:快速且便宜
- GPT-3.5:基本任务
模型回退
配置模型回退以处理限制:
{
"agent": {
"model": "anthropic/claude-opus-4-6",
"fallback": [
"anthropic/claude-sonnet-4-5",
"openai/gpt-4",
"anthropic/claude-haiku"
]
}
}
上下文管理
定期压缩:
/compact
配置自动重置:
{
"session": {
"reset": {
"mode": "daily",
"atHour": 4
}
}
}
限制上下文长度:
{
"agent": {
"maxContextTokens": 100000
}
}
缓存策略
启用响应缓存:
{
"agent": {
"cache": {
"enabled": true,
"ttl": 3600
}
}
}
并发控制
限制并发请求:
{
"agent": {
"concurrency": {
"max": 3,
"queue": true
}
}
}
超时配置
设置合理的超时:
{
"agent": {
"timeoutSeconds": 1800
}
}
备份和恢复
备份内容
需要备份的关键数据:
配置文件:
~/.openclaw/openclaw.json
工作区:
~/.openclaw/workspace/
会话数据:
~/.openclaw/agents/*/sessions/
凭证:
~/.openclaw/credentials/
技能:
~/.openclaw/workspace/skills/
备份脚本
创建自动备份脚本:
#!/bin/bash
# backup-openclaw.sh
BACKUP_DIR=~/openclaw-backups
DATE=$(date +%Y%m%d-%H%M%S)
BACKUP_PATH=$BACKUP_DIR/openclaw-$DATE
mkdir -p $BACKUP_PATH
# 备份配置
cp ~/.openclaw/openclaw.json $BACKUP_PATH/
# 备份工作区
cp -r ~/.openclaw/workspace $BACKUP_PATH/
# 备份会话
cp -r ~/.openclaw/agents $BACKUP_PATH/
# 备份凭证(加密)
tar czf - ~/.openclaw/credentials | \
openssl enc -aes-256-cbc -salt -out $BACKUP_PATH/credentials.tar.gz.enc
# 清理旧备份(保留最近 7 天)
find $BACKUP_DIR -type d -mtime +7 -exec rm -rf {} +
echo "备份完成: $BACKUP_PATH"
使用 Git 备份工作区
将工作区初始化为 Git 仓库:
cd ~/.openclaw/workspace
git init
git add .
git commit -m "Initial commit"
# 添加远程仓库(私有)
git remote add origin git@github.com:your-user/openclaw-workspace.git
git push -u origin main
恢复
从备份恢复:
# 停止 Gateway
openclaw gateway stop
# 恢复配置
cp backup/openclaw.json ~/.openclaw/
# 恢复工作区
cp -r backup/workspace ~/.openclaw/
# 恢复会话
cp -r backup/agents ~/.openclaw/
# 恢复凭证
openssl enc -aes-256-cbc -d -in backup/credentials.tar.gz.enc | \
tar xzf - -C ~/
# 重启 Gateway
openclaw gateway start
监控和日志
日志位置
OpenClaw 日志存储在:
/tmp/openclaw/openclaw-YYYY-MM-DD.log
实时查看日志
tail -f /tmp/openclaw/openclaw-$(date +%Y-%m-%d).log
日志级别
配置日志级别:
{
"logging": {
"level": "info"
}
}
级别选项:
error:仅错误warn:警告和错误info:信息、警告和错误(默认)debug:调试信息trace:详细跟踪
监控脚本
创建监控脚本:
#!/bin/bash
# monitor-openclaw.sh
while true; do
if ! openclaw status > /dev/null 2>&1; then
echo "$(date): Gateway 未运行,正在重启..."
openclaw gateway start
# 发送通知
openclaw message send \
--to +1234567890 \
--message "OpenClaw Gateway 已重启"
fi
sleep 300 # 每 5 分钟检查一次
done
使用 systemd 监控(Linux)
创建 systemd 服务:
[Unit]
Description=OpenClaw Gateway
After=network.target
[Service]
Type=simple
User=your-user
ExecStart=/usr/local/bin/openclaw gateway
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
启用服务:
systemctl --user enable openclaw-gateway
systemctl --user start openclaw-gateway
安全最佳实践
1. 使用强认证
{
"gateway": {
"auth": {
"mode": "token",
"token": "使用强随机 token"
}
}
}
生成强 token:
openssl rand -hex 32
2. 限制网络访问
{
"gateway": {
"bind": "127.0.0.1"
}
}
仅在需要时使用 Tailscale 或 SSH 隧道。
3. 配置白名单
始终配置 allowFrom:
{
"channels": {
"telegram": {
"allowFrom": ["@trusted_user"]
}
}
}
4. 使用沙箱
对非主会话使用 Docker 沙箱:
{
"agents": {
"defaults": {
"sandbox": {
"mode": "non-main",
"allowlist": ["bash", "read", "write"],
"denylist": ["browser", "system"]
}
}
}
}
5. 定期审计
定期运行安全检查:
openclaw doctor
6. 保护凭证
- 不要在配置文件中硬编码 API 密钥
- 使用环境变量或密钥引用
- 加密备份中的凭证
7. 更新依赖
定期更新 OpenClaw 和依赖:
openclaw update
故障排查清单
Gateway 无法启动
- 检查端口是否被占用
- 验证配置文件语法
- 检查 Node.js 版本
- 查看日志文件
频道连接失败
- 验证 Token/凭证
- 检查网络连接
- 确认白名单配置
- 运行
openclaw status --deep
Agent 响应缓慢
- 检查 API 限制
- 压缩会话上下文
- 使用更快的模型
- 检查网络延迟
内存使用过高
- 重置长时间运行的会话
- 清理旧日志
- 限制并发请求
- 重启 Gateway
技能无法加载
- 检查技能目录结构
- 验证
SKILL.md格式 - 检查依赖安装
- 查看技能日志
社区和支持
官方资源
- 官方网站:openclaw.ai
- 文档:docs.openclaw.ai
- GitHub:github.com/openclaw/openclaw
- Discord:加入 OpenClaw Discord 社区
贡献
OpenClaw 欢迎社区贡献:
- 报告 Bug
- 提交功能请求
- 贡献代码
- 编写文档
- 分享技能
查看 CONTRIBUTING.md 了解详情。
获取帮助
如果遇到问题:
- 查看官方文档
- 搜索 GitHub Issues
- 在 Discord 中提问
- 运行
openclaw doctor并分享输出
总结
在本系列的四篇文章中,我们全面介绍了 OpenClaw:
- 第一篇:核心概念和架构
- 第二篇:安装和基本配置
- 第三篇:频道配置和日常使用
- 第四篇:高级功能和维护
OpenClaw 是一个强大而灵活的平台,它真正实现了”AI 助手”的承诺 —— 不仅仅是聊天,而是能够执行实际任务。通过本地部署、开源特性和可扩展架构,OpenClaw 为个人和团队提供了一个完全可控的 AI 解决方案。
关键要点
- 本地优先:数据完全由你控制
- 多渠道支持:统一接入 20+ 个消息平台
- 真正的执行能力:不只是聊天,而是做事
- 可扩展:通过技能系统无限扩展
- 主动式:通过心跳机制主动工作
- 安全:内置安全机制和最佳实践
下一步建议
- 开始使用:按照本系列教程设置你的 OpenClaw
- 定制工作区:编辑
SOUL.md和AGENTS.md来定制行为 - 安装技能:从 ClawHub 安装有用的技能
- 加入社区:在 Discord 中与其他用户交流
- 贡献:分享你的技能和经验
OpenClaw 正在快速发展,每天都有新功能和改进。保持更新,探索可能性,让你的 AI 助手真正为你工作!
参考资源
内容基于 OpenClaw 官方文档和社区资源改编,遵循内容许可限制