文章目录
一、LM Studio 安装运行大模型
LM Studio 和 Ollama 都是本地部署大模型工具。在这里用LM Studio ,官网:https://lmstudio.ai/



二、mac版安装OpenClaw
2.1 方式一:一键安装
OpenClaw 的运行依赖于 Node.js 环境和 Git 工具。
# 一键安装:官方文档虽说会一键下载node.js和git,但是会出错
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method git
2.2 方式二:分步安装
步骤1:Node.js 和 Git安装
使用 Homebrew 包管理器进行一键安装,最简单方式。 官网:https://brew.sh/
# 如果未安装Homebrew,请先执行以下命令安装
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 使用Homebrew安装Node.js和Git
brew install node git
步骤二:npm 全局安装
# 使用npm包管理器全局安装OpenClaw的最新版本
npm install -g openclaw@latest
三、Openclaw配置
# 应该输出已安装的版本号(如 v2026.3.12)。
$ openclaw --version
# 对你的环境做一次诊断检查:Node.js 版本、依赖、配置文件和网络连接。
$ openclaw doctor
# 交互式配置向导,带你设置 API Key、连接聊天平台和初始配置。
$ openclaw onboard

◆ 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 (飞书)
│ ○ 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 (You can add channels later via `openclaw channels add`)
◇ Search provider
│ Skip for now
配置 skills(这里也可以先跳过,部分 Skills 需要 API Key)

OpenClaw Control:http://127.0.0.1:18789
或者命令
openclaw dashboard # 自动打开 http://localhost:18789
四、平台介入
4.1 飞书接入
第一步:登录飞书开放平台
第二步:创建企业自建应用:点击"创建企业自建应用",填写名称(如"OpenClaw 助理")和描述,点击"创建"。
第三步:获取应用凭证:
进入"凭证与基础信息",复制 App ID(格式 cli_xxx)和 App Secret,妥善保存。

第四步:进入"添加应用能力" → “机器人”,点击"添加"。
第五步:进入"权限管理",点击"批量导入",粘贴下方 JSON:
{
"scopes": {
"tenant": [
"application:application:self_manage",
"application:bot.menu:write",
"cardkit:card:read",
"cardkit:card:write",
"contact:contact.base:readonly",
"contact:user.employee_id:readonly",
"docs:document.content:read",
"docx:document:readonly",
"event:ip_list",
"im:chat",
"im:chat.members:bot_access",
"im:chat:read",
"im:chat:update",
"im:message",
"im:message.group_at_msg:readonly",
"im:message.group_msg",
"im:message.p2p_msg:readonly",
"im:message.pins:read",
"im:message.pins:write_only",
"im:message.reactions:read",
"im:message.reactions:write_only",
"im:message:readonly",
"im:message:recall",
"im:message:send_as_bot",
"im:message:send_multi_users",
"im:message:send_sys_msg",
"im:message:update",
"im:resource",
"sheets:spreadsheet",
"wiki:wiki:readonly"
],
"user": [
"base:app:copy",
"base:app:create",
"base:app:read",
"base:app:update",
"base:field:create",
"base:field:delete",
"base:field:read",
"base:field:update",
"base:record:create",
"base:record:delete",
"base:record:retrieve",
"base:record:update",
"base:table:create",
"base:table:delete",
"base:table:read",
"base:table:update",
"base:view:read",
"base:view:write_only",
"board:whiteboard:node:create",
"board:whiteboard:node:read",
"calendar:calendar.event:create",
"calendar:calendar.event:delete",
"calendar:calendar.event:read",
"calendar:calendar.event:reply",
"calendar:calendar.event:update",
"calendar:calendar.free_busy:read",
"calendar:calendar:read",
"contact:contact.base:readonly",
"contact:user.base:readonly",
"contact:user.employee_id:readonly",
"contact:user:search",
"docs:document.comment:create",
"docs:document.comment:read",
"docs:document.comment:update",
"docs:document.media:download",
"docs:document:copy",
"docx:document:create",
"docx:document:readonly",
"docx:document:write_only",
"drive:drive.metadata:readonly",
"drive:file:download",
"drive:file:upload",
"im:chat.members:read",
"im:chat:read",
"im:message",
"im:message.group_msg:get_as_user",
"im:message.p2p_msg:get_as_user",
"im:message:readonly",
"offline_access",
"search:docs:read",
"search:message",
"space:document:delete",
"space:document:move",
"space:document:retrieve",
"task:comment:read",
"task:comment:write",
"task:task:read",
"task:task:write",
"task:task:writeonly",
"task:tasklist:read",
"task:tasklist:write",
"wiki:node:copy",
"wiki:node:create",
"wiki:node:move",
"wiki:node:read",
"wiki:node:retrieve",
"wiki:space:read",
"wiki:space:retrieve",
"wiki:space:write_only"
]
}
}
或者:添加权限,找到 应用身份权限 - 消息与群组,勾选后都加上。
第六步:进入"版本管理与发布",点击"创建版本",填写版本号后提交发布申请。管理员审批通过即生效(你本人是管理员可直接通过)。

4.2 在 OpenClaw 中添加飞书渠道
1、回到终端,运行:
openclaw channels add
2、选择"Feishu/Lark",输入 App ID 和 App Secret,其余保持默认。添加后重启网关:
openclaw gateway restart
openclaw gateway status
确认输出中 feishu 渠道状态为 connected。
4.3 飞书中,配置事件订阅
飞书在保存长连接配置时会实时检测 WebSocket 连接——如果 OpenClaw 网关未运行,飞书会报"未检测到应用连接信息"错误,无法保存。
回到飞书开放平台,进入"事件与回调" → “事件配置”:

选择"使用长连接接收事件"
添加事件:im.message.receive_v1
备注:Webhook 需要公网 IP,长连接(WebSocket)由 OpenClaw 主动连飞书,不需要公网 IP、不需要域名、家用网络就能用。
4.4 飞书对话
在飞书中找到你的机器人,发送"你好"。机器人会回复一个 8 位配对码:
配对原因:
防止陌生人滥用你的机器人——每次对话都消耗你的 API 额度。新用户第一次发消息时会收到配对码,只有你批准后才能正常对话。配对码 1 小时过期。
在终端批准:
openclaw pairing approve feishu <配对码>
例子:openclaw pairing approve feishu 333G7C6K
也可在 Web 控制面板(openclaw dashboard)中点击批准。
配对成功后,飞书里的龙虾就能回你了。试试:你好,请介绍一下你自己
6925

被折叠的 条评论
为什么被折叠?



