)
1. 飞书群里跑一个 AI 办公机器人到底卡在哪先说清楚 memU bot 是什么、能做什么、适合谁。memU bot 是一款基于 memU 记忆框架的桌面端 AI 助手主打本地优先架构会话数据、记忆图谱默认落在本机网络请求主要发生在模型推理阶段。它原生适配飞书生态支持 Skills 扩展和 MCP 工具调用你可以把它理解成「一个能挂工具、能记事的飞书群成员」。适合两类人一类是对数据出域敏感、希望核心资料尽量留在本地的团队另一类是预算有限、想先用本地 ollama 模型把流程跑通再按需切换云端 API 的个人开发者。但真动手时卡点往往不在「装软件」这一步而在三件事上飞书自建应用的权限和事件订阅没配全机器人收不到消息本地 ollama 的模型名、API 地址填错模型调用直接失败MCP 工具挂上了但机器人「看不见」图表和地图类工具调不起来。这篇就按「消息触发 → 模型推理 → 工具调用 → 图表返回」这条链路把每一步的可复制配置写清楚中间穿插我实际踩过的报错和排查思路。整条链路里模型调用这一环最容易反复折腾本地 ollama 适合验证但小模型在工具调用和多轮推理上容易「犯迷糊」云端模型稳定但每个供应商的 Key、Base URL、模型 ID 格式都不一样。我的做法是用 TaoToken 做统一通道把不同模型的接入收敛成一套 Base URL Key Model ID 的组合本地和云端切换时只改这几个字段飞书侧和 MCP 侧完全不用动。下面从飞书应用创建开始一步步来。2. 前置准备飞书应用、ollama 与 TaoToken 统一 Key这一节把三样东西备齐飞书自建应用、本地 ollama、以及 TaoToken 的 API Key。顺序建议先装环境再建应用因为 memU bot 安装时会检测 Node.js 和 ollama 是否存在。先装基础环境。Node.js 建议 18 LTS 以上装完顺手确认 npm 可用ollama 去官网下对应系统版本装完拉一个模型比如ollama pull qwen2.5:7b记住这个模型名后面配置要用。命令行验证一下node -v npm -v ollama listollama list能列出你本地已有的模型Name 那一列就是待会要填进 memU bot 的模型名称。接着建飞书应用。打开https://open.feishu.cn/app登录后创建企业自建应用填应用名称和描述。进入「凭证与基础信息」复制 App ID 和 App Secret这两个后面在 memU bot 的平台配置里要用。然后去「应用能力」里给机器人点「添加」再到「权限管理」开通权限。这一步是重灾区权限少一个都可能导致功能异常需要开通的 7 个权限是管理应用自身资源、获取通讯录基本信息、通过手机号或邮箱获取用户 ID、获取群组信息、获取与发送单聊群组消息、读取用户发给机器人的单聊消息、以应用的身份发消息。开通后创建版本并发布个人使用不建议勾「对外共享」否则要走管理员审核。最后准备 TaoToken 的 Key。访问https://taotoken.net/api-keys创建 API Key这个 Key 就是统一通道的凭证。TaoToken 在这里的角色是「模型调用的统一入口」不管你后面用云端模型还是想对比不同模型效果Base URL 都填https://taotoken.net/apiKey 填刚创建的Model ID 按你选的模型填。这样飞书机器人和 MCP 工具那边不需要感知底层换了哪个模型。提示本地 ollama 和 TaoToken 云端通道可以并存。日常验证用 ollama 省钱需要更强工具调用能力时切到 TaoToken 通道切换只改 memU bot 里的 LLM 供应商配置。3. 可复制配置memU bot 接入 ollama 与 MCP 注册参数这一节给可直接抄的配置片段。先装 memU bot去https://memu.bot/#quickstart按系统选版本下载安装。装完打开设置进「平台」下拉找到飞书把前面复制的 App ID 和 App Secret 填进去点保存。然后回飞书后台在「事件与回调」里把订阅方式改成「长连接」并保存再添加四个事件用户进入与机器人的会话、解散群、机器人进群、接收消息。这四个事件决定了机器人能不能感知群里的消息和成员变动。激活机器人需要安全码。在 memU bot 设置里进「安全」点生成安全码回飞书打开应用如果没对话框就先创建版本发布一次出现聊天框后发送/bind 你的安全码看到激活成功即可。接下来是模型配置这是核心。进 memU bot 设置 →「通用」LLM 供应商选 Custom Provider对应本地 ollama填写如下{ provider: custom, base_url: http://127.0.0.1:11434/v1, api_key: ollama, model_id: qwen2.5:7b }base_url是 ollama 默认的 OpenAI 兼容端点api_key填ollama占位即可model_id必须和ollama list里的 Name 完全一致。如果你要切到 TaoToken 统一通道把这段改成{ provider: custom, base_url: https://taotoken.net/api, api_key: 你在 TaoToken 创建的 Key, model_id: 你选用的模型 ID }Base URL、Key、Model ID 这三件套在 memU bot、Cline、Codex 这类工具里是通用的记住这个组合换工具时照填就行。再配 MCP。可视化图表用 antvis 的 mcp-server-chart在 memU bot 里点「添加 MCP 服务器」填 stdio 类型的配置{ mcpServers: { mcp-server-chart: { command: npx, args: [-y, antvis/mcp-server-chart] } } }高德地图 MCP 同理去 ModelScope 的amap/amap-maps页面拿配置把密钥填进去{ mcpServers: { amap-maps: { command: npx, args: [-y, amap/amap-maps-mcp-server], env: { AMAP_MAPS_API_KEY: 你的高德 Key } } } }添加后等一会界面会显示识别到的工具数量出现数量就说明 MCP 注册成功。如果一直显示 0先别急着怀疑配置往下看排错那节。4. 验证请求从群消息触发到图表返回配置完必须验证不然你不知道是模型没通还是工具没挂上。分三步验证。第一步验证模型通道。在飞书群里 机器人发一句简单的话比如「你好介绍一下你自己」。如果本地 ollama 在跑终端能看到推理日志如果走 TaoToken 通道回复会明显更快。这一步只验证「消息 → 模型 → 回复」链路不涉及工具。第二步验证 MCP 工具是否被识别。发一句「用图表展示 1 到 6 月的销售额趋势数据你自己编一组」。如果图表 MCP 挂载成功机器人会调用mcp-server-chart生成一张图并返回。这一步能跑通说明「消息 → 模型 → 工具调用 → 图表返回」整条链路是通的。第三步验证联网和浏览器类工具。让机器人「查一下近期热门商品生成可视化图表」。实测下来模型默认会用有头模式打开 Chrome你能看到浏览器窗口弹出、页面滚动、信息被抓取最后回到飞书输出图表。这个过程里机器人完成了飞书互动、浏览器启动、联网搜索、图像生成四件事基本达成目标。验证时有个细节要注意如果模型较小回复可能像「思考过程」而不是结论这通常是 memU bot 内置模板和模型能力共同导致的。换更强的模型或者在 Skills 里加 OCR 类工具处理图片信息效果会明显改善。我试过让机器人核实一条商品信息结果它被文字顺序误导、没读图产生了部分错误——这不是链路问题是模型对多模态信息的处理能力问题换模型或补 OCR 工具即可。5. 常见报错排查401、local proxy failed、工具不可见这一节对照真实报错给排查路径。401 Unauthorized出现在模型调用阶段。先检查 API Key 是否复制完整、有没有多余空格走 TaoToken 通道时确认 Base URL 是https://taotoken.net/api不要带多余路径走 ollama 时确认api_key填的是ollama而不是空。如果 Key 刚创建等几秒再试。local proxy failed / 连接被拒绝多半是 ollama 没启动或者base_url端口不对。终端跑ollama list确认服务在跑再确认端口是 11434。如果 memU bot 和 ollama 不在同一台机器127.0.0.1要换成实际地址。reading choices 报错通常是模型返回格式和客户端预期不一致常见于模型 ID 填错或用了不兼容的模型。核对model_id和ollama list是否一致或换一个支持工具调用的模型。OAuth / 授权类报错飞书侧权限没开全或事件没订阅。回飞书后台核对那 7 个权限是否都开通、四个事件是否都添加、订阅方式是否为长连接。权限和事件是两套东西缺一不可。MCP 工具数量显示 0 / 机器人找不到工具先在终端单独测 MCP 命令本身比如npx amap/amap-maps-mcp-server -y确认命令能跑起来、不是包本身的问题。如果命令正常但 memU bot 里看不到工具重启 memU bot 再试仍不行就检查env里的密钥字段名是否和文档一致。内置浏览器 MCP 缺失浏览器的情况通常是本机没装 Chrome 或路径没被识别装一个标准版 Chrome 即可。机器人收不到群消息检查「接收消息」事件是否添加、机器人是否已进群、群是否被解散过。飞书群机器人需要被拉进群才能收到群消息单聊则要用户先进入会话。6. 把链路固化下来统一通道 按需换模型跑通一次不算完能稳定复用才算。我的做法是把配置固化成两层飞书侧和 MCP 侧一次配好基本不动模型侧通过 TaoToken 统一通道随时切换。这样本地 ollama 用来做日常验证和隐私敏感场景需要更强推理和工具调用时切到云端模型只改 Base URL、Key、Model ID 三个字段。如果你打算长期在飞书里跑编码类或 Agent 类任务可以看下 Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite它更适合高频调用场景。想先对比不同模型在图表生成、工具调用上的表现直接去模型对话页https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewrite试几句确认效果再写进 memU bot 配置。接入细节和参数说明在文档里https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewriteKey 在 API Keys 页管理https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite。最后给个实用技巧MCP 工具不要一次挂太多先挂一个图表工具验证链路通了再加地图、浏览器类工具出问题时更容易定位是哪个环节。模型 ID 和 Base URL 建议单独记一个配置文件换机器或重装时直接抄省得重新翻文档。