Lark MCP - 飞书全场景 Function Call AI 助手 来了[特殊字符]

Lark MCP - 飞书全场景 AI 助手 来啦🚀

一个基于飞书(Lark)的全场景 MCP Function Call AI Agent ,实现大模型通过飞书进行函数调用和消息处理。

项目地址 https://github.com/cv-cat/LarkAgentX

无需配置飞书机器人,你的飞书账号即是 AI 助手。

只需定义函数和注释,你的飞书机器人会自动根据场景调用。

项目概述 🌟

Lark MCP 是一个现代化的 Python 应用程序,能够:

  • 📊 逆向飞书 Protobuf 格式传输的 Websockets 和 API ,监听并记录消息
  • 🤖 提供自定义函数供大模型调用
  • 🔄 实现基于 MCP (Model Context Protocol) 的函数调用框架
  • 💾 使用 SQLAlchemy 将消息存储到 MySQL 数据库

系统架构

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

✨ 功能特点

  • 函数注册机制: 简单直观的函数注册装饰器
  • 消息自动处理: 记录所有接收到的消息(私聊和群聊)
  • 异步处理: 采用 async/await 模式进行异步通信
  • 数据持久化: 使用 SQLAlchemy 将消息存储在 MySQL 数据库中
  • 灵活配置: 通过环境变量进行配置
  • 容器化部署: 支持 Docker 快速部署

🛠️ 自定义函数示例

@register_tool(name="tell_joke", description="讲一个随机笑话")
def tell_joke() -> str:
    jokes = [
        "为什么程序员都喜欢黑色?因为他们不喜欢 bug 光。",
        "Python 和蛇有什么共同点?一旦缠上你就放不下了。",
        "为什么 Java 开发者很少被邀去派对?因为他们总是抛出异常。",
    ]
    return random.choice(jokes)

@register_tool(name="send_message", description="给指定用户发送消息 {user:用户名称 content:消息内容}")
def send_message(user: str, content: str) -> str:
    """给指定用户发送私信"""
    lark_client = LarkClient(get_auth())
    # ... 实现逻辑 ...
    return f"成功向 {user} 发送了私信: '{content}'"

🚀 使用指南

运行应用程序

python main.py

应用程序将:

  1. 初始化 MCP 服务器
  2. 连接到飞书 API
  3. 监听传入的消息
  4. 处理并执行大模型通过飞书发起的函数调用
  5. 将消息存储在 MySQL 数据库中

函数注册与开发

要添加新的函数,只需在app/core/mcp_server.py中使用@register_tool装饰器:

@register_tool(name="your_function_name", description="功能描述")
def your_function(param1: str, param2: int = 0) -> str:
    """函数实现逻辑"""
    # 实现代码...
    return "返回结果"

重要: 只需添加函数和对应的描述,AI 会根据用户的文字自动分析并调用最匹配的函数,无需手动实现函数匹配逻辑。

🧸关于我

正在实习的一名研二学生,有问题欢迎加群或者加 V 交流,联络方式在 github 上哈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值