Files
OpenCode 68a9071cf1 feat: reconcile local master with origin (exa/hot-platform hunters, leaks ledger, latest results)
Local branch had diverged from origin/master (sibling commits on the same base). Rewrote local history linearly on top of origin/master, folding in all local content: exa/hot-platform discovery hunters, leaks ledger, nightly sweep orchestrator, updated .gitignore and skill docs, plus the latest hunt output and vault state. Remote-only files (vault keys, channel scripts) were restored rather than dropped, so the resulting tree is a full union of both sides.
2026-08-07 12:53:47 +08:00

1 line
58 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{"repo": "aimang2002/kleinbot", "files": {"README.md": {"92279c454d03388326b0be0ae71188ff53561b45": {"t": 1785674072.762707, "n": 10516, "h": "221f6fb261ee59e0", "c": "<p align=\"center\">\n <a >\n <img src=\"https://github.com/Aimang2002/mySource/blob/main/picture/anime/output.png?raw=true\" width=\"200\" height=\"200\" alt=\"go-cqhttp\">\n </a>\n</p><br>\n\n\n\n<div style=\"text-align: center;color: #7E926E; monospace;\">\n <h1>克莱茵QQ机器人</h1>\n <p style=\"font-style: italic;color: #000;\">\n 基于C/C++开发的QQ机器人\n </p>\n <br>\n\n\n <p>\n\n# 项目介绍\n\n\n克莱茵QQ机器人(下面统称<font color=\"green\" >Klein</font>)是基于C/C++开发的QQ机器人,用于调用各大厂商的LLM(大语言模型)API和部分优秀的开源项目(详细见下)。\n\n\n\n> 最新版本:v2.4.0 开发中\n\n\n\n# 运行\n\n目前Klein支持的平台有:\n\n+ Linux\n+ Windows\n\n\n\n# 第三方库\n\n该项目使用的第三方库为:\n\n[curl](https://github.com/curl/curl)\n\n[Boost](https://github.com/boostorg/boost)\n\n[nlohmann/json](https://github.com/nlohmann/json)\n\n> nlohmann/json源码已经嵌入到项目中\n\n\n\n\n\n\n\n# 编译\n\n> 提示:<font color=\"orange\">该步骤用于对其他开发者提供介绍,如果没有定制化需求,可跳过该步骤。</font>\n\n\n\n## 1.Windows平台\n\n~~~bash\ngit clone https://github.com/Aimang2002/KleinBot.git\ncd KLineBot\nmkdir build && cd build\ncmake .. -G \"MinGW Makefiles\"\nmake\n~~~\n\n> 在Windows平台下,我们建议使用minGW进行编译,CMakeLists文件中链接的boost库和curl库改成自己的位置。\n>\n> Windows平台下需要准备证书,点击[此处](https://curl.se/docs/caextract.html)下载证书,并存放到可执行文件的目录下。\n\n\n\n## 2.Linux平台\n\n~~~bash\ngit clone https://github.com/Aimang2002/KleinBot.git\ncd KLineBot\nmkdir build && cd build\ncmake ..\nmake\n~~~\n\n\n\n## 3.资源\n\n+ 资源文件可在[releases](https://github.com/Aimang2002/KleinBot/releases)下载。\n\n\n\n\n\n# 兼容性\n\nKlein没有实现协议端,本身并不会直接对接QQ,而是对接第三方插件的方式。内部使用CQ码发送内容,所以只要支持发送CQ码的QQ插件,Klein就能够跟该插件实现对接。Klein在测试时采用的QQ插件为[LLOneBot](https://github.com/LLOneBot/LLOneBot),如果找不到其他更好的QQ插件,可采用LLOneBot。\n\n\n\n\n\n## 1.QQ API 支持\n\n| API | 功能 |\n| :--------------: | :----------: |\n| send_group_msg | 发送群聊消息 |\n| send_private_msg | 发送私聊消息 |\n\n\n\n\n\n## 2.连接方式\n\n| 连接方式 | 是否可用 |\n| :-----------: | :-----------------------------: |\n| 正向WebSocket | <font color=\"gree\">可用</font> |\n| 反向WebSocket | <font color=\"gree\">可用</font> |\n| HTTP API | <font color=\"red\">不可用</font> |\n| 反向HTTP POST | <font color=\"red\">不可用</font> |\n\n\n\n\n\n# 功能\n\n| 功能 | 是否支持 | 备注 |\n| :------: | :-------------------------: | :--------------: |\n| 群聊回复 | <font color=\"gree\">√</font> | 需要@ |\n| 私聊回复 | <font color=\"gree\">√</font> | 无特殊需求 |\n| 图片发送 | <font color=\"gree\">√</font> | 需对接大模型 |\n| 语音发送 | <font color=\"gree\">√</font> | 需对接GPT-SoVIST |\n| 图片分析 | <font color=\"gree\">√</font> | 需对接大模型 |\n\n\n\n\n\n# 内置命令\n\n内置命令全部以”#“开头,主要用于控制机器人的一系列行为,以下为Klein内置的命令:\n\n\n\n## 1.公有命令\n\n| 命令 | 命令描述 | 实例 |\n| :-----------: | :----------------------------------------------------------: | ------------------------------------------------------------ |\n| #帮助 | 向发送者介绍操作命令 | #帮助 |\n| #歌曲推荐 | 随机推荐一首来自网易云平台的歌曲给发送者 | #歌曲推荐 |\n| #轻量型人格 | 可指定内置的轻量型人格。 | #轻量型人格:xxx |\n| #设置人格 | 可使用内置的人格 | #设置人格:XXX |\n| #人格还原 | 将之前的人格消除,转为默认人格 | #人格还原 |\n| #话题 | 可引导Klein发送的内容 | #话题:跟我来一场辩论 |\n| #重置对话 | 删除所有上下问聊天,包括之前设置的人格 | #重置对话 |\n| #设置定时 | 可设置提醒,到点时Klein将发送信息给你。 | “#设置定时:2024年8月2日18:10/提醒的内容\"(设置的时间必须大于当前时间) |\n| #切换模型 | 根据载入的模型名称,切换各大语言模型 | #切换模型:gpt-3.5-turbo |\n| #查询当前模型 | 查询当前Kline正在调用的模型 | #查询当前模型 |\n| #开启语音 | 该功能将文字转语音,开启语音回复(<font color=\"orange\">需要启动开源项目GPT-SoVIST</font>) | #开启语音 |\n| #搜歌 | 将歌曲名追加到后面,机器人会返回搜索结果(目前只支持网易云音乐) | #搜歌:rubia |\n| #模型列表 | 将列举出当前Bot支持的大语言模型 | #模型列表 |\n\n\n\n\n\n## 2.私有命令\n\n所谓私有命令,既是只有管理员用户才能使用的命令,普通用户发送管理员命令将会被无视\n\n| 命令 | 命令描述 | 示例 |\n| :----------------: | :--------------------------------------------: | :----------------: |\n| #开启无障碍聊天 | 所有用户对接的大模型都将会使用上下文的方式聊天 | #开启无障碍聊天 |\n| #关闭无障碍聊天 | 取消非管理员用户的上下文聊天 | #关闭无障碍聊天 |\n| #刷新配置文件 | 对配置文件的重新载入 | #刷新配置文件 |\n| #激活语音 | 允许所有用户使用语音回复 | #激活语音 |\n| #冻结语音 | 所有用户不允许使用语音回复 | #冻结语音 |\n| \\#获取服务器inet4 | 获取当前本机的所有IPv4地址 | \\#获取服务器inet4 |\n| \\#获取服务器inet6 | 获取当前本机的所有IPv6地址 | \\#获取服务器inet6 |\n| \\#获取服务器公网IP | 获取当前本机的公网IP | \\#获取服务器公网IP |\n\n\n\n\n\n## 3.其他命令\n\n除了以上命令,还有一个命令较为特殊,它没有任何的操作方式,而是在发送图片的时候自动激活,届时Klein将会对接视觉模型,然后返回分析结果。\n\n\n\n# 适配的大模型API SDK\n\n| 平台 | 是否支持 |\n| :----: | :-------------------------: |\n| OpenAI | <font color=\"gree\">√</font> |\n| Google | <font color=\"red\">×</font> |\n| Azure | <font color=\"red\">×</font> |\n\nPS:以上只是列举一些大模型平台,有一些本地模型推理软件(LM Studio、RWKV-Running)它的接口规范采用的时OpenAI SDK,所以这些API也是能连接的,这些没有指定平台的模型其中的API参数在配置文件中填到“OtherChatModel”中。\n\n\n\n# 适配的开源项目\n\n开源项目的使用方式为API调用和服务器内部运行两种方式,适配的项目有:\n\n[Stable Diffusion ]()\n\n[GPT-SoVIST ](https://github.com/RVC-Boss/GPT-SoVITS)\n\n[Real-ESRGAN](https://github.com/xinntao/Real-ESRGAN)\n\n\n\n\n\n# 配置文件\n\n下面是对配置文件的参数进行解释:\n\n| 参数名 | 参数描述 |\n| ----------------------------- | --------------------------------------------------- |\n| CONTEXT_MAX | 上下文最大token数,取值范围建议在1000~99999 |\n| MODEL_SIGLE_TOKEN_MAX | 单次发送给模型的最大token数,取值范围建议在100~4999 |\n| GLOBAL_VOICE | 是否开启语音推理(true/false) |\n| ACCESSIBLITY_CHAT | 是否开启无障碍聊天(true/false) |\n| CONFIG_VERSION | 配置文件版本 |\n| GROUP_API | 通常来说不建议对其更改 |\n| PRIVATE_API | 通常来说不建议对其更改 |\n| QBOT_NAME | 机器人名称,可自定义 |\n| OPEN_GROUPCHAT_MESSAGE | 是否开启群聊(true/false) |\n| MANAGER_QQ | 管理员QQ |\n| BOT_QQ | 机器人QQ |\n| WEBSOCKET_MESSAGE_IP | 正向WS IP地址 |\n| WEBSOCKET_MESSAGE_PORT | 正向WS 端口 |\n| REVERSEWEBSOCKET_MESSAGE_IP | 反向WS IP地址 |\n| REVERSEWEBSOCKET_MESSAGE_PORT | 反向WS 端口 |\n| WYY_SONGID_PATH | 网易云音乐ID文件路径 |\n| HELP_PATH | #帮助 文本文件路径 |\n| HELP_PERSONALITY_PATH | #人格帮助 文本文件路径 |\n| PERSONALITY_PATH | 人格目录路径 |\n| CHATMODELS_PATH | 模型名称注册路径 |\n| temperature | ”温度“超参数,默认为1 |\n| top_p | 核抽样,默认为1 |\n| frequency_penalty | 频率惩罚,默认为0 |\n| presence_penalty | 存在惩罚,默认为0 |\n| MESSAGE_SURVIVAL_TIME | 上下文存活时间,单位是秒 |\n| IMAGE_DOWNLOAD_PATH | 图片下载存放路径,图片分析时需要用到 |\n| XXX_MODEL_API_KEY | 请求模型的API KEY |\n| XXX_MODEL_ENDPOINT | 请求模型的请求端点 |\n| XXX_DEFAULT_MODEL | 请求的模型 |\n| XXX_MODEL_APISTANDARD | 模型使用的API规范 |\n| STABLEDIFFUSION_ENDPOINT | Stable Diffusion 的请求端点 |\n| DEFAULT_MODEL | Stable Diffusion 的默认模型,目前不填 |\n| VIST_API_URL | GPT-SoVIST API的IP |\n| VIST_API_PORT | GPT-SoVIST API的端口 |\n| VIST_REFERVOICE_PATH | GPT-SoVIST 的参考音频 |\n| VIST_REFERVOICE_TEXT | GPT-SoVIST 的参考音频文本 |\n| VIST_FILE_SAVE_PATH | GPT-SoVIST 推理后音频文件存放的位置 |\n| REALESGAN_PATH | REALESGAN项目的路径 |\n| REALESGAN_MODEL | REALESGAN使用的修复模型 |\n| IMAGE_DOWNLOAD_PATH | 图片下载后的位置(供REALESGAN使用) |\n\n\n\n\n\n# source目录介绍\n\n+ help\n\n + 存放着”#帮助“的文本。\n\n+ image\n\n + 无。\n\n+ Model\n\n + 存放模型名称的文件,可以在里面声明各种模型名称,分别在里面声明模型名称和模型厂商(使用的API规范),如下:\n\n ~~~json\n {\n \"Models\": [\n {\n \"ModelName\": [\n \"gpt-4\",\n \"gpt-4o\",\n \"o1-preview\"\n ],\n \"api_key\": \"sk-\",\n \"api_endpoint\": \"https://api.xxx.com/v1/chat/completions\",\n \"APIStandard\": \"OpenAI\"\n },\n {\n \"name\": [\n \"deepseek-chat\",\n \"deepseek-reasoner\",\n \"deepseek-coder\"\n ],\n \"api_key\": \"sk-xxx\",\n \"api_endpoint\": \"https://api.xxx.com/v1/chat/completions\",\n \"APIStandard\": \"OpenAI\"\n }\n ... 在此处添加其他模型,方式请遵循上面的格式\n ]\n }\n ~~~\n \n 以api_key为一组,在改组内,所有的模型将会使用改组的api_key和endpoint。\n \n \n\n+ personality\n\n + 存储着各种人格文件,其中默认存在“personality.txt”。其他人格文件的编写规范如下:\n\n ~~~\n Rersonality:{人格描述}\n \n Temperture:{1}\n \n Top_p:{1}\n \n Frequency_penalty:{0}\n \n Presence_penalty:{0}\n ~~~\n\n 需务必遵守。人格文件可以无限增加,可以添加各种人格,并且调整超参数,但需要注意的是,超参数的调整必须在了解的情况下,否则请使用默认值。\n\n+ Song\n\n + 存储网易云音乐ID的文件夹\n\n+ voice\n\n + 无\n\n\n\n\n\n\n\n# 鸣谢\n\n+ [nlohmann/json](https://github.com/nlohmann/json)\n+ [Boost](https://github.com/boostorg/boost)\n+ [curl](https://curl.se/)\n"}, "bdfb41f56dce3a63192c579d7b27ddb3cb1c2859": {"t": 1785764492.9861326, "n": 10516, "h": "221f6fb261ee59e0", "c": "<p align=\"center\">\n <a >\n <img src=\"https://github.com/Aimang2002/mySource/blob/main/picture/anime/output.png?raw=true\" width=\"200\" height=\"200\" alt=\"go-cqhttp\">\n </a>\n</p><br>\n\n\n\n<div style=\"text-align: center;color: #7E926E; monospace;\">\n <h1>克莱茵QQ机器人</h1>\n <p style=\"font-style: italic;color: #000;\">\n 基于C/C++开发的QQ机器人\n </p>\n <br>\n\n\n <p>\n\n# 项目介绍\n\n\n克莱茵QQ机器人(下面统称<font color=\"green\" >Klein</font>)是基于C/C++开发的QQ机器人,用于调用各大厂商的LLM(大语言模型)API和部分优秀的开源项目(详细见下)。\n\n\n\n> 最新版本:v2.4.0 开发中\n\n\n\n# 运行\n\n目前Klein支持的平台有:\n\n+ Linux\n+ Windows\n\n\n\n# 第三方库\n\n该项目使用的第三方库为:\n\n[curl](https://github.com/curl/curl)\n\n[Boost](https://github.com/boostorg/boost)\n\n[nlohmann/json](https://github.com/nlohmann/json)\n\n> nlohmann/json源码已经嵌入到项目中\n\n\n\n\n\n\n\n# 编译\n\n> 提示:<font color=\"orange\">该步骤用于对其他开发者提供介绍,如果没有定制化需求,可跳过该步骤。</font>\n\n\n\n## 1.Windows平台\n\n~~~bash\ngit clone https://github.com/Aimang2002/KleinBot.git\ncd KLineBot\nmkdir build && cd build\ncmake .. -G \"MinGW Makefiles\"\nmake\n~~~\n\n> 在Windows平台下,我们建议使用minGW进行编译,CMakeLists文件中链接的boost库和curl库改成自己的位置。\n>\n> Windows平台下需要准备证书,点击[此处](https://curl.se/docs/caextract.html)下载证书,并存放到可执行文件的目录下。\n\n\n\n## 2.Linux平台\n\n~~~bash\ngit clone https://github.com/Aimang2002/KleinBot.git\ncd KLineBot\nmkdir build && cd build\ncmake ..\nmake\n~~~\n\n\n\n## 3.资源\n\n+ 资源文件可在[releases](https://github.com/Aimang2002/KleinBot/releases)下载。\n\n\n\n\n\n# 兼容性\n\nKlein没有实现协议端,本身并不会直接对接QQ,而是对接第三方插件的方式。内部使用CQ码发送内容,所以只要支持发送CQ码的QQ插件,Klein就能够跟该插件实现对接。Klein在测试时采用的QQ插件为[LLOneBot](https://github.com/LLOneBot/LLOneBot),如果找不到其他更好的QQ插件,可采用LLOneBot。\n\n\n\n\n\n## 1.QQ API 支持\n\n| API | 功能 |\n| :--------------: | :----------: |\n| send_group_msg | 发送群聊消息 |\n| send_private_msg | 发送私聊消息 |\n\n\n\n\n\n## 2.连接方式\n\n| 连接方式 | 是否可用 |\n| :-----------: | :-----------------------------: |\n| 正向WebSocket | <font color=\"gree\">可用</font> |\n| 反向WebSocket | <font color=\"gree\">可用</font> |\n| HTTP API | <font color=\"red\">不可用</font> |\n| 反向HTTP POST | <font color=\"red\">不可用</font> |\n\n\n\n\n\n# 功能\n\n| 功能 | 是否支持 | 备注 |\n| :------: | :-------------------------: | :--------------: |\n| 群聊回复 | <font color=\"gree\">√</font> | 需要@ |\n| 私聊回复 | <font color=\"gree\">√</font> | 无特殊需求 |\n| 图片发送 | <font color=\"gree\">√</font> | 需对接大模型 |\n| 语音发送 | <font color=\"gree\">√</font> | 需对接GPT-SoVIST |\n| 图片分析 | <font color=\"gree\">√</font> | 需对接大模型 |\n\n\n\n\n\n# 内置命令\n\n内置命令全部以”#“开头,主要用于控制机器人的一系列行为,以下为Klein内置的命令:\n\n\n\n## 1.公有命令\n\n| 命令 | 命令描述 | 实例 |\n| :-----------: | :----------------------------------------------------------: | ------------------------------------------------------------ |\n| #帮助 | 向发送者介绍操作命令 | #帮助 |\n| #歌曲推荐 | 随机推荐一首来自网易云平台的歌曲给发送者 | #歌曲推荐 |\n| #轻量型人格 | 可指定内置的轻量型人格。 | #轻量型人格:xxx |\n| #设置人格 | 可使用内置的人格 | #设置人格:XXX |\n| #人格还原 | 将之前的人格消除,转为默认人格 | #人格还原 |\n| #话题 | 可引导Klein发送的内容 | #话题:跟我来一场辩论 |\n| #重置对话 | 删除所有上下问聊天,包括之前设置的人格 | #重置对话 |\n| #设置定时 | 可设置提醒,到点时Klein将发送信息给你。 | “#设置定时:2024年8月2日18:10/提醒的内容\"(设置的时间必须大于当前时间) |\n| #切换模型 | 根据载入的模型名称,切换各大语言模型 | #切换模型:gpt-3.5-turbo |\n| #查询当前模型 | 查询当前Kline正在调用的模型 | #查询当前模型 |\n| #开启语音 | 该功能将文字转语音,开启语音回复(<font color=\"orange\">需要启动开源项目GPT-SoVIST</font>) | #开启语音 |\n| #搜歌 | 将歌曲名追加到后面,机器人会返回搜索结果(目前只支持网易云音乐) | #搜歌:rubia |\n| #模型列表 | 将列举出当前Bot支持的大语言模型 | #模型列表 |\n\n\n\n\n\n## 2.私有命令\n\n所谓私有命令,既是只有管理员用户才能使用的命令,普通用户发送管理员命令将会被无视\n\n| 命令 | 命令描述 | 示例 |\n| :----------------: | :--------------------------------------------: | :----------------: |\n| #开启无障碍聊天 | 所有用户对接的大模型都将会使用上下文的方式聊天 | #开启无障碍聊天 |\n| #关闭无障碍聊天 | 取消非管理员用户的上下文聊天 | #关闭无障碍聊天 |\n| #刷新配置文件 | 对配置文件的重新载入 | #刷新配置文件 |\n| #激活语音 | 允许所有用户使用语音回复 | #激活语音 |\n| #冻结语音 | 所有用户不允许使用语音回复 | #冻结语音 |\n| \\#获取服务器inet4 | 获取当前本机的所有IPv4地址 | \\#获取服务器inet4 |\n| \\#获取服务器inet6 | 获取当前本机的所有IPv6地址 | \\#获取服务器inet6 |\n| \\#获取服务器公网IP | 获取当前本机的公网IP | \\#获取服务器公网IP |\n\n\n\n\n\n## 3.其他命令\n\n除了以上命令,还有一个命令较为特殊,它没有任何的操作方式,而是在发送图片的时候自动激活,届时Klein将会对接视觉模型,然后返回分析结果。\n\n\n\n# 适配的大模型API SDK\n\n| 平台 | 是否支持 |\n| :----: | :-------------------------: |\n| OpenAI | <font color=\"gree\">√</font> |\n| Google | <font color=\"red\">×</font> |\n| Azure | <font color=\"red\">×</font> |\n\nPS:以上只是列举一些大模型平台,有一些本地模型推理软件(LM Studio、RWKV-Running)它的接口规范采用的时OpenAI SDK,所以这些API也是能连接的,这些没有指定平台的模型其中的API参数在配置文件中填到“OtherChatModel”中。\n\n\n\n# 适配的开源项目\n\n开源项目的使用方式为API调用和服务器内部运行两种方式,适配的项目有:\n\n[Stable Diffusion ]()\n\n[GPT-SoVIST ](https://github.com/RVC-Boss/GPT-SoVITS)\n\n[Real-ESRGAN](https://github.com/xinntao/Real-ESRGAN)\n\n\n\n\n\n# 配置文件\n\n下面是对配置文件的参数进行解释:\n\n| 参数名 | 参数描述 |\n| ----------------------------- | --------------------------------------------------- |\n| CONTEXT_MAX | 上下文最大token数,取值范围建议在1000~99999 |\n| MODEL_SIGLE_TOKEN_MAX | 单次发送给模型的最大token数,取值范围建议在100~4999 |\n| GLOBAL_VOICE | 是否开启语音推理(true/false) |\n| ACCESSIBLITY_CHAT | 是否开启无障碍聊天(true/false) |\n| CONFIG_VERSION | 配置文件版本 |\n| GROUP_API | 通常来说不建议对其更改 |\n| PRIVATE_API | 通常来说不建议对其更改 |\n| QBOT_NAME | 机器人名称,可自定义 |\n| OPEN_GROUPCHAT_MESSAGE | 是否开启群聊(true/false) |\n| MANAGER_QQ | 管理员QQ |\n| BOT_QQ | 机器人QQ |\n| WEBSOCKET_MESSAGE_IP | 正向WS IP地址 |\n| WEBSOCKET_MESSAGE_PORT | 正向WS 端口 |\n| REVERSEWEBSOCKET_MESSAGE_IP | 反向WS IP地址 |\n| REVERSEWEBSOCKET_MESSAGE_PORT | 反向WS 端口 |\n| WYY_SONGID_PATH | 网易云音乐ID文件路径 |\n| HELP_PATH | #帮助 文本文件路径 |\n| HELP_PERSONALITY_PATH | #人格帮助 文本文件路径 |\n| PERSONALITY_PATH | 人格目录路径 |\n| CHATMODELS_PATH | 模型名称注册路径 |\n| temperature | ”温度“超参数,默认为1 |\n| top_p | 核抽样,默认为1 |\n| frequency_penalty | 频率惩罚,默认为0 |\n| presence_penalty | 存在惩罚,默认为0 |\n| MESSAGE_SURVIVAL_TIME | 上下文存活时间,单位是秒 |\n| IMAGE_DOWNLOAD_PATH | 图片下载存放路径,图片分析时需要用到 |\n| XXX_MODEL_API_KEY | 请求模型的API KEY |\n| XXX_MODEL_ENDPOINT | 请求模型的请求端点 |\n| XXX_DEFAULT_MODEL | 请求的模型 |\n| XXX_MODEL_APISTANDARD | 模型使用的API规范 |\n| STABLEDIFFUSION_ENDPOINT | Stable Diffusion 的请求端点 |\n| DEFAULT_MODEL | Stable Diffusion 的默认模型,目前不填 |\n| VIST_API_URL | GPT-SoVIST API的IP |\n| VIST_API_PORT | GPT-SoVIST API的端口 |\n| VIST_REFERVOICE_PATH | GPT-SoVIST 的参考音频 |\n| VIST_REFERVOICE_TEXT | GPT-SoVIST 的参考音频文本 |\n| VIST_FILE_SAVE_PATH | GPT-SoVIST 推理后音频文件存放的位置 |\n| REALESGAN_PATH | REALESGAN项目的路径 |\n| REALESGAN_MODEL | REALESGAN使用的修复模型 |\n| IMAGE_DOWNLOAD_PATH | 图片下载后的位置(供REALESGAN使用) |\n\n\n\n\n\n# source目录介绍\n\n+ help\n\n + 存放着”#帮助“的文本。\n\n+ image\n\n + 无。\n\n+ Model\n\n + 存放模型名称的文件,可以在里面声明各种模型名称,分别在里面声明模型名称和模型厂商(使用的API规范),如下:\n\n ~~~json\n {\n \"Models\": [\n {\n \"ModelName\": [\n \"gpt-4\",\n \"gpt-4o\",\n \"o1-preview\"\n ],\n \"api_key\": \"sk-\",\n \"api_endpoint\": \"https://api.xxx.com/v1/chat/completions\",\n \"APIStandard\": \"OpenAI\"\n },\n {\n \"name\": [\n \"deepseek-chat\",\n \"deepseek-reasoner\",\n \"deepseek-coder\"\n ],\n \"api_key\": \"sk-xxx\",\n \"api_endpoint\": \"https://api.xxx.com/v1/chat/completions\",\n \"APIStandard\": \"OpenAI\"\n }\n ... 在此处添加其他模型,方式请遵循上面的格式\n ]\n }\n ~~~\n \n 以api_key为一组,在改组内,所有的模型将会使用改组的api_key和endpoint。\n \n \n\n+ personality\n\n + 存储着各种人格文件,其中默认存在“personality.txt”。其他人格文件的编写规范如下:\n\n ~~~\n Rersonality:{人格描述}\n \n Temperture:{1}\n \n Top_p:{1}\n \n Frequency_penalty:{0}\n \n Presence_penalty:{0}\n ~~~\n\n 需务必遵守。人格文件可以无限增加,可以添加各种人格,并且调整超参数,但需要注意的是,超参数的调整必须在了解的情况下,否则请使用默认值。\n\n+ Song\n\n + 存储网易云音乐ID的文件夹\n\n+ voice\n\n + 无\n\n\n\n\n\n\n\n# 鸣谢\n\n+ [nlohmann/json](https://github.com/nlohmann/json)\n+ [Boost](https://github.com/boostorg/boost)\n+ [curl](https://curl.se/)\n"}, "73fa771ba018f7c660d243e2105d21e3b1026626": {"t": 1785764494.5419996, "n": 10508, "h": "0311a98b9bb6072e", "c": "<p align=\"center\">\n <a >\n <img src=\"https://github.com/Aimang2002/mySource/blob/main/picture/anime/output.png?raw=true\" width=\"200\" height=\"200\" alt=\"go-cqhttp\">\n </a>\n</p><br>\n\n\n\n<div style=\"text-align: center;color: #7E926E; monospace;\">\n <h1>克莱茵QQ机器人</h1>\n <p style=\"font-style: italic;color: #000;\">\n 基于C/C++开发的QQ机器人\n </p>\n <br>\n\n\n <p>\n\n# 项目介绍\n\n\n克莱茵QQ机器人(下面统称<font color=\"green\" >Klein</font>)是基于C/C++开发的QQ机器人,用于调用各大厂商的LLM(大语言模型)API和部分优秀的开源项目(详细见下)。\n\n\n\n> 最新版本:v2.3.4\n\n\n\n# 运行\n\n目前Klein支持的平台有:\n\n+ Linux\n+ Windows\n\n\n\n# 第三方库\n\n该项目使用的第三方库为:\n\n[curl](https://github.com/curl/curl)\n\n[Boost](https://github.com/boostorg/boost)\n\n[rapidJSON](https://github.com/Tencent/rapidjson)\n\n> rapidJSON源码已经嵌入到项目中\n\n\n\n\n\n\n\n# 编译\n\n> 提示:<font color=\"orange\">该步骤用于对其他开发者提供介绍,如果没有定制化需求,可跳过该步骤。</font>\n\n\n\n## 1.Windows平台\n\n~~~bash\ngit clone https://github.com/Aimang2002/KleinBot.git\ncd KLineBot\nmkdir build && cd build\ncmake .. -G \"MinGW Makefiles\"\nmake\n~~~\n\n> 在Windows平台下,我们建议使用minGW进行编译,CMakeLists文件中链接的boost库和curl库改成自己的位置。\n>\n> Windows平台下需要准备证书,点击[此处](https://curl.se/docs/caextract.html)下载证书,并存放到可执行文件的目录下。\n\n\n\n## 2.Linux平台\n\n~~~bash\ngit clone https://github.com/Aimang2002/KleinBot.git\ncd KLineBot\nmkdir build && cd build\ncmake ..\nmake\n~~~\n\n\n\n## 3.资源\n\n+ 资源文件可在[releases](https://github.com/Aimang2002/KleinBot/releases)下载。\n\n\n\n\n\n# 兼容性\n\nKlein没有实现协议端,本身并不会直接对接QQ,而是对接第三方插件的方式。内部使用CQ码发送内容,所以只要支持发送CQ码的QQ插件,Klein就能够跟该插件实现对接。Klein在测试时采用的QQ插件为[LLOneBot](https://github.com/LLOneBot/LLOneBot),如果找不到其他更好的QQ插件,可采用LLOneBot。\n\n\n\n\n\n## 1.QQ API 支持\n\n| API | 功能 |\n| :--------------: | :----------: |\n| send_group_msg | 发送群聊消息 |\n| send_private_msg | 发送私聊消息 |\n\n\n\n\n\n## 2.连接方式\n\n| 连接方式 | 是否可用 |\n| :-----------: | :-----------------------------: |\n| 正向WebSocket | <font color=\"gree\">可用</font> |\n| 反向WebSocket | <font color=\"gree\">可用</font> |\n| HTTP API | <font color=\"red\">不可用</font> |\n| 反向HTTP POST | <font color=\"red\">不可用</font> |\n\n\n\n\n\n# 功能\n\n| 功能 | 是否支持 | 备注 |\n| :------: | :-------------------------: | :--------------: |\n| 群聊回复 | <font color=\"gree\">√</font> | 需要@ |\n| 私聊回复 | <font color=\"gree\">√</font> | 无特殊需求 |\n| 图片发送 | <font color=\"gree\">√</font> | 需对接大模型 |\n| 语音发送 | <font color=\"gree\">√</font> | 需对接GPT-SoVIST |\n| 图片分析 | <font color=\"gree\">√</font> | 需对接大模型 |\n\n\n\n\n\n# 内置命令\n\n内置命令全部以”#“开头,主要用于控制机器人的一系列行为,以下为Klein内置的命令:\n\n\n\n## 1.公有命令\n\n| 命令 | 命令描述 | 实例 |\n| :-----------: | :----------------------------------------------------------: | ------------------------------------------------------------ |\n| #帮助 | 向发送者介绍操作命令 | #帮助 |\n| #歌曲推荐 | 随机推荐一首来自网易云平台的歌曲给发送者 | #歌曲推荐 |\n| #轻量型人格 | 可指定内置的轻量型人格。 | #轻量型人格:xxx |\n| #设置人格 | 可使用内置的人格 | #设置人格:XXX |\n| #人格还原 | 将之前的人格消除,转为默认人格 | #人格还原 |\n| #话题 | 可引导Klein发送的内容 | #话题:跟我来一场辩论 |\n| #重置对话 | 删除所有上下问聊天,包括之前设置的人格 | #重置对话 |\n| #设置定时 | 可设置提醒,到点时Klein将发送信息给你。 | “#设置定时:2024年8月2日18:10/提醒的内容\"(设置的时间必须大于当前时间) |\n| #切换模型 | 根据载入的模型名称,切换各大语言模型 | #切换模型:gpt-3.5-turbo |\n| #查询当前模型 | 查询当前Kline正在调用的模型 | #查询当前模型 |\n| #开启语音 | 该功能将文字转语音,开启语音回复(<font color=\"orange\">需要启动开源项目GPT-SoVIST</font>) | #开启语音 |\n| #搜歌 | 将歌曲名追加到后面,机器人会返回搜索结果(目前只支持网易云音乐) | #搜歌:rubia |\n| #模型列表 | 将列举出当前Bot支持的大语言模型 | #模型列表 |\n\n\n\n\n\n## 2.私有命令\n\n所谓私有命令,既是只有管理员用户才能使用的命令,普通用户发送管理员命令将会被无视\n\n| 命令 | 命令描述 | 示例 |\n| :----------------: | :--------------------------------------------: | :----------------: |\n| #开启无障碍聊天 | 所有用户对接的大模型都将会使用上下文的方式聊天 | #开启无障碍聊天 |\n| #关闭无障碍聊天 | 取消非管理员用户的上下文聊天 | #关闭无障碍聊天 |\n| #刷新配置文件 | 对配置文件的重新载入 | #刷新配置文件 |\n| #激活语音 | 允许所有用户使用语音回复 | #激活语音 |\n| #冻结语音 | 所有用户不允许使用语音回复 | #冻结语音 |\n| \\#获取服务器inet4 | 获取当前本机的所有IPv4地址 | \\#获取服务器inet4 |\n| \\#获取服务器inet6 | 获取当前本机的所有IPv6地址 | \\#获取服务器inet6 |\n| \\#获取服务器公网IP | 获取当前本机的公网IP | \\#获取服务器公网IP |\n\n\n\n\n\n## 3.其他命令\n\n除了以上命令,还有一个命令较为特殊,它没有任何的操作方式,而是在发送图片的时候自动激活,届时Klein将会对接视觉模型,然后返回分析结果。\n\n\n\n# 适配的大模型API SDK\n\n| 平台 | 是否支持 |\n| :----: | :-------------------------: |\n| OpenAI | <font color=\"gree\">√</font> |\n| Google | <font color=\"red\">×</font> |\n| Azure | <font color=\"red\">×</font> |\n\nPS:以上只是列举一些大模型平台,有一些本地模型推理软件(LM Studio、RWKV-Running)它的接口规范采用的时OpenAI SDK,所以这些API也是能连接的,这些没有指定平台的模型其中的API参数在配置文件中填到“OtherChatModel”中。\n\n\n\n# 适配的开源项目\n\n开源项目的使用方式为API调用和服务器内部运行两种方式,适配的项目有:\n\n[Stable Diffusion ]()\n\n[GPT-SoVIST ](https://github.com/RVC-Boss/GPT-SoVITS)\n\n[Real-ESRGAN](https://github.com/xinntao/Real-ESRGAN)\n\n\n\n\n\n# 配置文件\n\n下面是对配置文件的参数进行解释:\n\n| 参数名 | 参数描述 |\n| ----------------------------- | --------------------------------------------------- |\n| CONTEXT_MAX | 上下文最大token数,取值范围建议在1000~99999 |\n| MODEL_SIGLE_TOKEN_MAX | 单次发送给模型的最大token数,取值范围建议在100~4999 |\n| GLOBAL_VOICE | 是否开启语音推理(true/false) |\n| ACCESSIBLITY_CHAT | 是否开启无障碍聊天(true/false) |\n| CONFIG_VERSION | 配置文件版本 |\n| GROUP_API | 通常来说不建议对其更改 |\n| PRIVATE_API | 通常来说不建议对其更改 |\n| QBOT_NAME | 机器人名称,可自定义 |\n| OPEN_GROUPCHAT_MESSAGE | 是否开启群聊(true/false) |\n| MANAGER_QQ | 管理员QQ |\n| BOT_QQ | 机器人QQ |\n| WEBSOCKET_MESSAGE_IP | 正向WS IP地址 |\n| WEBSOCKET_MESSAGE_PORT | 正向WS 端口 |\n| REVERSEWEBSOCKET_MESSAGE_IP | 反向WS IP地址 |\n| REVERSEWEBSOCKET_MESSAGE_PORT | 反向WS 端口 |\n| WYY_SONGID_PATH | 网易云音乐ID文件路径 |\n| HELP_PATH | #帮助 文本文件路径 |\n| HELP_PERSONALITY_PATH | #人格帮助 文本文件路径 |\n| PERSONALITY_PATH | 人格目录路径 |\n| CHATMODELS_PATH | 模型名称注册路径 |\n| temperature | ”温度“超参数,默认为1 |\n| top_p | 核抽样,默认为1 |\n| frequency_penalty | 频率惩罚,默认为0 |\n| presence_penalty | 存在惩罚,默认为0 |\n| MESSAGE_SURVIVAL_TIME | 上下文存活时间,单位是秒 |\n| IMAGE_DOWNLOAD_PATH | 图片下载存放路径,图片分析时需要用到 |\n| XXX_MODEL_API_KEY | 请求模型的API KEY |\n| XXX_MODEL_ENDPOINT | 请求模型的请求端点 |\n| XXX_DEFAULT_MODEL | 请求的模型 |\n| XXX_MODEL_APISTANDARD | 模型使用的API规范 |\n| STABLEDIFFUSION_ENDPOINT | Stable Diffusion 的请求端点 |\n| DEFAULT_MODEL | Stable Diffusion 的默认模型,目前不填 |\n| VIST_API_URL | GPT-SoVIST API的IP |\n| VIST_API_PORT | GPT-SoVIST API的端口 |\n| VIST_REFERVOICE_PATH | GPT-SoVIST 的参考音频 |\n| VIST_REFERVOICE_TEXT | GPT-SoVIST 的参考音频文本 |\n| VIST_FILE_SAVE_PATH | GPT-SoVIST 推理后音频文件存放的位置 |\n| REALESGAN_PATH | REALESGAN项目的路径 |\n| REALESGAN_MODEL | REALESGAN使用的修复模型 |\n| IMAGE_DOWNLOAD_PATH | 图片下载后的位置(供REALESGAN使用) |\n\n\n\n\n\n# source目录介绍\n\n+ help\n\n + 存放着”#帮助“的文本。\n\n+ image\n\n + 无。\n\n+ Model\n\n + 存放模型名称的文件,可以在里面声明各种模型名称,分别在里面声明模型名称和模型厂商(使用的API规范),如下:\n\n ~~~json\n {\n \"Models\": [\n {\n \"ModelName\": [\n \"gpt-4\",\n \"gpt-4o\",\n \"o1-preview\"\n ],\n \"api_key\": \"sk-\",\n \"api_endpoint\": \"https://api.xxx.com/v1/chat/completions\",\n \"APIStandard\": \"OpenAI\"\n },\n {\n \"name\": [\n \"deepseek-chat\",\n \"deepseek-reasoner\",\n \"deepseek-coder\"\n ],\n \"api_key\": \"sk-xxx\",\n \"api_endpoint\": \"https://api.xxx.com/v1/chat/completions\",\n \"APIStandard\": \"OpenAI\"\n }\n ... 在此处添加其他模型,方式请遵循上面的格式\n ]\n }\n ~~~\n \n 以api_key为一组,在改组内,所有的模型将会使用改组的api_key和endpoint。\n \n \n\n+ personality\n\n + 存储着各种人格文件,其中默认存在“personality.txt”。其他人格文件的编写规范如下:\n\n ~~~\n Rersonality:{人格描述}\n \n Temperture:{1}\n \n Top_p:{1}\n \n Frequency_penalty:{0}\n \n Presence_penalty:{0}\n ~~~\n\n 需务必遵守。人格文件可以无限增加,可以添加各种人格,并且调整超参数,但需要注意的是,超参数的调整必须在了解的情况下,否则请使用默认值。\n\n+ Song\n\n + 存储网易云音乐ID的文件夹\n\n+ voice\n\n + 无\n\n\n\n\n\n\n\n# 鸣谢\n\n+ [nlohmann/json](https://github.com/nlohmann/json)\n+ [Boost](https://github.com/boostorg/boost)\n+ [curl](https://curl.se/)\n"}, "c587f32257e8bd15561f7c355cf6de1221e36abc": {"t": 1786068447.3992982, "n": 10516, "h": "221f6fb261ee59e0", "c": "<p align=\"center\">\n <a >\n <img src=\"https://github.com/Aimang2002/mySource/blob/main/picture/anime/output.png?raw=true\" width=\"200\" height=\"200\" alt=\"go-cqhttp\">\n </a>\n</p><br>\n\n\n\n<div style=\"text-align: center;color: #7E926E; monospace;\">\n <h1>克莱茵QQ机器人</h1>\n <p style=\"font-style: italic;color: #000;\">\n 基于C/C++开发的QQ机器人\n </p>\n <br>\n\n\n <p>\n\n# 项目介绍\n\n\n克莱茵QQ机器人(下面统称<font color=\"green\" >Klein</font>)是基于C/C++开发的QQ机器人,用于调用各大厂商的LLM(大语言模型)API和部分优秀的开源项目(详细见下)。\n\n\n\n> 最新版本:v2.4.0 开发中\n\n\n\n# 运行\n\n目前Klein支持的平台有:\n\n+ Linux\n+ Windows\n\n\n\n# 第三方库\n\n该项目使用的第三方库为:\n\n[curl](https://github.com/curl/curl)\n\n[Boost](https://github.com/boostorg/boost)\n\n[nlohmann/json](https://github.com/nlohmann/json)\n\n> nlohmann/json源码已经嵌入到项目中\n\n\n\n\n\n\n\n# 编译\n\n> 提示:<font color=\"orange\">该步骤用于对其他开发者提供介绍,如果没有定制化需求,可跳过该步骤。</font>\n\n\n\n## 1.Windows平台\n\n~~~bash\ngit clone https://github.com/Aimang2002/KleinBot.git\ncd KLineBot\nmkdir build && cd build\ncmake .. -G \"MinGW Makefiles\"\nmake\n~~~\n\n> 在Windows平台下,我们建议使用minGW进行编译,CMakeLists文件中链接的boost库和curl库改成自己的位置。\n>\n> Windows平台下需要准备证书,点击[此处](https://curl.se/docs/caextract.html)下载证书,并存放到可执行文件的目录下。\n\n\n\n## 2.Linux平台\n\n~~~bash\ngit clone https://github.com/Aimang2002/KleinBot.git\ncd KLineBot\nmkdir build && cd build\ncmake ..\nmake\n~~~\n\n\n\n## 3.资源\n\n+ 资源文件可在[releases](https://github.com/Aimang2002/KleinBot/releases)下载。\n\n\n\n\n\n# 兼容性\n\nKlein没有实现协议端,本身并不会直接对接QQ,而是对接第三方插件的方式。内部使用CQ码发送内容,所以只要支持发送CQ码的QQ插件,Klein就能够跟该插件实现对接。Klein在测试时采用的QQ插件为[LLOneBot](https://github.com/LLOneBot/LLOneBot),如果找不到其他更好的QQ插件,可采用LLOneBot。\n\n\n\n\n\n## 1.QQ API 支持\n\n| API | 功能 |\n| :--------------: | :----------: |\n| send_group_msg | 发送群聊消息 |\n| send_private_msg | 发送私聊消息 |\n\n\n\n\n\n## 2.连接方式\n\n| 连接方式 | 是否可用 |\n| :-----------: | :-----------------------------: |\n| 正向WebSocket | <font color=\"gree\">可用</font> |\n| 反向WebSocket | <font color=\"gree\">可用</font> |\n| HTTP API | <font color=\"red\">不可用</font> |\n| 反向HTTP POST | <font color=\"red\">不可用</font> |\n\n\n\n\n\n# 功能\n\n| 功能 | 是否支持 | 备注 |\n| :------: | :-------------------------: | :--------------: |\n| 群聊回复 | <font color=\"gree\">√</font> | 需要@ |\n| 私聊回复 | <font color=\"gree\">√</font> | 无特殊需求 |\n| 图片发送 | <font color=\"gree\">√</font> | 需对接大模型 |\n| 语音发送 | <font color=\"gree\">√</font> | 需对接GPT-SoVIST |\n| 图片分析 | <font color=\"gree\">√</font> | 需对接大模型 |\n\n\n\n\n\n# 内置命令\n\n内置命令全部以”#“开头,主要用于控制机器人的一系列行为,以下为Klein内置的命令:\n\n\n\n## 1.公有命令\n\n| 命令 | 命令描述 | 实例 |\n| :-----------: | :----------------------------------------------------------: | ------------------------------------------------------------ |\n| #帮助 | 向发送者介绍操作命令 | #帮助 |\n| #歌曲推荐 | 随机推荐一首来自网易云平台的歌曲给发送者 | #歌曲推荐 |\n| #轻量型人格 | 可指定内置的轻量型人格。 | #轻量型人格:xxx |\n| #设置人格 | 可使用内置的人格 | #设置人格:XXX |\n| #人格还原 | 将之前的人格消除,转为默认人格 | #人格还原 |\n| #话题 | 可引导Klein发送的内容 | #话题:跟我来一场辩论 |\n| #重置对话 | 删除所有上下问聊天,包括之前设置的人格 | #重置对话 |\n| #设置定时 | 可设置提醒,到点时Klein将发送信息给你。 | “#设置定时:2024年8月2日18:10/提醒的内容\"(设置的时间必须大于当前时间) |\n| #切换模型 | 根据载入的模型名称,切换各大语言模型 | #切换模型:gpt-3.5-turbo |\n| #查询当前模型 | 查询当前Kline正在调用的模型 | #查询当前模型 |\n| #开启语音 | 该功能将文字转语音,开启语音回复(<font color=\"orange\">需要启动开源项目GPT-SoVIST</font>) | #开启语音 |\n| #搜歌 | 将歌曲名追加到后面,机器人会返回搜索结果(目前只支持网易云音乐) | #搜歌:rubia |\n| #模型列表 | 将列举出当前Bot支持的大语言模型 | #模型列表 |\n\n\n\n\n\n## 2.私有命令\n\n所谓私有命令,既是只有管理员用户才能使用的命令,普通用户发送管理员命令将会被无视\n\n| 命令 | 命令描述 | 示例 |\n| :----------------: | :--------------------------------------------: | :----------------: |\n| #开启无障碍聊天 | 所有用户对接的大模型都将会使用上下文的方式聊天 | #开启无障碍聊天 |\n| #关闭无障碍聊天 | 取消非管理员用户的上下文聊天 | #关闭无障碍聊天 |\n| #刷新配置文件 | 对配置文件的重新载入 | #刷新配置文件 |\n| #激活语音 | 允许所有用户使用语音回复 | #激活语音 |\n| #冻结语音 | 所有用户不允许使用语音回复 | #冻结语音 |\n| \\#获取服务器inet4 | 获取当前本机的所有IPv4地址 | \\#获取服务器inet4 |\n| \\#获取服务器inet6 | 获取当前本机的所有IPv6地址 | \\#获取服务器inet6 |\n| \\#获取服务器公网IP | 获取当前本机的公网IP | \\#获取服务器公网IP |\n\n\n\n\n\n## 3.其他命令\n\n除了以上命令,还有一个命令较为特殊,它没有任何的操作方式,而是在发送图片的时候自动激活,届时Klein将会对接视觉模型,然后返回分析结果。\n\n\n\n# 适配的大模型API SDK\n\n| 平台 | 是否支持 |\n| :----: | :-------------------------: |\n| OpenAI | <font color=\"gree\">√</font> |\n| Google | <font color=\"red\">×</font> |\n| Azure | <font color=\"red\">×</font> |\n\nPS:以上只是列举一些大模型平台,有一些本地模型推理软件(LM Studio、RWKV-Running)它的接口规范采用的时OpenAI SDK,所以这些API也是能连接的,这些没有指定平台的模型其中的API参数在配置文件中填到“OtherChatModel”中。\n\n\n\n# 适配的开源项目\n\n开源项目的使用方式为API调用和服务器内部运行两种方式,适配的项目有:\n\n[Stable Diffusion ]()\n\n[GPT-SoVIST ](https://github.com/RVC-Boss/GPT-SoVITS)\n\n[Real-ESRGAN](https://github.com/xinntao/Real-ESRGAN)\n\n\n\n\n\n# 配置文件\n\n下面是对配置文件的参数进行解释:\n\n| 参数名 | 参数描述 |\n| ----------------------------- | --------------------------------------------------- |\n| CONTEXT_MAX | 上下文最大token数,取值范围建议在1000~99999 |\n| MODEL_SIGLE_TOKEN_MAX | 单次发送给模型的最大token数,取值范围建议在100~4999 |\n| GLOBAL_VOICE | 是否开启语音推理(true/false) |\n| ACCESSIBLITY_CHAT | 是否开启无障碍聊天(true/false) |\n| CONFIG_VERSION | 配置文件版本 |\n| GROUP_API | 通常来说不建议对其更改 |\n| PRIVATE_API | 通常来说不建议对其更改 |\n| QBOT_NAME | 机器人名称,可自定义 |\n| OPEN_GROUPCHAT_MESSAGE | 是否开启群聊(true/false) |\n| MANAGER_QQ | 管理员QQ |\n| BOT_QQ | 机器人QQ |\n| WEBSOCKET_MESSAGE_IP | 正向WS IP地址 |\n| WEBSOCKET_MESSAGE_PORT | 正向WS 端口 |\n| REVERSEWEBSOCKET_MESSAGE_IP | 反向WS IP地址 |\n| REVERSEWEBSOCKET_MESSAGE_PORT | 反向WS 端口 |\n| WYY_SONGID_PATH | 网易云音乐ID文件路径 |\n| HELP_PATH | #帮助 文本文件路径 |\n| HELP_PERSONALITY_PATH | #人格帮助 文本文件路径 |\n| PERSONALITY_PATH | 人格目录路径 |\n| CHATMODELS_PATH | 模型名称注册路径 |\n| temperature | ”温度“超参数,默认为1 |\n| top_p | 核抽样,默认为1 |\n| frequency_penalty | 频率惩罚,默认为0 |\n| presence_penalty | 存在惩罚,默认为0 |\n| MESSAGE_SURVIVAL_TIME | 上下文存活时间,单位是秒 |\n| IMAGE_DOWNLOAD_PATH | 图片下载存放路径,图片分析时需要用到 |\n| XXX_MODEL_API_KEY | 请求模型的API KEY |\n| XXX_MODEL_ENDPOINT | 请求模型的请求端点 |\n| XXX_DEFAULT_MODEL | 请求的模型 |\n| XXX_MODEL_APISTANDARD | 模型使用的API规范 |\n| STABLEDIFFUSION_ENDPOINT | Stable Diffusion 的请求端点 |\n| DEFAULT_MODEL | Stable Diffusion 的默认模型,目前不填 |\n| VIST_API_URL | GPT-SoVIST API的IP |\n| VIST_API_PORT | GPT-SoVIST API的端口 |\n| VIST_REFERVOICE_PATH | GPT-SoVIST 的参考音频 |\n| VIST_REFERVOICE_TEXT | GPT-SoVIST 的参考音频文本 |\n| VIST_FILE_SAVE_PATH | GPT-SoVIST 推理后音频文件存放的位置 |\n| REALESGAN_PATH | REALESGAN项目的路径 |\n| REALESGAN_MODEL | REALESGAN使用的修复模型 |\n| IMAGE_DOWNLOAD_PATH | 图片下载后的位置(供REALESGAN使用) |\n\n\n\n\n\n# source目录介绍\n\n+ help\n\n + 存放着”#帮助“的文本。\n\n+ image\n\n + 无。\n\n+ Model\n\n + 存放模型名称的文件,可以在里面声明各种模型名称,分别在里面声明模型名称和模型厂商(使用的API规范),如下:\n\n ~~~json\n {\n \"Models\": [\n {\n \"ModelName\": [\n \"gpt-4\",\n \"gpt-4o\",\n \"o1-preview\"\n ],\n \"api_key\": \"sk-\",\n \"api_endpoint\": \"https://api.xxx.com/v1/chat/completions\",\n \"APIStandard\": \"OpenAI\"\n },\n {\n \"name\": [\n \"deepseek-chat\",\n \"deepseek-reasoner\",\n \"deepseek-coder\"\n ],\n \"api_key\": \"sk-xxx\",\n \"api_endpoint\": \"https://api.xxx.com/v1/chat/completions\",\n \"APIStandard\": \"OpenAI\"\n }\n ... 在此处添加其他模型,方式请遵循上面的格式\n ]\n }\n ~~~\n \n 以api_key为一组,在改组内,所有的模型将会使用改组的api_key和endpoint。\n \n \n\n+ personality\n\n + 存储着各种人格文件,其中默认存在“personality.txt”。其他人格文件的编写规范如下:\n\n ~~~\n Rersonality:{人格描述}\n \n Temperture:{1}\n \n Top_p:{1}\n \n Frequency_penalty:{0}\n \n Presence_penalty:{0}\n ~~~\n\n 需务必遵守。人格文件可以无限增加,可以添加各种人格,并且调整超参数,但需要注意的是,超参数的调整必须在了解的情况下,否则请使用默认值。\n\n+ Song\n\n + 存储网易云音乐ID的文件夹\n\n+ voice\n\n + 无\n\n\n\n\n\n\n\n# 鸣谢\n\n+ [nlohmann/json](https://github.com/nlohmann/json)\n+ [Boost](https://github.com/boostorg/boost)\n+ [curl](https://curl.se/)\n"}}}}