Ubuntu 本地部署 OpenClaw:接入 Ollama 推理 + 飞书通道(可直接复现)

Ubuntu 本地部署 OpenClaw:接入 Ollama 推理 + 飞书通道(可直接复现)

摘要

本文记录一次从零开始在空白 Ubuntu 服务器部署 OpenClaw 的完整过程:本地使用 Ollama 作为推理引擎,飞书作为消息通道。包含环境准备、安装命令、配置步骤、连通性验证、常见报错排查和运维建议,适合个人开发者快速落地私有化 AI Agent。


目录

  1. 部署目标与架构
  2. 环境准备
  3. 安装 Ollama(本地推理)
  4. 安装 OpenClaw
  5. 配置 OpenClaw 使用 Ollama
  6. 配置飞书通道
  7. 启动与验证
  8. 常见问题 FAQ
  9. 结语

1. 部署目标与架构

本次部署采用单机本地方案:

  • LLM 推理层:Ollama(本机)
  • Agent 网关层:OpenClaw(本机)
  • 消息入口:飞书(Feishu/Lark 应用)

数据路径:飞书消息 -> OpenClaw -> Ollama -> OpenClaw -> 飞书回复。


2. 环境准备

先确认系统和资源:

uname -m lsb_release -a free -h df -h / 

推荐:

  • Ubuntu 22.04+
  • x86_64
  • 内存 16GB+(32GB 更稳)

3. 安装 Ollama(本地推理)

安装并校验:

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

拉取一个模型做烟雾测试:

ollama pull qwen2.5:7b ollama run qwen2.5:7b "只回复 OK"

查看当前模型是否用到 GPU:

ollama ps

重点看 PROCESSOR 列:出现 GPU 说明已启用显卡推理。


4. 安装 OpenClaw

如果系统还没有 Node/npm,先安装 Node 20 LTS:

curl -fsSL https://deb.nodesource.com/setup_20.x |sudo -E bash - sudoapt-getinstall -y nodejs node -v npm -v 

安装 OpenClaw:

sudonpm i -g openclaw openclaw --version 

5. 配置 OpenClaw 使用 Ollama

将 OpenClaw 的模型提供方指向本机 Ollama API:

openclaw config set models.providers.ollama.baseUrl "http://127.0.0.1:11434/v1" openclaw config set models.providers.ollama.apiKey "ollama-local" openclaw models set ollama/qwen2.5:7b 

说明:

  • 本地 Ollama 常用 apiKey 占位值就是 ollama-local
  • models set 用于设置默认模型

6. 配置飞书通道

执行引导配置:

openclaw onboard 

向导里选择:

  • 通道:Feishu/Lark
  • 域名:国内选 feishu.cn,国际选 larksuite.com
  • 填写:appIdappSecret
  • 群聊策略:按需选择 allowlist / open

如需通过配对码放行会话:

openclaw pairing list openclaw pairing approve feishu <配对码>

7. 启动与验证

启动网关:

openclaw gateway 

看到以下日志即基本正常:

  • agent model: ollama/...
  • listening on ws://127.0.0.1:18789

另开终端跟日志:

openclaw logs --follow 

8. 常见问题 FAQ

Q1:飞书发消息后报 No API key found for provider "ollama"

原因:agent 侧缺少 Ollama auth/profile。
处理

openclaw config set models.providers.ollama.apiKey "ollama-local" openclaw gateway restart 

Q2:日志出现 failed to obtain token,并且请求 bot/v3/info 返回 400

原因:飞书凭据或应用状态异常。
检查项

  • appId/appSecret 是否正确
  • 飞书应用是否发布到当前企业
  • 权限是否开通
  • 必要时重置 appSecret 后更新配置

Q3:网页控制台反复 token_missing / unauthorized

原因:Control UI 没带 gateway token。
处理

  • 在 Dashboard 的 Control UI settings 填写 gateway.auth.token

Q4:出现 duplicate plugin id detected

原因:同一插件被重复加载(常见于 feishu 插件有两份)。
处理

  • 清理重复插件,只保留一份

Q5:openclaw agent 提示 Pass --to / --session-id / --agent

原因:命令需要指定目标会话或 agent。
处理示例

openclaw agent --agent main --message "只回复OK" --json --timeout 60

9. 结语

这套方案适合“本地可控、快速上线”的 AI Agent 场景:

  • 推理本地化(Ollama)
  • 编排本地化(OpenClaw)
  • 使用飞书作为团队入口

