微信智能助手,内置 WEB 管理界面,可接入GPT、Gemini、星火、文心、混元、通义千问等大语言模型。本项目未对微信程序进行任何破解或修改,与微信互操作的能力均基于开源项目 WeChatFerry RPC 实现,感谢各位开源贡献者。
- 使用 Go 语言编写,无运行时依赖
- 提供 HTTP 接口,便于对接各类编程语言
- 提供 Websocket 接口,接收推送的新消息
- 支持 HTTP/WS 接口授权,参见 配置说明
- 支持作为 SDK 使用,参见 wcferry/README.md
- 内置 AI 机器人,参见 wclient/README.md
- 内置 Web 管理界面,可以管理机器人各项配置
- 内置 Api 调试工具,所有接口都可以在线调试
- 尽可能将消息中的 Xml 转为 Object,便于前端解析
- 支持计划任务、外部指令、指令插件等扩展功能,详见 wechat-rest-plugin
请仔细阅读本文档和常见问题后再开始使用;首次使用可参照下面的步骤开始:
-
下载并安装 WeChatSetup-3.9.2.23.exe 和 wechat-rest.zip
- 非开发者请直接下载编译好的二进制文件,不要下载源码
-
双击
wrest.exe
将自动启动微信和接口服务,扫码登录微信- 启动成功后,浏览器访问
http://localhost:7600
配置机器人
- 启动成功后,浏览器访问
-
若无人值守,可选择使用
starter.bat
启动服务,实现如下能力:- 写入禁止微信自动更新的注册表配置
- 在
wrest.exe
崩溃后自动重启
机器人相关参数均已支持从 WEB 界面管理,config.yml 用来配置一些核心能力,一般情况下保持默认即可。
-
修改
config.yml
中的参数,需重启 wrest.exe 才能生效- 请使用
Ctrl + C
终止 wrest.exe,切勿直接关闭任务窗口 - 重启时,提示端口被占用,请退出微信后重试
- 请使用
-
设置
Web.Token
后,请求接口时必须携带 header 信息:Authorization: Bearer $token
模块依赖示意:WEB ---> API ---> BOT ---> SDK ---> Wcferry ---> WeChat
。其中 BOT
模块并非必须的,可根据自己的需求选择是否开启,Wcferry
模块为第三方开源依赖,必须和 WeChat
版本匹配使用。
查看和调试 HTTP/WS 接口,可使用浏览器访问 http://localhost:7600/swagger/
。更多插件开发资源请查阅 wechat-rest-plugin 项目。
实现了 HTTP/WS 接口,详情查看 httpd/README.md
实现了群聊机器人,详情查看 wclient/README.md
实现了 WCF 客户端,详情查看 wcferry/README.md
实现了 WEB 控制台,详情查看 webview/README.md
提交代码时请使用 feat: something
作为说明,支持的标识如下
feat
新功能(feature)fix
错误修复docs
文档更改(documentation)style
格式(不影响代码含义的更改,空格、格式、缺少分号等)refactor
重构(即不是新功能,也不是修补bug的代码变动)perf
优化(提高性能的代码更改)test
测试(添加缺失的测试或更正现有测试)chore
构建过程或辅助工具的变动revert
还原以前的提交
当前分支兼容的 PC 微信版本是 3.9.2.23
,请在 快速开始 中点击下载。
首先要在消息中添加 @昵称
,然后在 aters
参数添加此人的 wxid
。相关接口 /wcf/send_txt
。
从 快速开始 中下载新版本。关闭机器人后,将解压出来的 wrest.exe
和 wcferry
覆盖过去即可。
- 阿里 通义千问 https://dashscope.console.aliyun.com/apiKey
- 讯飞 星火 https://console.xfyun.cn/services/bm3
- 谷歌 Gemini https://aistudio.google.com/app/apikey?hl=zh-cn
登录控制台 http://localhost:7600/#/keyword/list
,添加一个指令别名,场景选择全局
,级别修改为需要的值,保存后生效。
- 所有内置指令修改为管理员级别,相当于在全局禁用内置指令
- 添加一个名为
@xxx
的指令别名,目标选择/ai
,实现@xxx
唤醒
Wechat-Rest 和 WeChatFerry 均仅供学习交流,不保证代码质量,不得用于商业用途。非法用途导致的后果自行承担。