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

【Java】synchronized关键字详解:从字节码到对象头与锁升级

【Java】synchronized关键字详解:从字节码到对象头与锁升级

👨‍💻程序员三明治:个人主页 🔥 个人专栏: 《设计模式精解》《重学数据结构》 🤞先做到 再看见! 目录 * synchronized底层原理(总结版) * `synchronized` 底层原理(详解版) * 1. 字节码层面:monitorenter 和 monitorexit * 2. JVM 底层实现:对象头与 Monitor * 2.1 Java 对象头(Mark Word) * 2.2 Monitor(管程/监视器锁) * 3. 锁的升级与优化 * 3.1 偏向锁 * 3.2 轻量级锁 * 3.3 重量级锁 * 4. 硬件层面:内存屏障与 CAS * JVM锁升级是什么?

By Ne0inhk
飞算Java在线学生成绩综合统计分析系统的设计与实现

飞算Java在线学生成绩综合统计分析系统的设计与实现

目录 * 引言 * 技术栈 * 一.需求分析与规划 * 功能需求 * 核心模块 * 技术选型 * 二.环境准备 * 1. 下载IntelliJ IDEA * 2. 安装IntelliJ IDEA * 3. 安装飞算JavaAI插件 * 4. 登录飞算JavaAI * 三.模块设计与编码 * 1. 飞算JavaAI生成基础模块 * 2. 核心代码展示 * entity包下实体类示例 * `Student.java`(学生实体) * `Score.java`(成绩实体) * dto包下数据传输对象示例 * `ScoreAddDTO.java`(成绩录入请求DTO) * `StudentRankQueryDTO.java`(个人排名查询DTO) * vo包下视图对象示例 * `StudentRankVO.java`(个人排名返回VO) * mapper包下数据访问接口示例 * `ScoreMappe

By Ne0inhk

2025 最新 Claude Code 教程:从安装部署到 SpringBoot 项目实战(附完整 Java 示例)

前言 Claude Code 是 Anthropic 推出的 AI 编码助手,专为开发者打造,相比通用 AI,它对 Java、SpringBoot 等企业级开发场景的适配性更强,能精准生成可运行的代码、排查业务逻辑 bug、优化接口性能,大幅提升开发效率。本文从安装部署、提示词技巧、SpringBoot 项目实战三个核心维度,手把手教你玩转 Claude Code,最终实现 “AI 辅助完成完整 SpringBoot 项目开发并落地本地”。 一、Claude Code 安装部署(3 种主流方式) Claude Code 支持网页版、桌面客户端、IDE 插件三种使用形式,开发者优先推荐 IDE 插件(无缝融入本地开发流程)。 1. 环境前置要求

By Ne0inhk
JAVA 多线程编程:从基础原理到实战应用

JAVA 多线程编程:从基础原理到实战应用

JAVA 多线程编程:从基础原理到实战应用 1.1 本章学习目标与重点 💡 掌握线程的核心概念,理解进程与线程的区别和联系。 💡 熟练掌握线程的三种创建方式,理解线程的生命周期及状态转换。 💡 掌握线程同步与锁机制,解决多线程并发安全问题。 💡 了解线程池的核心原理与使用方法,提升多线程程序性能。 ⚠️ 本章重点是 线程同步机制 和 线程池的实战应用,这是多线程开发中的核心难点和高频考点。 1.2 多线程核心概念 1.2.1 进程与线程的区别 💡 进程是操作系统进行资源分配和调度的基本单位,每个进程都有独立的内存空间和系统资源。比如打开一个 Java 程序,就会启动一个进程。 💡 线程是进程的执行单元,是 CPU 调度和执行的基本单位。一个进程可以包含多个线程,这些线程共享进程的内存空间和资源。 对比维度进程线程资源分配拥有独立的内存空间和资源共享所属进程的内存和资源开销成本创建和销毁开销大创建和销毁开销小调度方式由操作系统内核调度由进程内部调度独立性进程之间相互独立线程之间共享资源,依赖性强 ✅ 核心结论:线程是轻量级的进程,多线程编程可以充分利

By Ne0inhk