Giter VIP home page Giter VIP logo

bot's Introduction

各种GPT的API接口对接QQ微信

1.QQ项目是基于:(go-cqhttp项目搭建),微信项目是基于( WeChatFerry ),响应接口由各种GPT的API接口回答
2.开发环境版本 Python:3.9,go-cqhttp:v1.0.0, WeChatFerry:39.0.6.0
3.如果你不懂开发环境安装,直接下载集成环境(下载地址),里面有64位系统运行程序,其他版本暂时不考虑提供。
4.setting_config.json 是项目的配置文件
5.QQ群:939531887

使用说明

一、 对接QQ

1. 先运行go-cqhttp程序,项目下载地址 该程序必须运行成功之后才可以进行下面的操作
2. 配置 setting_config.json 文件,说明文件在下方中

二、 对接微信

1. 运行之前先下载wcfhttp框架,该项目是基于python的,项目安装:python -m pip install wcfhttp
2. 电脑登录微信,微信版本目前仅支持3.9.2.xx,或高或低有可能导致wcfhttp框架运行失败,登录微信成功再进行下一步
3. 运行wcfhttp框架, 运行命令参考:wcfhttp --cb http://127.0.0.1:9988/weixin_bot_post
4. 配置 setting_config.json 文件,说明文件在下方中
注意:该框架目前仅允许微信版本3.9.2.xx版本,运行该框架之前需要确认微信版本是否正确且需要在电脑登录,因此只能在win系统中使用。微信web的api由于各种限制问题暂不考虑

三、 都对接

1. 对接qq(go-cqhttp)和对接微信程序(wcfhttp)运行成功后,再配置setting_config.json 文件
2.在配置文件中需要开启全部的对接
默认机器人是允许所有好友进行回复,详情设置请参考配置说明文件。
主配置说明:
键名 参考值 说明
name_api "xunfei_config" 类型为:字符,api接口名称,如果这里填写'name',下面api的配置名就是"name",注意键名不能重复
bot_chat_log true 类型为:布尔,是否将对话聊天记录写入日志,不启用不影响历史对话
bot_admin false 类型为:布尔,是否启用一些特殊功能,该功能暂未开发
qq_bot true 类型为:布尔,是否启动对接QQ,该项只在多线程项目有效
weixin_bot true 类型为:布尔,是否启动对接微信,该项只在多线程项目有效
web_bot false 类型为:布尔,是否启动对接网页,该项只在多线程项目有效
qq_config {} 类型为:字典,对接QQ的配置信息,详情见下方
weixin_config {} 类型为:字典,对接微信的配置信息,详情见下方
web_config {} 类型为:字典,对接WEB配置信息,详情见下方
cqhttp {} 类型为:字典,对接cqhttp的配置信息,详情见下方
wcfhttp {} 类型为:字典,对接wcfhttp的配置信息,详情见下方
xunfei_config {} 类型为:字典,对接讯飞API的配置信息,该项的键名可以被修改但要与name_api中的值相同,但数据内的键名不可修改,详情见下方
openai_config {} 类型为:字典,对接OpenAI官方API的配置信息,该项的键名可以被修改但要与name_api中的值相同,但数据内的键名不可修改,详情见下方
tyqw_config {} 类型为:字典,对接通义千问官方API的配置信息,该项的键名可以被修改但要与name_api中的值相同,但数据内的键名不可修改,详情见下方
qq_config说明
键名 参考值 说明
timeout_clear 3600 类型为:整型,单位:秒。在多少秒后未进行聊天便清空聊天记录,以免每次对话将对话历史代入
group_disabled false 类型为:布尔,如果启用,在Q群信息中@机器人仅允许 permit_group 中的账号进行回复
private_disabled false 类型为:布尔,如果启用,在私聊信息中,机器人仅允许 permit_group 中的账号进行回复
permit_group ['2956098898','QQ账号二','账号三'] 类型为:列表,如果上面开启仅允许部分进行回复,这里是可进行回复名单
weixin_config说明
键名 参考值 说明
timeout_clear 3600 类型为:整型,单位:秒。在多少秒后未进行聊天便清空聊天记录,以免每次对话将对话历史代入
group_disabled false 类型为:布尔,如果启用,在Q群信息中@机器人仅允许 permit_group 中的账号进行回复
private_disabled false 类型为:布尔,如果启用,在私聊信息中,机器人仅允许 permit_group 中的账号进行回复
permit_group ['wxid_ligxf2y1z3f712','微信wxid','账号三'] 类型为:列表,仅允许部分回复名单,获取微信id的方法之一就是打开微信聊天记录文件地址,看到wxid开头的文件夹就是
web_config说明
键名 参考值 说明
port 9999 类型为:整型,web启动的端口。
path '' 类型为:字符,聊天地址。默认为空,直接访问,如果添加字符串在访问时需要加上对应的地址。
streaming false 类型为:布尔,如果启用,GPT对接将以流式的方式返回,该功能未开发!
login false 类型为:布尔,如果启用,聊天对话之前需要进行登录,该功能未开发!
user_data [{"暂未使用,后期保留扩展处理": "admin"},{"账号": "密码"}] 类型为:列表,列表中的字典是登录的账号和密码,该功能未开发!
cqhttp说明
键名 参考值 说明
access_token "jiubanyipeng" 类型为:字符,go-cqhttp的访问秘钥,默认为空
cqhttp_url "127.0.0.1:8080" 类型为:字符,go-cqhttp的websocket连接地址,目前仅支持正向连接且仅支持ws协议
wcfhttp文件说明
键名 参考值 说明
weixin_url_port 9988 类型为:整型,程序对接wcfhttp时运行的端口,如:wcfhttp --cb http://127.0.0.1:9988/weixin_bot_post
weixin_url_path "weixin_bot_post" 类型为:字符,程序对接wcfhttp时接收的地址,如:wcfhttp --cb http://127.0.0.1:9988/weixin_bot_post
wcfhttp_url "http://127.0.0.1:9999" 类型为:字符,wcfhttp运行地址和端口,注意带上协议,默认运行的端口是9999端口
xunfei_config说明
键名 参考值 说明
appid "ag43fg5467" 类型为:字符,讯飞的appid
api_secret "fdhs54654gdf35547h" 类型为:字符,讯飞的api_secret
api_key "dfgda43534543gfsd" 类型为:字符,讯飞的api_key
model "general" 类型为:字符,讯飞的模型版本
url "ws://spark-api.xf-yun.com/v1.1/chat" 类型为:字符,讯飞的模型版本访问地址
max_tokens 4096 类型为数字,讯飞回复信息最大的长度
max_context 4096 类型为:整型,上下文对话的最大长度
temperature 0.5 类型为浮点,接口信息返回随机值
openai_config配置说明
键名 参考值 说明
api_key "fgdsgs546354dgjd" 类型为:字符,openai的api_key
model "text-davinci-003" 类型为:字符,openai的模型版本
url "https://api.chatgpt.com/v1/chat/completions" 类型为:字符,openai的api访问地址
max_tokens 8192 类型为:整型,回复最大的长度
max_context 4096 类型为:整型,上下文对话的最大长度
temperature 0.5 类型为:浮点,模糊回答值
tyqw_config配置说明
键名 参考值 说明
api_key "fgdsgs546354dgjd" 类型为:字符,通义千问的api_key
model "text-davinci-003" 类型为:字符,通义千问的模型版本
url "https://api.chatgpt.com/v1/chat/completions" 类型为:字符,通义千问的api访问地址
max_tokens 8192 类型为:整型,回复最大的长度
max_context 6000 类型为:整型,上下文对话的最大长度
temperature 0.5 类型为:浮点,模糊回答值

