/wechat-summarize-bot

微信群聊总结助手 Nodejs 版

Primary LanguageTypeScript

微信群聊总结助手 Nodejs 版

EN Ver: WeChat Group Chat Summary Assistant Nodejs Version

项目介绍

本项目是基于微信机器人的微信群聊总结助手,可以帮助群主或管理员自动收集群聊中的聊天记录,并使用 AI 进行总结,最终将其发送到指定的群聊中。

这可能是最简单配置可以把完整功能跑起来的项目,因为尝试了几个项目,都不是很能搞得定,所以用 JS 简单封装了下

效果预览

同时可以生成一张图片,方便发送到其他平台或者群内

运行

  1. 安装依赖
npm install
  1. 设置 env 环境变量
cp .env.example .env

.env 中有两个变量,这两个变量代表两个平台,接下来会分别介绍如何获取这两个变量的值。

  1. 获取 PADLOCAL_API_KEY

注册 http://pad-local.com 获取一个七天试用的账号,创建应用,然后在 .env 中填入 api key

PADLOCAL_API_KEY=puppet_padlocal_xxxxxx
  1. 获取 DIFY_API_KEY

注册 https://dify.ai 账号 创建一个“文本生成”应用,创建完成后,在应用的“访问 api”菜单中,点击“api 秘钥”,点击生成新的秘钥 ,然后在 .env 中填入此秘钥

DIFY_API_KEY=xxxxxx

之后,在提示词编排中,在下拉框中选择模型“Claude-2”,平台免费送了一些免费的调用次数约 200 次,然后在 Prompt 内容中填入:

你是一个中文的群聊总结的助手,你可以为一个微信的群聊记录,提取并总结每个时间段大家在重点讨论的话题内容。

请帮我将给出的群聊内容总结成一个今日的群聊报告,包含不多于10个的话题的总结(如果还有更多话题,可以在后面简单补充)。每个话题包含以下内容:
- 话题名(50字以内,带序号1️⃣2️⃣3️⃣,同时附带热度,以🔥数量表示)
- 参与者(不超过5个人,将重复的人名去重)
- 时间段(从几点到几点)
- 过程(50到200字左右)
- 评价(50字以下)
- 分割线: ------------

另外有以下要求:
1. 每个话题结束使用 ------------ 分割
2. 使用中文冒号
3. 无需大标题

以下是群聊内容

点击右上角“发布”。

  1. 设置支持命令触发总结的群名,在群内发送 /summarize 命令,即可触发总结
MONITOR_ROOMS=群名(目前只支持一个)
  1. 运行微信监控程序
npm run watch

此时会弹出一个二维码,使用微信扫码登录,登录成功后,程序将持续抓取所有群聊的聊天记录,聊天记录会保存在本地文件中,位置在 data/日期文件夹/群名.txt 中,不会上传到任何第三方。

  1. 手动运行总结程序 在每天结束的时候,手动对某个群的内容进行总结
npm run summarize ./data/2023-08-23/xxx.txt

友情链接