用OpenClaw做飞书ai办公机器人(含本地ollama模型接入+自动安装skills+数据可视化)

用OpenClaw做飞书ai办公机器人(含本地ollama模型接入+自动安装skills+数据可视化)

执行git clone https://github.com/openclaw/openclaw克隆项目,执行cd openclaw进入项目

执行node --version看看node的版本是否大于等于22(没有node.js需自行安装),再执行npm install -g pnpm安装作为包管理器,并执行pnpm install安装依赖

首次执行pnpm ui:build构建 Web UI(会先安装 ui/ 目录的依赖)

执行pnpm build构建主程序

执行pnpm openclaw onboard --install-daemon运行配置向导(安装守护进程),完成初始化

按键盘右箭头选择Yes,同样Yes

任选一个模型提供商都行,没有对应的提供商的密钥可以跳过,如果是本地模型选vLLM(需用vLLM框架启动模型,有性能优势,但原生vLLM仅完全支持Linux的cuda)、Custom Provider(可以连接任何 OpenAI 或 Anthropic 兼容的端点,包括托管提供商和自托管端点)和 LiteLLM (最通用,能通过中间层转换支持任意后端,既支持云端也支持本地模型,也包括Ollama、vLLM、LM Studio、llama.cpp 等本地后端)

Custom Provider最方便,适合日常使用,支持范围:

  • ✅ Ollama(自动检测,无需配置)
  • ✅ vLLM(localhost:8000/v1
  • ✅ LM Studio(localhost:1234/v1
  • ✅ llama.cpp(localhost:8080/v1,需启动 ./llama-server
  • ✅ 自封装 API:任何你自己用 Python + Transformers 封装的 OpenAI-compatible 服务
  • ✅ LiteLLM 代理
  • ✅ Text Generation WebUI

a)使用本地模型及报错处理

Endpoint ID随便填

如果提示alias被占用可以不填Model alias或可到用户目录的隐藏目录.openclaw的openclaw.json删除类似红色框的部分

卡了很久,疑似报错

新开终端,在openclaw项目文件夹位置输入pnpm openclaw logs --follow,可发现关键报错原因是上下文窗口太小(这是 OpenClaw 2026.2 版本的硬性要求:contextWindow 必须 ≥ 16000,但 onboard 向导默认只设 4096)

先输入/exit退出

到用户目录的隐藏目录.openclaw的openclaw.json对本地模型的contextWindow设置至少16000

输入pnpm openclaw gateway restart重启

终端执行pnpm openclaw tui,输入问题,成功回答

b)使用云端模型

没有账号的话进行注册,密码需要数字和英文大小写

验证激活

按需安装对接软件的插件,不需要这些就选skip跳过

c)连接飞书

如果需要飞书,可以下载插件

打开https://open.feishu.cn/app,登录后点击创建企业自建应用

简单填写你的应用名称和应用描述,点击创建

点击凭证与基础信息,复制你的APP ID和APP Secret

点击创建版本,简单填写应用版本号和更新说明,点击保存及确认发布

忘记复制的话,回到凭证与基础信息,把你的APP ID和APP Secret粘贴到openclaw

选择中国版飞书

按需选择群聊响应策略

选项效果适用场景
Allowlist只在指定群聊响应推荐,安全可控,避免机器人到处乱回
Open所有群聊都响应(需@)团队小、群少,希望机器人随时待命
Disabled完全不在群聊响应仅私聊使用

如果担心机器人乱回答选 Allowlist,后续在配置文件中指定允许响应的群 ID,防止误触。

按需安装skills,需要的话选择安装方式,不需要就skip for now

Hooks 是可选的自动化触发器,建议先 Skip,后续按需开启

Hook作用适用场景
boot-md启动时自动加载指定 Markdown 文件作为系统提示每次启动都要加载固定指令集
bootstrap-extra-files启动时预加载额外文件到上下文需要预置知识库文件
command-logger自动记录所有命令到日志需要审计追踪操作历史
session-memory切换会话时自动保存/恢复上下文需要持久化记忆,重启后记得之前聊过什么

建议: 刚入门先 Skip for now,不影响核心功能。等熟悉后再根据实际需求开启,尤其是 session-memory 对长期对话体验提升明显。

Skip for now跳过多个步骤后

选择tui

选择tui

也可以打开http://127.0.0.1:18789/chat?session=main,更方便修改配置

后续直接启动可以选择pnpm openclaw dashboard --no-open

回到飞书,点击应用能力,再点击机器人中的“添加”按钮

点击创建版本

点击订阅方式的编辑按钮,选择长连接,然后点击添加事件

依次搜索四个事件并添加:1)用户进入与机器人的会话 2)解散群 3)机器人进群 4)接收消息

点击创建版本

简单填写你的应用版本号、更新说明和应用能力,点击发布

打开飞书,点击应用

打开测试,如果出现以下情况,到openclaw项目的终端执行pnpm openclaw pairing approve feishu 对应的配对码

激活完成后,继续测试飞书对话

在对话中切换模型

d)安装能发现skills的skills

执行npx skills add https://github.com/vercel-labs/skills --skill find-skills

选择openclaw

