OpenClaw实战系列01:OpenClaw接入飞书机器人全接入指南 + Ollama本地大模型

文章目录

引言

在AI技术爆发的2026年,我们不再满足于使用公用的ChatGPT或Claude。出于数据隐私、定制化需求或离线可用的考虑,本地部署AI大模型并接入日常办公软件成为了新的刚需。

本文将带你从零开始,完成以下目标:

  1. 安装OpenClaw:一个强大的开源个人AI助理框架(前身为ClawdBot/Moltbot)。
  2. 部署Ollama:在本地运行大模型(如DeepSeek-R1、Llama 3等),作为AI的“大脑”。
  3. 接入飞书:将你的AI助理添加到飞书好友或群聊中,实现随叫随到的智能办公体验。

第一步:环境准备与核心思想

在开始前,我们需要明确技术架构:飞书 → OpenClaw(调度器) → Ollama(本地模型)。

  • 操作系统:Windows(建议WSL2)、macOS 或 Linux。本文以 Windows 11 + WSL2 (Ubuntu 22.04) 为例。
  • 硬件要求:
    • CPU:4核以上(推荐8核)
    • 内存:16GB以上(若运行7B-8B模型,需预留8-10GB内存给模型)
    • 磁盘:20GB以上剩余空间。

第二步:部署Ollama——把大模型“养”在本地

Ollama 是目前最便捷的本地模型运行工具,它支持 Llama 3、DeepSeek-R1、Qwen 2.5 等一系列主流模型

1. 安装 Ollama

访问 Ollama 官网 下载对应系统的安装包,或使用命令行安装(以Linux/WSL为例):

curl-fsSL https://ollama.com/install.sh |sh

安装完成后,验证版本:

ollama --version

并通过 ollama serve 确保服务在后台运行(通常安装后会自动注册为服务)。

2. 拉取并运行模型

根据你的硬件配置选择合适的模型。对于大多数用户,推荐使用 DeepSeek-R1(7B) 或 Llama 3.2(3B),兼顾性能与资源占用。

# 运行 DeepSeek-R1(会自动下载) ollama run deepseek-r1:7b # 或者运行 Llama 3.2(更轻量) ollama run llama3.2 

出现 Send a message 提示即表示模型启动成功。
注意:记下这个终端,后续OpenClaw会通过API调用它。

3. 确认API可用性

Ollama 默认会在本地 11434 端口开启API服务。我们可以用 curl 测试一下:

curl http://localhost:11434/api/generate -d'{ "model": "deepseek-r1:7b", "prompt": "你好,你是谁?", "stream": false }'

看到包含“DeepSeek”或对应模型名的JSON返回,说明Ollama已经准备就绪。

第三步:安装OpenClaw——AI大脑的“躯干”

OpenClaw 负责连接聊天软件(飞书)和AI大脑(Ollama),并管理各种工具(Skills)。

1. 安装Node.js

OpenClaw 需要 Node.js 22.0 或更高版本。

# 以Ubuntu为例curl-fsSL https://deb.nodesource.com/setup_22.x |sudo-Ebash - sudoaptinstall-y nodejs node-v# 检查版本

2. 一键安装 OpenClaw

官方提供了一键安装脚本,会自动处理大部分配置。

curl-fsSL https://openclaw.bot/install.sh |bash

安装完成后,执行初始化向导。注意: 最新版的向导已经支持直接配置飞书和模型了,非常方便!

openclaw onboard --install-daemon 

在向导中:

  • AI 模型配置:由于我们要用Ollama,这里可以选择“Other/OpenAI Compatible”。API地址填:http://localhost:11434/v1/(Ollama兼容OpenAI格式),API Key可以随便填(如ollama),模型名填你下载的,比如 deepseek-r1:7b。
  • 通信渠道:先跳过(Telegram/WhatsApp等),我们后面手动配置飞书。

3. 验证安装

启动服务并检查状态:

openclaw gateway start openclaw status 

此时访问 http://127.0.0.1:18789 应该能看到 OpenClaw 的 Web 控制台(Dashboard)。

第四步:打通飞书——创建并配置机器人

这是让AI“落地”的关键一步,我们需要在飞书开放平台注册一个机器人应用。

