Skip to content

feat:添加小蜜蜂接入#158

Merged
liuzhq1986 merged 3 commits intonetease-youdao:mainfrom
renhongchao:feature/bee
Mar 2, 2026
Merged

feat:添加小蜜蜂接入#158
liuzhq1986 merged 3 commits intonetease-youdao:mainfrom
renhongchao:feature/bee

Conversation

@renhongchao
Copy link
Copy Markdown
Contributor

@renhongchao renhongchao commented Feb 27, 2026

🎯 概述

本 PR 为 LobsterAI 集成了网易小蜜蜂(Xiaomifeng)作为新的远程控制渠道,使用户能够通过小蜜蜂个人数字助理直接与 LobsterAI Agent 交互。

✨ 新增功能

核心集成

  • ✅ 基于 node-nim V2 SDK 实现 XiaomifengGateway,支持小蜜蜂自定义消息格式(type 100)
  • ✅ 新增小蜜蜂平台,与钉钉、飞书、Telegram、Discord、云信 IM 并列
  • ✅ 支持消息接收(通过 NIM SDK)与发送(通过 HTTP API)双向通信
  • ✅ 完整的消息去重机制与自动重连逻辑
  • ✅ 支持长消息自动分片发送(单条上限 1500 字符)

UI 增强

  • ✅ 新增小蜜蜂配置面板,包含 Client ID 和 Client Secret 输入
  • ✅ 添加小蜜蜂平台 logo 图标
  • ✅ 实时连接状态显示与错误诊断
  • ✅ 完整的中英文国际化支持

文档更新

  • ✅ 更新 README.md(英文)和 README_zh.md(中文)添加小蜜蜂平台说明
  • ✅ 添加小蜜蜂使用指南链接

🔧 技术细节

新增/修改的关键文件

文件 说明
src/main/im/xiaomifengGateway.ts 小蜜蜂网关核心实现(972 行)
src/main/im/imGatewayManager.ts 添加小蜜蜂平台支持
src/main/im/imStore.ts 添加小蜜蜂配置存储
src/main/im/types.ts 添加小蜜蜂类型定义
src/renderer/components/im/IMSettings.tsx 小蜜蜂配置 UI
src/renderer/services/i18n.ts 添加小蜜蜂相关翻译
src/renderer/store/slices/imSlice.ts 添加小蜜蜂 Redux 状态
src/renderer/types/im.ts 添加小蜜蜂前端类型
public/xiaomifeng.png 小蜜蜂 logo 图标
electron-builder.json 构建配置更新

架构说明

  • 复用 NIM V2 SDK(node-nim)作为消息接收通道
  • 消息发送通过小蜜蜂 HTTP API 完成
  • 支持小蜜蜂特有的 type 100 自定义消息格式
  • 遵循现有 IMGateway 接口设计模式
  • 状态持久化存储到本地文件

🧪 测试

手动测试清单

  • 应用在 Windows/macOS 上正常启动
  • 小蜜蜂配置面板正常渲染
  • 使用有效凭证可成功连接
  • 无效凭证正确显示错误信息
  • 中英文界面切换正常
  • 通过小蜜蜂发送消息可触发 Cowork 会话
  • Agent 响应能正确回传到小蜜蜂

🚀 使用说明

对于用户

  1. 无破坏性变更,现有配置完全兼容
  2. 小蜜蜂为可选新平台,不影响现有钉钉/飞书/Telegram/Discord/云信配置
  3. 获取凭证请参考:网易小蜜蜂 LobsterAI 接入指南

对于开发者

  1. 运行 npm install 安装依赖
  2. 使用 npm run electron:dev 开发或 npm run build 构建

📝 相关链接


测试环境:

  • Windows 11
  • MacOS 12.1
  • Electron 40.x
  • Node.js 24.x

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants