Skip to content

zjy1412/wechatferry-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

简介

这是基于wechatferry开发的微信机器人,虽然使用的都是wechatyAPI。该项目充分利用了function calling功能,实现了联网搜索、PDF/网页阅读、历史记录管理等多项功能。

目录

特性

  • 🔍 智能搜索: 使用SearXNG搜索引擎实现联网搜索
  • 📄 文档阅读: 支持网页的内容提取和分析
  • 💬 上下文管理:
    • 自动管理对话历史
    • 支持群聊和私聊
    • 历史记录自动归档和清理
  • 🎭 角色切换: 通过system_prompts文件夹配置多种对话角色
  • 📊 状态管理: 自动保存和恢复会话状态
  • 🔄 自动重试: 连接失败时自动重试机制

安装

先克隆仓库。

git clone https://github.com/zjy1412/wechatyferry-bot.git

没有安装node.js的可以去这里安装。

npm install

另外需要使用3.9.10.27这个版本的微信。(不是很推荐使用大号,请始终知晓有封号风险)

使用说明

先填写config.json。其中openai里可以选择使用任何提供openai格式的具有funtion calling功能的大语言模型,我个人测试的时候使用的是deepseek(想试用nextchat的插件的时候竟然只支持openai的模型,明明只要有funtion calling就能用插件了)

searchEngineURL处则填写searxngURL,可以到这里去寻找网址,也可以选择自己部署。

{
  "openai": {
    "model": "",
    "baseURL": "", 
    "apiKey": "" 
  },
  "maxHistoryLength": 5,
  "searchEngineURL": "",
    "archiveExpirationTime": 86400000,
  "features": {
    "searchEnabled": true,
    "urlReaderEnabled": true,
    "chatHistoryEnabled": true,
    "newsEnabled": true
  }
}

配置完后登录微信,使用下面的指令即可启动。

node index.js

差点忘了,使用的一个库不知道为什么有测试没删导致报错,你可以根据报错指引去注释或删掉那个if语句。

你可以在system_prompts文件夹下添加你自己的提示词,然后对机器人发送提示词的名字就可以切换提示词了。

搜索和读取URL的功能则是根据你说话的内容触发的,因为我的实现相当粗暴,所以请小心使用,注意token消耗。

配置说明

配置文件config.json支持以下选项:

  1. OpenAI配置
  • model: 使用的模型名称,支持任何兼容OpenAI API的模型
  • baseURL: API接口地址
  • apiKey: API访问密钥
  1. 系统配置
  • maxHistoryLength: 每个会话保留的最大历史消息数
  • searchEngineURL: SearXNG搜索引擎的URL地址
  • archiveExpirationTime: 历史记录归档的过期时间(毫秒)
  1. 功能开关
  • searchEnabled: 启用/禁用网络搜索功能
  • urlReaderEnabled: 启用/禁用URL内容读取功能
  • chatHistoryEnabled: 启用/禁用聊天历史管理
  • newsEnabled: 启用/禁用新闻功能

About

这是基于wechatferry开发的微信机器人。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published