1. 创建飞书应用

  1. 登录飞书开发者后台
  2. 点击“创建企业自建应用”,填写名称和描述,上传头像。
  3. 创建成功后,进入应用详情页,点击左侧“凭证与基础信息”,记录下 App ID 和 App Secret(非常重要!)。

2. 配置机器人能力

  1. 在左侧“添加应用能力”中,点击“机器人”进行添加。
  2. 点击左侧“权限管理”,为机器人开通必要权限。最简单的方法是搜索并添加以下权限:
    • im:message 相关的收发权限(im:message:send_as_bot, im:message.group_msg, im:message.p2p_msg)。
    • contact:contact.base:readonly(读取通讯录,用于识别@你的人)。
    • 如果有操作文档的需求,还需开通文档相关的权限。
  3. 点击左侧“事件与回调”,选择“事件配置”。
    • 订阅方式选择“使用长连接接收事件”(开发测试阶段最方便)。点击保存。
    • 添加事件:搜索并添加 im.message.receive_v1(接收消息事件)。

3. 发布应用

  1. 点击左侧“版本管理与发布”,创建一个版本,填写版本日志。
  2. 点击“申请发布”(如果是你自己的企业,审核会秒过,直接发布成功)。
  3. 发布后,在飞书搜索框搜索你的应用名称,找到它并发送一条消息“你好”,此时应该收到来自飞书官方的“配对码”提示,因为我们的后端还没连上。

第五步:OpenClaw与飞书“握手”

现在,我们要让 OpenClaw 认识这个飞书机器人。

方法一:使用 onboard 向导重新配置(推荐最新版)

openclaw onboard 

当问到渠道时,选择 feishu,并输入刚才拿到的 App IDApp Secret

方法二:手动添加渠道

如果已经完成了onboard,可以使用 channels 命令:

openclaw channels add# 选择 feishu,按提示输入 APP ID 和 APP SECRET

配置完成后,必须重启网关才能使配置生效:

openclaw gateway restart # 或者旧版本命令 openclaw-cn gateway restart

查看实时日志,确认飞书连接是否成功:

openclaw logs --follow

看到类似 Feishu client connectedlogin success 的字样,说明连接成功。

批准配对

再次回到飞书,向你的机器人发送任意消息(例如“你好”)。
此时,飞书机器人会回复一串 Pairing code: xxxx-xxxx
在命令行中执行批准命令:

openclaw pairing approve feishu <你收到的code>

第六步:实战测试与玩法拓展

现在,你的飞书AI助理已经可以工作了。你可以把它拉到群里,或者私聊。

1. 本地能力测试

在飞书里输入指令:

  • 帮我看看我电脑的存储占用情况”(如果OpenClaw配置了相关系统Skill,它会执行命令并返回结果)。
  • 帮我整理桌面的文件夹,按类型分类”。

2. 结合Ollama的优势

由于我们用的是Ollama,你可以随时切换模型而无需重启OpenClaw。只需修改OpenClaw配置中的模型名,或者通过OpenClaw的TUI界面临时切换模型。

# 在OpenClaw的TUI界面 /model deepseek-r1:7b 

3. 云端模型备用

如果你的本地机器性能不足,或者需要处理超长文本,Ollama也支持调用云端模型(如GLM4.7等),可以在配置中随时切换,实现本地与云端的“双模”运行。

常见问题与避坑指南

  1. OpenClaw 提示command not found
    • 原因:npm全局路径未加入系统PATH。
    • 解决:执行 npm prefix -g 找到路径(如 /usr/local),然后将 export PATH=“ ( n p m p r e f i x − g ) / b i n : (npm prefix -g)/bin: (npmprefix−g)/bin:PATH” 加入 ~/.bashrc 或 ~/.zshrc。
  2. 飞书机器人无响应
    • 检查步骤
    1. openclaw status 确认网关运行。
    2. 日志中是否有飞书连接报错(检查APP ID/Secret是否正确)。
    3. 检查 OpenClaw 的配置文件 ~/.openclaw/openclaw.json,确保 feishu 配置块存在且 enabled 为 true。
  3. Ollama 模型推理速度慢
    • 优化:关闭其他大型应用释放内存;尝试使用量化版本模型(如 deepseek-r1:7b-q4_0);确认Ollama是否成功利用了GPU(ollama run deepseek-r1:7b --verbose 查看日志)。
  4. 飞书长连接配置失败
    • 如果 onboard 向导报错,可以先用飞书官方的“Python示例代码”建立一个临时连接,让飞书后台通过验证,然后再切回OpenClaw。