版本说明

3.2
1.添加阿里云的通义千问API接口
2.添加web客户端
3.修改token计算字符函数,为了兼容更多API接口,移动到各自的API中处理。
4.配置文件新增web客户端配置和通义千问API配置,添加上下文最大限制token以免错误
### 注意:该版本的程序与往期版本的配置文件不匹配,该版本的配置文件与往期通用,请更新配置文件
3.1 新增对接微信接口

修改架构,支持多线程,预留新增web框架接口

修改日志格式,运行文件分离,预留帮助文档,预留工具模块

3.0 全新版本,移除旧版本的程序,重新定义和配置文件对接QQ模块
支持自定义讯飞和openai的接口,后期需要添加在更新
修改和添加账号权限验证的问题
自定义最大的对话长度和是否写入对话日志
qq账号对话时间清除
支持多个账号同时对话以及在Q群对话的区分,优化程序速度

未完成功能:

支持自定义指令(如:更新配置文件,添加允许账号等)
支持文件上传并解析
全局代理(目前仅支持第三方代理对应的api接口,本地去访问代理的)
并发限制
语音输入、文件生成、文件内容解析等GPT4版本高级功能
......
2.1 openai_config.json文件新增几个参数给2.1版本支持。同时,考虑到有些代理跟项目中请求的地址是不一致的,因此在2.1的配置文件中需要自行添加地址。
2.0 仅支持对话,可连续对话,对话数据在交换成功后写入本地文件中,文件的生成是根据本地年月日+qq号生成的文件,存在当天会话数过多的可能且存在今天跟明天没有进行连续的问题。
1.0 仅支持单个聊天,适用于图片、询问等单次回答


基本功能已经完成,但很多测试没有进行,如有问题请发我邮件或进群询问!

QQ群:939531887

bot's People

Contributors

jiubanyipeng avatar jiubanyipeng1 avatar

Stargazers

zhaozh avatar  avatar  avatar  avatar ウメとタク avatar GG.咕咕 avatar OnlyAIGC avatar Changhua avatar 青柠 avatar

Watchers

Kostas Georgiou avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.