Ubuntu安装OpenClaw并配置(浏览器自动化,飞书,一些skill)
Ubuntu系统初始化
换源
编辑/etc/apt/sources.list,将下面内容替换上去
txt
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-backports main restricted universe multiverse
# 安全更新源
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-security main restricted universe multiverse
# 预发布软件源(不建议启用)
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-proposed main restricted universe multiverse
初始化系统
shell
# 1. 更新系统软件源
sudo apt update && sudo apt upgrade -y
# 2. 安装基础依赖(避免后续编译报错)
sudo apt install -y curl wget git python3 python3-venv build-essential libssl-dev ca-certificates gnupg ufw
# 3. 配置时区(避免日志时间错乱)
sudo timedatectl set-timezone Asia/Shanghai
# 3. 关闭息屏(空闲永不激活屏保)
gsettings set org.gnome.desktop.session idle-delay 0
# 4. 关闭自动锁屏
gsettings set org.gnome.desktop.screensaver lock-enabled false
# 5. 关闭自动休眠(插电时)
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout 0
# 6. 关闭自动休眠(电池时,可选)
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-timeout 0
# 7. 笔记本合盖不休眠
gsettings set org.gnome.settings-daemon.plugins.power lid-close-ac-action 'nothing'
gsettings set org.gnome.settings-daemon.plugins.power lid-close-battery-action 'nothing'
# 8. 禁用屏幕空闲激活(双重保险)
gsettings set org.gnome.desktop.screensaver idle-activation-enabled false
安装Node.js 22+(核心依赖)
shell
# 导入NodeSource 22.x源并安装
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
# 验证版本(显示v22.x.x)
node -v
# 验证版本(显示10.x.x)
npm -v
# 设置为淘宝镜像(新地址)
npm config set registry https://registry.npmmirror.com
# 验证
npm config get registry
# 应输出:https://registry.npmmirror.com/
安装OpenClaw
安装
提前准备好API Key,OpenClaw的token消耗量巨大,建议购买各平台按次数计算的CodingPlan,例如MiniMax的:https://platform.minimaxi.com/user-center/payment/token-plan
一般49块钱的Plus版足够了
下面开始安装
shell
# 注意网络通畅
curl -fsSL https://openclaw.ai/install.sh | bash
安装选项
执行完成安装命令之后,会自动下载自动启动安装,然后开始配置下面选项
shell
# 选Yes
I understand this is personal-by-default and shared/multi-user use requires lock-down. Continue?
│ ● Yes / ○ No
# 安装模式,选快速开始
Onboarding mode
│ ● QuickStart (Configure details later via openclaw configure.)
│ ○ Manual
# 选AI大模型,这将作为OpenClaw的大脑,根据自己用的来,注意先备好API Key,这里我选MiniMax
Model/auth provider
│ ○ OpenAI (Codex OAuth + API key)
│ ○ Anthropic
│ ○ Chutes
│ ● MiniMax
│ ○ Moonshot AI (Kimi K2.5)
...
│ ○ Skip for now
# 选择认证模式(每种模型的选项可能都不一样),这里选API Key
MiniMax auth method
│ ○ MiniMax Global --- OAuth (minimax.io)
│ ○ MiniMax Global --- API Key (minimax.io)
│ ○ MiniMax CN --- OAuth (minimaxi.com)
│ ● MiniMax CN --- API Key (minimaxi.com) (sk-api- or sk-cp- keys supported)
│ ○ Back
└
# 选择现在粘贴API Key
How do you want to provide this API key?
│ ● Paste API key now (Stores the key directly in OpenClaw config)
│ ○ Use external secret provider
└
Enter MiniMax CN API key (sk-api- or sk-cp-)
https://platform.minimaxi.com/user-center/basic-information/interface-key
│ sk-cp-YdTr***1Z53S
# 默认模型选择
◆ Default model
│ ○ Keep current (minimax/MiniMax-M2.5)
│ ○ Enter model manually
│ ● minimax/MiniMax-M2.5 (MiniMax M2.5 · ctx 195k · reasoning · alias: Minimax)
│ ○ minimax/MiniMax-M2.5-highspeed
│ ○ minimax/MiniMax-VL-01
│ ○ minimax/MiniMax-M2
│ ○ minimax/MiniMax-M2.1
# 聊天工具选择,这里选飞书
Select channel (QuickStart)
│ ○ Telegram (Bot API)
│ ○ WhatsApp (QR link)
│ ○ Discord (Bot API)
│ ○ IRC (Server + Nick)
│ ○ Google Chat (Chat API)
│ ○ Slack (Socket Mode)
│ ○ Signal (signal-cli)
│ ○ iMessage (imsg)
│ ○ LINE (Messaging API)
│ ● Feishu/Lark (飞书) (plugin · install)
│ ○ Nostr (NIP-04 DMs)
│ ○ Microsoft Teams (Bot Framework)
│ ○ Mattermost (plugin)
│ ○ Nextcloud Talk (self-hosted)
│ ○ Matrix (plugin)
│ ○ BlueBubbles (macOS app)
│ ○ Zalo (Bot API)
│ ○ Zalo (Personal Account)
│ ○ Synology Chat (Webhook)
│ ○ Tlon (Urbit)
│ ○ Skip for now
# 这里先选跳过,后面用飞书官方命令,更方便
Install Feishu plugin?
│ ○ Download from npm (@openclaw/feishu)
│ ○ Use local plugin path
│ ● Skip for now
# 配置搜索引擎,需要有对应的API Key,这里先跳过,后面我们使用tavily
Search provider
│ ○ Brave Search
│ ○ Gemini (Google Search)
│ ○ Grok (xAI)
│ ○ Kimi (Moonshot)
│ ○ Perplexity Search
│ ● Skip for now (Configure later with openclaw configure --section web)
# 配置初始技能
Configure skills now? (recommended)
│ ● Yes / ○ No
# 选择一些初始技能
◆ Install missing skill dependencies
◻ Skip for now (Continue without installing dependencies) - 跳过,先不装任何扩展(推荐首次安装选这个,后续用 clawhub 再装)
◻ 🔐 1password - 密码管理器集成,自动填充和安全的密码存储
◻ 📰 blogwatcher - 博客监控,RSS订阅追踪和文章更新提醒
◻ 🫐 blucli - 蓝牙设备控制,连接耳机/音箱等蓝牙硬件
◻ 📸 camsnap - 摄像头抓拍,定时拍照或监控截图功能
◻ 🧩 clawhub - OpenClaw 技能市场中心,用于安装/管理其他技能(建议勾选)
◻ 🛌 eightctl - Eight Sleep 智能床垫控制(睡眠追踪硬件)
◻ ✨ gemini - Google Gemini AI 模型集成,替代 GPT 的 AI 对话
◻ 🧲 gifgrep - GIF 动图搜索,快速找表情包和动图素材
◻ 🐙 github - GitHub 集成,代码仓库管理、Issue 追踪和 PR 操作
◻ 🎮 gog - GOG 游戏平台接口,游戏库管理和自动领取免费游戏
◻ 📍 goplaces - 地图地点服务,位置查询和路线规划
◻ 📧 himalaya - 终端邮件客户端,命令行收发邮件
◻ 📦 mcporter - Minecraft 服务器管理,游戏内自动化操作
◻ 🍌 nano-banana-pro - Banana Pi 开发板控制(ARM 单板机硬件)
◻ 📄 nano-pdf - PDF 处理工具,合并/拆分/提取文本
◻ 💎 obsidian - Obsidian 笔记软件集成,自动同步和笔记操作
◻ 🎤 openai-whisper - OpenAI 语音识别,音频转文字和字幕生成
◻ 💡 openhue - Philips Hue 智能灯具控制,调节灯光颜色和场景
◻ 🧿 oracle - 数据预测和占卜工具(或 Oracle 数据库连接,视版本而定)
◻ 🛵 ordercli - 订单管理 CLI,电商订单追踪和自动处理
◻ 🔊 sag - 智能音频增益控制(或特定音频处理工具)
◻ 🌊 songsee - 歌曲识别和音乐信息查询(类似 Shazam)
◻ 🔊 sonoscli - Sonos 音响系统控制,多房间音频管理
◻ 🧾 summarize - 文章/文本自动总结,生成 TL;DR 摘要
◻ 🎬 video-frames - 视频帧提取,从视频导出图片序列
◻ 📱 wacli - WhatsApp 命令行客户端(或 Web App CLI 工具)
◻ 🐦 xurl - URL 短链接生成和管理,链接追踪分析
# 要显示 Homebrew 的安装命令吗?不需要
Show Homebrew install command?
│ ○ Yes / ● No
# 选包管理器
Preferred node manager for skill installs
│ ● npm
│ ○ pnpm
│ ○ bun
# 各种Key设置,一般一路选No
Set GOOGLE_PLACES_API_KEY for goplaces?
│ No
│
◇ Set GEMINI_API_KEY for nano-banana-pro?
│ No
│
◇ Set NOTION_API_KEY for notion?
│ No
│
◇ Set OPENAI_API_KEY for openai-image-gen?
│ No
│
◇ Set OPENAI_API_KEY for openai-whisper-api?
│ No
│
◇ Set ELEVENLABS_API_KEY for sag?
│ No
│
# 选择钩子,这里选下面两个足够了,
Enable hooks?
│ ◻ Skip for now
│ ◻ 🚀 boot-md
│ ◻ 📎 bootstrap-extra-files
│ ◼ 📝 command-logger (Log all command events to a centralized audit file)
│ ◼ 💾 session-memory (Save session context to memory when /new or /reset command is issued)
# OpenClaw 的初始化启动方式选择,选第二个带UI界面的
◆ How do you want to hatch your bot?
│ ○ Hatch in TUI (recommended)
│ ● Open the Web UI
│ ○ Do this later
# 就此,安装完成
将OpenClaw路径配置到环境中
shell
# 换成自己的目录,一般是下面这样
echo 'export PATH="/home/用户名/.npm-global/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
配置飞书
飞书官网配置OpenClaw插件的文章:https://bytedance.larkoffice.com/docx/MFK7dDFLFoVlOGxWCv5cTXKmnMh
我们直接从步骤二开始,运行命令:
shell
npx -y @larksuite/openclaw-lark install
然后扫码,根据提示一步步创建机器人即可
给机器人发送/feishu auth配置权限
配置浏览器自动化
text
有个技能叫Agent Browser:https://clawhub.ai/MaTriXy/agent-browser-clawdbot
直接在OpenClaw对话页面说:
"这是个什么skill?帮我安装一下:https://clawhub.ai/MaTriXy/agent-browser-clawdbot"
装完之后如果需要在界面上看到浏览器操作,就对AI说:取消Agent Browser的无头模式
其他skill推荐,安装方式同上
先在ClawHub(https://clawhub.ai/skills?sort=downloads)中搜索,然后把链接发给OpenClaw让它自己安装
text
vision(修图能力):图像处理工具包。调整大小、裁剪、格式转换、优化文件大小、读取 EXIF/元数据以及添加水印
tavily-search(联网搜索):给AI装个搜索技能(需要先注册拿到API Key:https://app.tavily.com/)
summarize(全格式总结):10万字PDF,AI 10秒帮你总结
Elite Longterm Memory(长期记忆):Al终于有记忆了,它会越来越懂你
notebookLM Skill:Al终于有记料,它就成你的私人知识库notebookLM Skill(资料库):给AI喂资料,它就成你的私人知识库
find-skills(自动找技能):AI自己学技能了,缺什么能力自己安装
OpenAI Whisper(语音转文字):语音直接变文字,还不用联网
self-improving-agent(自我学习):这个AI会自己学习,用久了越来越聪明
planning-with-files(复杂任务规划):文件太多?AI帮你自动规划步骤
Skill Vetter(技能审查员):防止安装到恶意技能
截图发飞书能力
让OpenClaw截个图发到飞书,如果失败的话,给它下面的提示:
text
截屏用Python PIL截屏。
飞书文件发送有路径限制,飞书发送文件时,只有OpenClaw媒体白名单目录内的文件才能真正发送,其他目录只能发送路径链接。
原因分析飞书插件:读取本地文件上传,经过OpenClaw核心的路径白名单检查Telegram插件:使用mediaUrl直接传URL,不读取本地文件>无此限制
允许的目录(当前)
~/.openclaw/media
~/.openclaw/workspace
~/.openclaw/agents
~/.openclaw/sandboxes
os.tmpdix()(macOS为 /var/folders/.../T/)不可用
~/my/、/tmp/等自定义目录
修复方案:在飞书配置中添加mediaLocalRoots选项,让用户自定义允许的目录,如~/screenshot,然后将截屏保存至自定义目录中。
相关代码位置:
OpenClaw 核心自名单定义: /opt/homebrew/lib/node_modules/openclaw/dist/ir-DsCzfB8s.js 中的
buildMediaLocalRoots 函数
飞书媒体上传逻辑: /opt/homebrew/lib/node_modules/openclaw/extensions/feishu/src/media.ts