总结

通过 OpenClaw + Ollama + 飞书的组合,我们成功搭建了一个完全私有、免费、可定制的AI助理。它不仅能在日常聊天中提供帮助,还能通过OpenClaw强大的“技能”体系,真正去操作你的电脑、管理文件、甚至执行代码。

这套方案将数据留在本地,既保证了隐私安全,又锻炼了动手能力。现在,去给你的AI助理添加更多酷炫的技能吧!

想看更多实战内容,可定义我的专栏《OpenClaw实战:企业级AI助理开发指南》。

Read more

在Android设备上利用Termux安装llama.cpp并启动webui

llama.cpp没有发布官方aarch64的二进制,需要自己编译,好在Termux已经有编译好的包可用。 按照文章在安卓手机上用vulkan加速推理LLM的方法, 1.在Termux中安装llama-cpp软件 ~ $ apt install llama-cpp Reading package lists... Done Building dependency tree... Done Reading state information... Done E: Unable to locate package llama-cpp ~ $ apt update Get:1 https://mirrors.tuna.tsinghua.edu.cn/termux/apt/termux-main stable InRelease [14.0 kB] Get:2 https://mirrors.

AI的提示词专栏:代码生成 Prompt,从自然语言描述到完整函数

AI的提示词专栏:代码生成 Prompt,从自然语言描述到完整函数

AI的提示词专栏:代码生成 Prompt,从自然语言描述到完整函数 本文围绕代码生成 Prompt 展开,先阐述其在编程领域的价值与应用场景,指出其对初学者降低入门门槛、对资深开发者提升效率的作用,覆盖基础功能实现等多类场景。接着详解核心设计原则,强调需求明确、技术约束指定等要点。随后通过基础工具函数、框架接口等四大高频场景的实战案例,展示 Prompt 模板与设计思路,并分析技巧点。还总结代码生成 Prompt 的五类常见问题及解决方案,最后给出章节总结与实践建议,助力读者掌握相关 Prompt 设计能力,提升开发效率。

从零开始:在本地搭建一个带知识库的 AI 助手(Ollama + Open WebUI)

从零开始:在本地搭建一个带知识库的 AI 助手(Ollama + Open WebUI)

一文讲清楚:要选哪些工具、需要什么环境、整体架构长什么样,以及一步步实现到能用的程度。 一、为什么要在本地搭一个 AI 助手? 过去一年,大模型从“新奇玩意儿”迅速变成“日常生产力工具”。但如果你只用网页版 ChatGPT / 文心一言 / 通义千问,会碰到几个很现实的问题: * 数据隐私:公司内部文档、个人笔记、聊天记录,你敢全部塞到线上吗? * 网络依赖:在飞机上、高铁里,或者公司内网严格管控时,在线 AI 直接“失联”。 * 额度与费用:免费额度有限,稍微重度一点就要付费,而且你也不知道自己的数据会不会被拿去训练。 本地部署一套 “AI + 知识库” 的好处就非常直观: 1. 数据完全不出本地,满足隐私合规要求。 2. 断网也能用,随时随地调取你的“第二大脑”。 3. 可定制:可以给团队搭一个“

前端Canvas:让你的网站更具视觉冲击力

前端Canvas:让你的网站更具视觉冲击力 毒舌时刻 前端Canvas?这不是游戏开发才用的吗? "Canvas性能差,我不用"——结果错过了丰富的视觉效果, "Canvas太复杂了,我学不会"——结果只能用静态图片, "我用CSS就够了,要Canvas干嘛"——结果无法实现复杂的动画效果。 醒醒吧,Canvas不是游戏开发的专利,前端也可以用它来创建丰富的视觉效果! 为什么你需要这个? * 丰富的视觉效果:创建动态图形、动画和游戏 * 高性能:直接操作像素,性能优异 * 交互性:支持鼠标、触摸等交互 * 数据可视化:绘制图表、仪表盘等 * 跨平台:在所有现代浏览器中运行 反面教材 // 反面教材:简单的Canvas绘制 function drawCircle() { const canvas = document.getElementById('canvas'