AI控制客户端

Node-RED节点集合,用于接入虾哥小智AI平台,让设备通过可视化流程编程轻松接入AI控制。

  • by ThanhCongTED
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 ThanhCongTED/node-red-contrib-xiaozhi-mcp-ted

使用说明

Node-RED版小智MCP客户端

Node-RED节点集合,用于接入虾哥小智AI平台,让设备通过可视化流程编程轻松接入AI控制。

功能特性

  • 🎯 可视化配置: 拖拽式节点配置,无需编程
  • 🔗 WebSocket连接: 支持ws://和wss://协议
  • 🛠️ 工具管理: 动态注册和管理设备工具
  • 📊 状态监控: 实时连接状态和性能监控
  • 🔄 自动重连: 网络断开自动恢复连接
  • 💬 消息处理: 完整的JSON-RPC 2.0协议支持

节点列表

xiaozhi-config (配置节点)

管理与小智MCP服务器的连接配置,包括服务器地址、认证令牌等。

xiaozhi-tool-register (工具注册节点)

注册设备工具到小智平台,定义工具名称、描述和参数schema。

xiaozhi-tool-call (工具调用节点)

接收来自小智平台的工具调用请求,输出调用参数供流程处理。

xiaozhi-status (状态监控节点)

监控连接状态、统计信息和性能指标。

xiaozhi-message (消息处理节点)

发送工具执行结果响应给小智平台。

快速开始

安装

# 通过npm安装
npm install @maikemaker/node-red-contrib-xiaozhi-mcp

# 或通过Node-RED管理面板安装
# 1. 打开Node-RED管理界面
# 2. 点击右上角菜单 -> 管理面板 -> 安装
# 3. 搜索 "xiaozhi-mcp" 并安装

基本使用

  1. 配置连接

    • 拖拽 xiaozhi-config 节点到流程中
    • 双击配置服务器地址和访问令牌
    • 保存配置
  2. 注册工具

    • 添加 xiaozhi-tool-register 节点
    • 选择前面配置的连接
    • 定义工具名称、描述和参数
  3. 处理调用

    • 使用 xiaozhi-tool-call 接收调用请求
    • 添加处理逻辑(如function节点)
    • 使用 xiaozhi-message 发送响应

示例流程

[
  {
    "id": "config1",
    "type": "xiaozhi-config",
    "name": "小智连接",
    "endpoint": "wss://api.xiaozhi.me/mcp/?token=your-token"
  },
  {
    "id": "register1", 
    "type": "xiaozhi-tool-register",
    "xiaozhi": "config1",
    "toolName": "led_control",
    "toolDescription": "控制LED灯开关"
  }
]

开发指南

本地开发

# 克隆项目
git clone https://gitee.com/maikemaker/node-red-contrib-xiaozhi-mcp.git
cd node-red-contrib-xiaozhi-mcp

# 安装依赖
npm install

# 运行测试
npm test

# 代码检查
npm run lint

# 本地安装到Node-RED
cd ~/.node-red
npm install /path/to/node-red-contrib-xiaozhi-mcp

目录结构

node-red-contrib-xiaozhi-mcp/
├── nodes/           # 节点定义
├── lib/            # 核心库
├── test/           # 测试文件
├── examples/       # 示例流程
├── docs/           # 文档
└── icons/          # 节点图标

API文档

详细的API文档请参考 docs/api.md

示例

更多示例请查看 examples/ 目录

贡献

欢迎提交Issue和Pull Request!

许可证

MIT License

更新日志

v1.0.0

  • 初始版本发布
  • 实现基本的MCP客户端功能
  • 支持工具注册和调用
  • 提供可视化配置界面