全局安装,采用符号链接,选择yes

继续yes

可以打开网站或命令行pnpm openclaw skills list验证find-skills是否安装

Mac启动前最好设置权限

执行调查任务,发现似乎没加载find-skills工具

让它自己分析找不到找不到的原因并自行加载find-skills

e)自动安装浏览器操作、数据可视化、高德地图的skills

切换模型

自动安装skills并执行playwright-skill打开浏览器

成功获取数据

创建访问链接成功

查看链接以及下载csv,看起来地图过于简化了

让它继续优化

打开下载文件和地图链接,看起来有所进步,但仍有不足,如果需要更准更美观的话建议换更智能的ai模型或或继续提要求或换工具

创作不易,禁止抄袭,转载请附上原文链接及标题

Read more

前端文件上传处理:别再让用户等待了!

前端文件上传处理:别再让用户等待了! 毒舌时刻 文件上传?听起来就像是前端工程师为了显得自己很专业而特意搞的一套复杂流程。你以为随便加个input[type=file]就能实现文件上传?别做梦了!到时候你会发现,大文件上传会导致页面崩溃,用户体验极差。 你以为FormData就能解决所有问题?别天真了!FormData在处理大文件时会导致内存溢出,而且无法显示上传进度。还有那些所谓的文件上传库,看起来高大上,用起来却各种问题。 为什么你需要这个 1. 用户体验:良好的文件上传处理可以提高用户体验,减少用户等待时间。 2. 性能优化:合理的文件上传策略可以减少服务器负担,提高上传速度。 3. 错误处理:完善的错误处理可以避免上传失败时的用户困惑。 4. 安全保障:安全的文件上传处理可以防止恶意文件上传,保障系统安全。 5. 功能丰富:支持多文件上传、拖拽上传、进度显示等功能,满足不同场景的需求。 反面教材 // 1. 简单文件上传 <input type="file&

飞算 JavaAI 使用体验全解析

飞算 JavaAI 使用体验全解析

博客目录 * 一、前言与背景 * 二、什么是飞算 JavaAI? * 主要特点 * 三、安装与配置 * 1. 从 IDEA 插件市场安装 * 2. 离线安装 * 3. 配置与激活 * 四、核心功能与使用体验 * 1. 智能开发全流程引导 * (1) 需求分析 * (2) 接口设计 * (3) 表结构设计 * (4) 处理逻辑梳理 * (5) 源码生成与合并 * 2. 其他实用功能 * (1) Java Chat * (2) 智能问答 * (3) SQL Chat * 五、与主流 AI 编程助手对比 * 六、个人体验与建议 * 建议 一、前言与背景

Rust WebAssembly与Three.js结合的3D数据可视化实战:高性能粒子系统

Rust WebAssembly与Three.js结合的3D数据可视化实战:高性能粒子系统

Rust WebAssembly与Three.js结合的3D数据可视化实战:高性能粒子系统 一、引言 💡3D数据可视化是现代Web应用的高级场景之一,广泛应用于数据分析、科学计算、游戏开发、虚拟仿真等领域。传统的JavaScript+WebGL/Three.js方案在处理大量数据(如百万级粒子)时,性能往往难以满足要求。Rust WebAssembly的高性能和内存安全特性,使得它非常适合优化3D数据可视化的核心算法,提高应用的响应速度和渲染帧率。 本章将深入探讨Rust WebAssembly与Three.js结合的3D数据可视化开发,介绍WebGL/Three.js的基本概念,讲解Rust Wasm与WebGL的交互方式,重点实现一个高性能粒子系统,支持粒子的创建、更新、删除,以及各种动画效果。最后,本章还将介绍如何优化粒子系统的性能,如何打包和部署项目。 二、WebGL与Three.js基础 2.1 WebGL概述 WebGL是一种基于OpenGL ES的Web图形库,允许开发者在Web浏览器中使用GPU加速渲染3D图形。WebGL的核心是着色器语言(GLSL)

人工智能:注意力机制与Transformer模型实战

人工智能:注意力机制与Transformer模型实战

人工智能:注意力机制与Transformer模型实战 1.1 本章学习目标与重点 💡 学习目标:掌握注意力机制的核心原理、经典注意力算法,以及Transformer模型的架构设计与实战应用。 💡 学习重点:理解自注意力与多头注意力的计算逻辑,学会使用TensorFlow搭建Transformer模型,完成机器翻译任务。 1.2 注意力机制的核心思想 1.2.1 为什么需要注意力机制 💡 传统的RNN和LSTM在处理长序列时,存在长距离依赖捕捉能力不足和并行计算效率低的问题。注意力机制的出现,解决了这两个核心痛点。 注意力机制的本质是让模型学会“聚焦”——在处理序列数据时,自动分配不同的权重给输入序列中的各个元素,重点关注与当前任务相关的信息,弱化无关信息的干扰。 比如在机器翻译任务中,翻译“我爱中国”时,模型会给“我”“爱”“中国”分配不同的注意力权重,从而更精准地生成对应的英文翻译。 1.2.2 注意力机制的基本框架 💡 注意力机制的计算通常包含**查询(Query)、键(Key)、值(