1 Star 0 Fork 0

monokuma / WeChatRobot

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

WeChatRobot

一个基于 WeChatFerry 的微信机器人示例。

📖 文档 📺 视频教程 🙋 FAQ 🚨【微信机器人】沙雕行为合集
碲矿 赞赏
后台回复 WCF 加群交流 如果你觉得有用

Quick Start

  1. 遇到问题先看看上面的文档、教程和 FAQ。
    • 按照步骤来,版本保持一致,少走弯路。
    • 按照步骤来,版本保持一致,少走弯路。
    • 按照步骤来,版本保持一致,少走弯路。
  2. 安装 Python>=3.9(Python 12 需要自己编译依赖,慎选),例如 3.10.11
  3. 安装微信 3.9.2.23,下载地址在 这里;也可以从 WeChatSetup 找到。
  4. 克隆项目
git clone https://github.com/lich0821/WeChatRobot.git

# 如果网络原因打不开,可以科学上网,或者使用gitee
git clone https://gitee.com/lch0821/WeChatRobot.git

如果觉得克隆复杂,也可以直接下载 最新版 到本地解压。

  1. 安装依赖
# 升级 pip
python -m pip install -U pip
# 安装必要依赖
pip install -r requirements.txt
# ChatGLM 还需要安装一个 kernel
ipython kernel install --name chatglm3 --user
  1. 运行

我们需要运行两次 main.py 第一次是生成配置文件 config.yaml, 第二次是真正跑你的机器人。 直接运行程序会自动拉起微信,如果微信未打开,会自动打开微信;如果版本不对,也会有提示;其他报错,请进群交流。

下面代码为第一次运行:第一次运行 main.py 会在 WeChatRobot 目录下生成一个 config.yaml 文件,参照修改配置进行修改。

其中 chatgpt、tigerbot、chatglm 和 xinghuo_web 是四种模型的配置信息,你需要配置它们的参数,不知道的可以加群交流。

python main.py

# 需要停止按 Ctrl+C

启动之后,可以正常接收消息但不会响应群消息。参考下方 修改配置 进行配置,以便响应特定群聊。

下面代码为第二次运行:你可以通过命令行参数选择模型,默认是不选择,这样你配置了什么参数就跑什么模型。正因如此你需要配置前面所说四种模型中的至少一种(当然也可以都配置,想跑那个模型就选什么参数), 然后就可以开始使用你的机器人了。

python main.py

# 需要停止按 Ctrl+C

如果你配置了多个模型(不需要将其他配置注释或者移除),下面的内容才对你有帮助否则略过,通过 python main.py -h 通过参数可以选择要跑的模型。

# 查看帮助
python main.py -h
#optional arguments:
#  -h, --help            show this help message and exit
#  -c C, --chat_model C  选择要使用的AI模型,默认不选择,可选参数:1. tigerbot 模型 2. chatgpt 模型 3. 讯飞星火模型 4. chatglm 模型
# 例: 我想运行选择chatgpt的机器人
python main.py -c 2

# 需要停止按 Ctrl+C

python main.py -c C 其中参数 C 可选择如下所示

  1. tigerbot 模型
  2. chatgpt 模型
  3. 讯飞星火模型
  4. chatglm 模型
  1. 停止

不要那么粗暴,温柔点儿;

不要直接关闭窗口,温柔点儿。

输入:Ctrl+C。否则,会出现各种奇怪问题。

修改配置

ℹ️ 修改配置后,需要重新启动,以便让配置生效。

配置文件 config.yaml 是运行程序后自动从模板复制过来的,功能默认关闭。

响应被 @ 消息

为了响应群聊消息,需要添加相应的 roomId

第一次运行的时候,可以在手机上往需要响应的群里发消息,打印的消息中方括号里的就是;多个群用 , 分隔。

groups:
  enable: [] # 允许响应的群 roomId,大概长这样:2xxxxxxxxx3@chatroom, 多个群用 `,` 分隔

配置 AI 模型

为了使用 AI 模型,需要对相应模型并进行配置。

使用 ChatGLM 见注意事项 README.MD

chatgpt:  # -----chatgpt配置这行不填-----
  key:  # 填写你 ChatGPT 的 key
  api: https://api.openai.com/v1  # 如果你不知道这是干嘛的,就不要改
  proxy:  # 如果你在国内,你可能需要魔法,大概长这样:http://域名或者IP地址:端口号
  prompt: 你是智能聊天机器人,你叫 wcferry  # 根据需要对角色进行设定

chatglm:  # -----chatglm配置这行不填-----
  key: sk-012345678901234567890123456789012345678901234567 # 这个应该不用动
  api: http://localhost:8000/v1  # 根据自己的chatglm地址修改
  proxy:  # 如果你在国内,你可能需要魔法,大概长这样:http://域名或者IP地址:端口号
  prompt: 你是智能聊天机器人,你叫小薇  # 根据需要对角色进行设定
  file_path: C:/Pictures/temp  #设定生成图片和代码使用的文件夹路径

tigerbot:  # -----tigerbot配置这行不填-----
  key:  # key
  model:  # tigerbot-7b-sft

# 抓取方式详见文档:https://www.bilibili.com/read/cv27066577
xinghuo_web:  # -----讯飞星火web模式api配置这行不填-----
  cookie:  # cookie
  fd:  # fd
  GtToken:  # GtToken
  prompt: 你是智能聊天机器人,你叫 wcferry。请用这个角色回答我的问题  # 根据需要对角色进行设定

bard: # -----bard配置这行不填-----
  api_key: # api-key 创建地址:https://ai.google.dev/pricing,创建后复制过来即可
  model_name: gemini-pro # 新模型上线后可以选择模型
  proxy: http://127.0.0.1:7890  # 如果你在国内,你可能需要魔法,大概长这样:http://域名或者IP地址:端口号
  # 提示词尽可能用英文,bard对中文提示词的效果不是很理想,下方提示词为英语老师的示例,请按实际需要修改,默认设置的提示词为谷歌创造的AI大语言模型
  # I want you to act as a spoken English teacher and improver. I will speak to you in English and you will reply to me in English to practice my spoken English. I want you to keep your reply neat, limiting the reply to 100 words. I want you to strictly correct my grammar mistakes, typos, and factual errors. I want you to ask me a question in your reply. Now let's start practicing, you could ask me a question first. Remember, I want you to strictly correct my grammar mistakes, typos, and factual errors.
  prompt: You am a large language model, trained by Google.

HTTP

如需要使用 HTTP 接口,请参考:

MIT License Copyright (c) 2022 Changhua Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

一个可以自定义的微信聊天机器人 展开 收起
Python
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/monoku/WeChatRobot.git
git@gitee.com:monoku/WeChatRobot.git
monoku
WeChatRobot
WeChatRobot
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891