掘金 后端 ( ) • 2024-04-29 10:43

theme: qklhk-chocolate

前言

前面介绍了一个开源项目,使用通过协议登录微信,暴露接口出来可以自定义处理微信消息

# 利用微信hook开源项目开发一个摸鱼提示小助手

突发奇想coze机器人可以调用这个项目暴露出来的接口给微信好友发送自定义消息了,所以就实践了一下,非常有意思。

实现

wechatbot-webhook GitHub地址:

https://github.com/danni-cool/wechatbot-webhook

部署这个项目的暴露出的webhook地址为:wxhook.xxxx.com,token设置为123456

所以组合起来发送消息的webhook 地址为:

https://wxhook.xxxx.com/webhook/msg/v2?token=123456

发送消息的API文档为:

微信截图_20240428220639.png

现在打开coze的地址(coze.cn)新建机器人:

微信截图_20240428220917.png

添加插件

image.png

注意创建插件需要写代码,所以选择的插件工具创建方式为:在Coze IDE中创建,自带的基于已有服务创建 的方式不能构建复杂的请求参数结构,IDE运行时我选择Python3

微信截图_20240428222332.png 创建插件之后又要创建工具,一个工具表示一个接口

微信截图_20240428231025.png 开始编辑代码,注意测试之前在左下角需要安装一个依赖包requests,代码(这里填写最开始webhook地址):

    import requests

    """
    Each file needs to export a function named `handler`. This function is the entrance to the Tool.

    Parameters:
    args: parameters of the entry function.
    args.input - input parameters, you can get test input value by args.input.xxx.
    args.logger - logger instance used to print logs, injected by runtime.

    Remember to fill in input/output in Metadata, it helps LLM to recognize and use tool.

    Return:
    The return data of the function, which should match the declared output parameters.
    """
    def handler(args: Args[Input])->Output:
        to=args.input.to
        content = args.input.content
        url = 'https://***.****.***/webhook/msg/v2?token=****'
        data = {
            "to":to,
            "data":{"content":content}
        }
        res = requests.post(url=url,json=data)
        return res.json()

image.png

按照代码进行测试,此时微信就能收到消息了

image.png 此时还没有完,还需要在IDE元数据选项编辑输入参数的解释和输出参数的解释,让大模型理解代码需要什么参数,返回什么参数。

微信截图_20240428231818.png

填写完毕就可以点击发布了,发布完成过后进行再回到最开始的机器人添加插件,添加完毕开始测试(我这里额外添加了给微信群聊发送消息的插件):

微信截图_20240428232314.png

最后

尝试了很久发现,在coze中使用暗之月面的大模型(moonshot)效果比较好,让他讲个笑话,他真的能把笑话转发出去,而coze自带的语雀大模型比较傻只能说笑话这两个字。

微信截图_20240428235932.png

这个项目只简单做到这里,不知道大家有什么更好的想法,后面可以扩展更多的内容,做更多的插件把新闻,工作内容总结,或者对接API把聊天历史保存然后交给大模型进行总结,或者让大模型代替自己聊天,真的是太好玩了,后面应该会接着折腾这个coze。

如果觉得内容不错,欢迎点个赞

你的支持决定了我更新的频率。

BotID:7362916848105029682