建议上线后做两件事:

  1. tmux 持久化运行会话,避免 SSH 断开中断任务
  2. 定期执行 openclaw security audit --deep 做安全巡检

如果你希望,我可以下一篇继续整理:
《OpenClaw + 飞书:权限最小化与生产安全配置清单(含可复制命令)》

Read more

优选算法——前缀和

👇作者其它专栏 《数据结构与算法》《算法》《C++起始之路》 前缀和相关题解 1.前缀和 算法思路: a.先预处理出来一个【前缀和】数组:         用dp[i]表示:[1,i]区间内所有元素的和,那么dp[i-1]里面存的就是[1,i-1]区间内所有元素的和,那么:可得到递推公式:dp[i]=dp[i-1]+arr[i]; b.使用前缀和数组,【快速】求出【某一个区间内】所有元素的和:         当访问的区间是[l,r]时:区间内所有元素的和为:dp[r]-dp[l-r]。 #include <

By Ne0inhk
C语言指针与复杂数据结构:链表、栈与队列实战

C语言指针与复杂数据结构:链表、栈与队列实战

一、指针与复杂数据结构:链表、栈与队列实战 1.1 学习目标与重点 💡 掌握指针结合结构体实现线性数据结构的核心原理,理解链表、栈、队列的存储特性与访问规则; 💡 精通单链表、双向链表的创建、插入、删除、查找等基础操作,能够解决链表环检测、反转等进阶问题; 💡 熟练使用数组栈、链式栈及循环队列、链式队列的实现逻辑,明确不同结构的适用场景; 💡 结合实际项目案例,体会指针在复杂数据结构中的内存管理技巧,提升代码的模块化与高效性。 1.2 指针与结构体:复杂数据结构的基础 在C语言中,结构体用于封装多个不同类型的数据,而指针则负责连接这些数据单元,形成灵活的复杂数据结构。指针与结构体的结合,是实现链表、栈、队列等动态数据结构的核心基础——通过结构体存储数据,指针指向结构体实例,实现数据单元的链式关联。 1.2.1 结构体与指针的基本操作 结构体指针的声明与使用是基础,其核心语法为: // 结构体定义struct 结构体名 { 成员类型 成员名;

By Ne0inhk
Transformer实战(9)——Transformer分词算法详解

Transformer实战(9)——Transformer分词算法详解

Transformer实战(9)——Transformer分词算法详解 * 0. 前言 * 1. 子词分词算法 * 2. 加载预训练分词器 * 3. 常见字词分词算法 * 3.1 字节对编码 * 3.2 WordPiece * 3.3 SentencePiece * 4. 使用 tokenizers 库训练分词器 * 4.1 训练 BPE * 4.2 训练 WordPiece * 4.3 空分词管道 * 小结 * 系列链接 0. 前言 在自然语言处理领域,高效准确的分词算法是构建强大语言模型的基础。随着 Transformer 架构的广泛应用,子词分词算法已成为处理多语言文本和稀有词汇的关键技术。本文将从理论到实践,全面解析现代自然语言处理 (Natural Language Processing,

By Ne0inhk

Qwen3-Reranker-0.6B实战手册:Gradio Web服务+Python API双模式调用详解

Qwen3-Reranker-0.6B实战手册:Gradio Web服务+Python API双模式调用详解 1. 快速了解Qwen3-Reranker-0.6B Qwen3-Reranker-0.6B是通义千问团队最新推出的文本重排序模型,专门用于提升搜索和检索任务的效果。这个模型虽然只有6亿参数,但在文本重排序任务上表现出色,能够智能地判断文档与查询的相关性,并重新排序输出最相关的结果。 简单来说,它就像一个智能的文档筛选助手。你给它一个问题(比如"北京有什么好玩的地方?")和一堆候选答案,它能帮你找出最相关的几个答案,并按相关性从高到低排列。 这个模型支持100多种语言,能处理长达32K字符的文本,而且部署简单,只需要1.2GB的存储空间。无论你是做中文搜索、英文检索,还是处理代码片段,它都能胜任。 2. 环境准备与快速部署 2.1 系统要求 在开始之前,确保你的环境满足以下基本要求: * Python 3.8或更高版本(推荐Python 3.10) * 至少4GB内存(处理大量文档时需要更多)

By Ne0inhk