diff --git a/README.md b/README.md index d88e1e086..a7ec04431 100644 --- a/README.md +++ b/README.md @@ -24,3 +24,11 @@ yarn install ```bash yarn docs:dev ``` + +### 一些规范化标准 + +- 除去`posts`文件夹是用名词复数,其余名词一律使用单数 +- 文件夹和文件的命名:**一律使用全小写,单词直接`-`隔开,如**`config-intro.md` +- 子文件(夹)的命名,**不加前缀**(即文件夹的名称),如:`plugin`文件夹下的,插件列表(文件)称之为`list.md`,文件夹`some-plugin-deploy` +- 由于这是有关于文档的规范化命名,所以任何文件的名称都可以以教程的角度来理解,如`plugin`是有关插件的教程 + diff --git a/src/.vuepress/navbar.ts b/src/.vuepress/navbar.ts index 7a580f131..4472a0e0b 100644 --- a/src/.vuepress/navbar.ts +++ b/src/.vuepress/navbar.ts @@ -5,12 +5,12 @@ export default navbar([ { text: "功能介绍", icon: "operate", - link: "/posts/Features", + link: "/posts/feature", }, { text: "部署教程", icon: "blog", - link: "/posts/deploy/", + link: "/posts/deploy", }, // "/posts/deploy/", // "/posts/Features", @@ -21,12 +21,12 @@ export default navbar([ { text: "常见报错", icon: "info", - link: "/posts/errors/", + link: "/posts/error/", }, { text: "问题解答", icon: "blog", - link: "/posts/FAQ", + link: "/posts/faq", }, ], }, diff --git a/src/.vuepress/sidebar.ts b/src/.vuepress/sidebar.ts index 52e44dbdb..28f08c6d6 100644 --- a/src/.vuepress/sidebar.ts +++ b/src/.vuepress/sidebar.ts @@ -6,8 +6,8 @@ export default sidebar({ { text: "功能介绍", icon: "operate", - prefix: "posts/Features", - link: "posts/Features", + prefix: "posts/feature", + link: "posts/feature", children: "structure", }, { @@ -24,64 +24,60 @@ export default sidebar({ { text: "安装器部署(Win)(不推荐,长时间未维护)", icon: "list", - link: "auto_app_win", + link: "auto-app-win", }, { text: "Docker部署(仅推荐在Linux上使用)", icon: "list", - link: "auto_docker", + link: "auto-docker", }, { text: "安装器部署(Linux)(不推荐,已经长时间未维护)", icon: "list", - link: "auto_app_linux", + link: "auto-app-linux", }, ], }, { text: "配置方法", icon: "context", - link: "posts/configIntro" + link: "posts/config-intro" }, { text: "常见报错", icon: "info", - link: "posts/errors/", - prefix: "posts/errors/", + link: "posts/error/", + prefix: "posts/error/", children: "structure", }, { text: "问题解答", icon: "blog", - link: "posts/FAQ", - prefix: "posts/FAQ", - children: "structure", + link: "posts/faq", }, { text: "插件介绍", icon: "plugin", - prefix: "posts/plugins/", - link: "posts/plugins/pluginsIntro", + prefix: "posts/plugin/", + link: "posts/plugin/intro", collapsible: true, children: [ { text: "插件列表", icon: "list", - link: "pluginsList", + link: "list", }, ], }, { text: "技术信息", icon: "code", - link: "posts/develop/technologyInfo", + link: "posts/develop/technology-info", }, { text: "插件开发", icon: "editor", - link: "posts/PluginsDevelop", - prefix: "posts/PluginsDevelop", - children: "structure", + link: "posts/develop/develop", }, ], }); diff --git a/src/.vuepress/styles/palette.scss b/src/.vuepress/styles/palette.scss index 4db2378e6..c693e25c0 100644 --- a/src/.vuepress/styles/palette.scss +++ b/src/.vuepress/styles/palette.scss @@ -2,4 +2,4 @@ // $theme-colors: #367cc0 !default; //$font-family: 'Playpen Sans,ZCOOL XiaoWei'; -$theme-color: #367cc0; +$theme-color: #2d89e4; diff --git a/src/README.md b/src/README.md index f788dec7f..cc01dca3c 100644 --- a/src/README.md +++ b/src/README.md @@ -34,12 +34,12 @@ highlights: - title: 文字对话 icon: community details: OpenAI API,ChatGPT逆向,New Bing,Claude等多模型支持 - link: https://github.com/RockChinQ/QChatGPT#%E6%96%87%E5%AD%97%E5%AF%B9%E8%AF%9D + link: /posts/feature.md#文字对话 - title: 模型聚合平台支持 icon: network details: 支持One API等模型聚合平台 - link: https://github.com/RockChinQ/QChatGPT#%E6%A8%A1%E5%9E%8B%E8%81%9A%E5%90%88%E5%B9%B3%E5%8F%B0 + link: /posts/feature.md#模型聚合平台 - title: 敏感词过滤 icon: safe @@ -89,7 +89,7 @@ highlights: - title: 更多功能 icon: search details: 点击这里查看更多功能 - link: /posts/Features.md + link: /posts/feature.md - header: 插件生态 # image: /assets/image/features.svg @@ -99,7 +99,7 @@ highlights: - title: 联网回复 icon: network details: 基于GPT的Function Calling功能实现的类似ChatGPT的WebPilot插件的功能 - link: /posts/PluginsUse/plugin_network + link: /posts/plugin/some-plugin-deploy/link-network.md - title: 逆向工程 LLM icon: tree @@ -119,12 +119,12 @@ highlights: - title: 语音合成 icon: write details: 文字转语音输出,支持HuggingFace的VITS模型,Azure语音合成,本地vits语音合成,sovits语音合成 - link: /posts/PluginsUse/plugin_voice + link: /posts/plugin/some-plugin-deploy/voice.md - title: 点击查看更多插件 icon: search details: 点此查看所有插件列表 - link: /posts/PluginsUse/pluginsList + link: /posts/plugin/list.md - header: 致谢 description: 向QChatGPT项目开发者及其插件开发者致以诚挚的敬意 diff --git a/src/posts/FAQ.md b/src/posts/FAQ.md index 92091a0e5..3aab313bf 100644 --- a/src/posts/FAQ.md +++ b/src/posts/FAQ.md @@ -10,7 +10,7 @@ date: 2023-10-28 category: - 问题解答 --- -> 之所以有问题解答这一页面,是因为很多人并不仔细阅读[功能介绍](./Features.md),以至于产生了一系列问题,为此又增设此页面来提供解决方案 +> 之所以有问题解答这一页面,是因为很多人并不仔细阅读[功能介绍](./feature.md),以至于产生了一系列问题,为此又增设此页面来提供解决方案 :::info 目录 [[toc]] @@ -35,7 +35,7 @@ openai_config = { "reverse_proxy": None } ``` -> 本问题可见于[功能介绍的api-key的配置](./Features.md/#api-key的配置) +> 本问题可见于[功能介绍的api-key的配置](./feature.md/#api-key的配置) 提示:如果你的API Key来自转发API,需在反向代理"reverse_proxy"中配置BASE_URL,通常为:https://管理地址/v1 ::: ## [bot]person_ xxxxxxx会话调用API失败:Error communicating with OpenAI您的网络无法访问OpenAI接口或网络代理不正常 @@ -45,6 +45,6 @@ openai_config = { 设置反代,打开`QChatGPT\config.py`文件,按图配置: ` "reverse_proxy": "http://api.openai.lazyshare.top/v1"` ![反代设置.jpg](https://s2.loli.net/2023/08/16/GeoiZCbLtfg3uqH.jpg) -> 本问题可见于[功能介绍的反向代理的设置](./Features.md/#反向代理的设置) +> 本问题可见于[功能介绍的反向代理的设置](./feature.md#反向代理的设置) ::: diff --git a/src/posts/configIntro.md b/src/posts/config-intro.md similarity index 100% rename from src/posts/configIntro.md rename to src/posts/config-intro.md diff --git a/src/posts/deploy/README.md b/src/posts/deploy/README.md index 737c13da9..4c81d847a 100644 --- a/src/posts/deploy/README.md +++ b/src/posts/deploy/README.md @@ -22,12 +22,12 @@ Windows首选[安装器](#windows),Linux首选[Docker](#docker) > 部署过程最简单,但有一定失败概率 安装器可在Windows和Linux平台下使用 -- [ 点击查看Windows的具体操作](auto_app_win.md) +- [ 点击查看Windows的具体操作](auto-app-win.md) -- [ 点击查看Linux的具体操作](auto_app_linux.md) +- [ 点击查看Linux的具体操作](auto-app-linux.md) ### Docker(Linux推荐) > docker方式较为复杂,若您不熟悉docker的操作及相关知识,强烈建议您使用其他方式部署,我们不会且难以解决您主机上多个容器的连接问题。 -- [ 点击查看Docker部署的具体操作](auto_docker.md) +- [ 点击查看Docker部署的具体操作](auto-docker.md) ## 手动部署(推荐) > 全平台通用,可以避免安装器部署失败的问题 diff --git a/src/posts/deploy/auto_app_linux.md b/src/posts/deploy/auto-app-linux.md similarity index 100% rename from src/posts/deploy/auto_app_linux.md rename to src/posts/deploy/auto-app-linux.md diff --git a/src/posts/deploy/auto_app_win.md b/src/posts/deploy/auto-app-win.md similarity index 100% rename from src/posts/deploy/auto_app_win.md rename to src/posts/deploy/auto-app-win.md diff --git a/src/posts/deploy/auto_docker.md b/src/posts/deploy/auto-docker.md similarity index 100% rename from src/posts/deploy/auto_docker.md rename to src/posts/deploy/auto-docker.md diff --git a/src/posts/deploy/manual-deploy-details/README.md b/src/posts/deploy/manual-deploy-details/README.md new file mode 100644 index 000000000..eabf22ce1 --- /dev/null +++ b/src/posts/deploy/manual-deploy-details/README.md @@ -0,0 +1,15 @@ +--- +head: + - - meta + - name: keywords + content: QChatGPT的插件页面 +title: 插件使用 +icon: tree +order: 1 +author: Lazy +date: 2023-12-20 +category: + - 插件使用 +--- + + \ No newline at end of file diff --git a/src/posts/deploy/yirimiraiAndPythonForManual/pythonInstall.md b/src/posts/deploy/manual-deploy-details/python.md similarity index 100% rename from src/posts/deploy/yirimiraiAndPythonForManual/pythonInstall.md rename to src/posts/deploy/manual-deploy-details/python.md diff --git a/src/posts/deploy/yirimiraiAndPythonForManual/yirimirai.md b/src/posts/deploy/manual-deploy-details/yirimirai.md similarity index 100% rename from src/posts/deploy/yirimiraiAndPythonForManual/yirimirai.md rename to src/posts/deploy/manual-deploy-details/yirimirai.md diff --git a/src/posts/deploy/manual.md b/src/posts/deploy/manual.md index 7fef6001e..b139a0423 100644 --- a/src/posts/deploy/manual.md +++ b/src/posts/deploy/manual.md @@ -12,7 +12,7 @@ category: - 部署教程 --- :::warning -请使用Python 3.9.x以上版本,没有Python的需自行安装,参考[此教程](/posts/deploy/yirimiraiAndPythonForManual/pythonInstall.md) +请使用Python 3.9.x以上版本,没有Python的需自行安装,参考[此教程](./manual-deploy-details/python.md) ::: :::info 目录 @@ -26,7 +26,7 @@ category:
mirai -1. 按照[此教程](/posts/deploy/yirimiraiANDpythonForManual/yirimirai.md)配置Mirai及mirai-api-http +1. 按照[此教程](./manual-deploy-details/yirimirai.md)配置Mirai及mirai-api-http 2. 启动mirai-console后,使用`login`命令登录QQ账号,保持mirai-console运行状态 3. 在下一步配置主程序时请在config.py中将`msg_source_adapter`设为`yirimirai` @@ -64,7 +64,7 @@ python3 main.py 4. 编辑配置文件`config.py` -按照文件内注释填写配置信息,或者阅读[此页面](../configIntro.md)来学习如何配置信息 +按照文件内注释填写配置信息,或者阅读[此页面](../config-intro.md)来学习如何配置信息 > Tips: 大多数情况下,你只需关注qq小号,OpenAI Key的配置和管理员QQ号的配置 @@ -76,4 +76,4 @@ python3 main.py 无报错信息即为运行成功 -当你成功运行后,你需要开始阅读[此页面](../configIntro.md) +当你成功运行后,你需要开始阅读[此页面](../config-intro.md) diff --git a/src/posts/develop/README.md b/src/posts/develop/README.md new file mode 100644 index 000000000..7f91b7948 --- /dev/null +++ b/src/posts/develop/README.md @@ -0,0 +1,15 @@ +--- +head: + - - meta + - name: keywords + content: QChatGPT的插件开发教程页面 +title: 插件开发 +icon: tree +order: 1 +author: Lazy +date: 2023-12-20 +category: + - 插件使用 +--- + + \ No newline at end of file diff --git a/src/posts/PluginsDevelop.md b/src/posts/develop/develop.md similarity index 96% rename from src/posts/PluginsDevelop.md rename to src/posts/develop/develop.md index 6fb63320a..ba1d9df41 100644 --- a/src/posts/PluginsDevelop.md +++ b/src/posts/develop/develop.md @@ -12,8 +12,8 @@ category: index: false --- -> 请先阅读[插件使用页](./plugins/pluginsIntro.md) -> 请先阅读[技术信息页](./develop/technologyInfo.md) +> 请先阅读[插件介绍页](../plugin/intro.md) +> 请先阅读[技术信息页](../develop/technology-info.md) > 建议先阅读本项目源码,了解项目架构 > 问题、需求请到仓库issue发起 diff --git a/src/posts/develop/technologyInfo.md b/src/posts/develop/technology-info.md similarity index 100% rename from src/posts/develop/technologyInfo.md rename to src/posts/develop/technology-info.md diff --git a/src/posts/errors/README.md b/src/posts/error/README.md similarity index 77% rename from src/posts/errors/README.md rename to src/posts/error/README.md index b3fca0773..d3545b966 100644 --- a/src/posts/errors/README.md +++ b/src/posts/error/README.md @@ -4,11 +4,11 @@ head: - name: keywords content: ChatGPT QQ机器人报错,QChatGPT项目部署报错 title: 常见报错 -icon: info +icon: tree author: Lazy date: 2023-09-30 category: - 常见报错 index: false --- - \ No newline at end of file + \ No newline at end of file diff --git a/src/posts/errors/byMirai.md b/src/posts/error/mirai.md similarity index 100% rename from src/posts/errors/byMirai.md rename to src/posts/error/mirai.md diff --git a/src/posts/errors/byQchatgpt.md b/src/posts/error/qchatgpt.md similarity index 100% rename from src/posts/errors/byQchatgpt.md rename to src/posts/error/qchatgpt.md diff --git a/src/posts/Features.md b/src/posts/feature.md similarity index 100% rename from src/posts/Features.md rename to src/posts/feature.md diff --git a/src/posts/develop/PluginsDevelop.md b/src/posts/plugin-develop.md similarity index 96% rename from src/posts/develop/PluginsDevelop.md rename to src/posts/plugin-develop.md index 8250d49a8..6f21c53cf 100644 --- a/src/posts/develop/PluginsDevelop.md +++ b/src/posts/plugin-develop.md @@ -12,8 +12,8 @@ category: index: false --- -> 请先阅读[插件使用页](/posts/plugins/pluginsIntro) -> 请先阅读[技术信息页](https://github.com/RockChinQ/QChatGPT/wiki/4-%E6%8A%80%E6%9C%AF%E4%BF%A1%E6%81%AF) +> 请先阅读[插件使用页](./plugin/intro.md) +> 请先阅读[技术信息页](./develop/technology-info.md) > 建议先阅读本项目源码,了解项目架构 > 问题、需求请到仓库issue发起 diff --git a/src/posts/plugin/README.md b/src/posts/plugin/README.md new file mode 100644 index 000000000..9c538fa55 --- /dev/null +++ b/src/posts/plugin/README.md @@ -0,0 +1,15 @@ +--- +head: + - - meta + - name: keywords + content: QChatGPT的插件相关页面 +title: 插件相关 +icon: list +order: 1 +author: Lazy +date: 2023-12-20 +category: + - 插件使用 +--- + + diff --git a/src/posts/plugins/pluginsIntro.md b/src/posts/plugin/intro.md similarity index 100% rename from src/posts/plugins/pluginsIntro.md rename to src/posts/plugin/intro.md diff --git a/src/posts/plugins/pluginsList.md b/src/posts/plugin/list.md similarity index 96% rename from src/posts/plugins/pluginsList.md rename to src/posts/plugin/list.md index 55d26cda8..cec7e99ec 100644 --- a/src/posts/plugins/pluginsList.md +++ b/src/posts/plugin/list.md @@ -13,7 +13,7 @@ category: --- 插件列表 -- [WebwlkrPlugin](https://github.com/RockChinQ/WebwlkrPlugin) - 让机器人能联网!!**[点我查看插件使用方法](./somePluginsUseTutorial/plugin_network.md)** +- [WebwlkrPlugin](https://github.com/RockChinQ/WebwlkrPlugin) - 让机器人能联网!!**[点我查看插件使用方法](./some-plugin-deploy/link-network.md)** - [revLibs](https://github.com/RockChinQ/revLibs) - 将ChatGPT网页版、Claude、Bard、Hugging Chat等破解版接入此项目,关于[官方接口和网页版有什么区别](https://github.com/RockChinQ/QChatGPT/wiki/8-%E5%AE%98%E6%96%B9%E6%8E%A5%E5%8F%A3%E3%80%81ChatGPT%E7%BD%91%E9%A1%B5%E7%89%88%E3%80%81ChatGPT-API%E5%8C%BA%E5%88%AB) @@ -22,7 +22,7 @@ category: - [hello_plugin](https://github.com/RockChinQ/hello_plugin) - `hello_plugin` 的储存库形式,插件开发模板 - [oliverkirk-sudo/chat_voice](https://github.com/oliverkirk-sudo/chat_voice) - 文字转语音输出,支持HuggingFace上的[VITS模型](https://huggingface.co/spaces/Plachta/VITS-Umamusume-voice-synthesizer),azure语 -音合成,vits本地语音合成,sovits语音合成 **[点我查看插件使用方法](./somePluginsUseTutorial/plugin_voice.md)** +音合成,vits本地语音合成,sovits语音合成 **[点我查看插件使用方法](./some-plugin-deploy/voice.md)** - [RockChinQ/WaitYiYan](https://github.com/RockChinQ/WaitYiYan) - 实时获取百度`文心一言`等待列表人数 diff --git a/src/posts/plugin/some-plugin-deploy/README.md b/src/posts/plugin/some-plugin-deploy/README.md new file mode 100644 index 000000000..eb3bb6869 --- /dev/null +++ b/src/posts/plugin/some-plugin-deploy/README.md @@ -0,0 +1,15 @@ +--- +head: + - - meta + - name: keywords + content: QChatGPT的几个插件的使用教程 +title: 几个插件的使用教程 +icon: list +order: 1 +author: Lazy +date: 2023-12-20 +category: + - 插件使用 +--- + + \ No newline at end of file diff --git a/src/posts/plugins/somePluginsUseTutorial/plugin_network.md b/src/posts/plugin/some-plugin-deploy/link-network.md similarity index 100% rename from src/posts/plugins/somePluginsUseTutorial/plugin_network.md rename to src/posts/plugin/some-plugin-deploy/link-network.md diff --git a/src/posts/plugins/somePluginsUseTutorial/plugin_voice.md b/src/posts/plugin/some-plugin-deploy/voice.md similarity index 100% rename from src/posts/plugins/somePluginsUseTutorial/plugin_voice.md rename to src/posts/plugin/some-plugin-deploy/voice.md diff --git a/src/posts/plugins/pluginsUse.md b/src/posts/plugins/pluginsUse.md deleted file mode 100644 index d11be8f2a..000000000 --- a/src/posts/plugins/pluginsUse.md +++ /dev/null @@ -1,103 +0,0 @@ ---- -head: - - - meta - - name: keywords - content: ChatGPT QQ机器人插件,QChatGPT项目插件 -title: 插件使用 -icon: list -order: 1 -author: Lazy -date: 2023-09-30 -category: - - 插件使用 ---- -:::info 目录 -[[toc]] -::: -# QChatGPT 的插件使用 - -## 简介 - -`plugins`目录下的所有`.py`程序都将被加载,除了`__init__.py`之外的模块支持热加载 - -> 插件分为`行为插件`和`内容插件`两种,行为插件由主程序运行中的事件驱动,内容插件由GPT生成的内容驱动,请查看内容插件页 -> 已有插件列表:[QChatGPT 插件](https://github.com/stars/RockChinQ/lists/qchatgpt-%E6%8F%92%E4%BB%B6) - -## 安装 - -### 储存库克隆(推荐) - -在运行期间,使用管理员账号对机器人私聊发送`!plugin get `即可自动获取源码并安装插件,程序会根据仓库中的`requirements.txt`文件自动安装依赖库 - -例如安装`hello_plugin`插件 -``` -!plugin get https://github.com/RockChinQ/hello_plugin -``` - -安装完成后重启程序或使用管理员账号私聊机器人发送`!reload`进行热重载加载插件 - -### 手动安装 - -将获取到的插件程序放置到`plugins`目录下,具体使用方式请查看各插件文档或咨询其开发者。 - -## 管理 - -### !plugin 命令 - -``` -!plugin 列出所有已安装的插件 -!plugin get <储存库地址> 从Git储存库安装插件(需要管理员权限) -!plugin update all 更新所有插件(需要管理员权限,仅支持从储存库安装的插件) -!plugin update <插件名> 更新指定插件 -!plugin del <插件名> 删除插件(需要管理员权限) -!plugin on <插件名> 启用插件(需要管理员权限) -!plugin off <插件名> 禁用插件(需要管理员权限) - -!func 列出所有内容函数 -``` - -### 控制插件执行顺序 - -可以通过修改`plugins/settings.json`中`order`字段中每个插件名称的前后顺序,以更改插件**初始化**和**事件执行**顺序 - -### 启用或关闭插件 - -无需卸载即可管理插件的开关 -编辑`plugins`目录下的`switch.json`文件,将相应的插件的`enabled`字段设置为`true/false(开/关)`,之后重启程序或执行热重载即可控制插件开关 - -### 控制全局内容函数开关 - -内容函数是基于[GPT的Function Calling能力](https://platform.openai.com/docs/guides/gpt/function-calling)实现的,这是一种嵌入对话中,由GPT自动调用的函数。 -每个插件可以自行注册内容函数,您可以在`plugins`目录下的`settings.json`中设置`functions`下的`enabled`为`true`或`false`控制这些内容函数的启用或禁用。 - -# > 说白了就是ChatGPT官方插件那种东西 - -内容函数是基于[GPT的Function Calling能力](https://platform.openai.com/docs/guides/gpt/function-calling)实现的,这是一种嵌入对话中,由GPT自动调用的函数。 - -例如我们为GPT提供一个函数`access_the_web`,并提供其详细的描述以及其参数的描述,那么当我们在与GPT对话时涉及类似以下内容时: - -``` -Q: 请搜索一下github上有那些QQ机器人项目? -Q: 请为我搜索一些不错的云服务商网站? -Q:阅读并总结这篇文章:https://zhuanlan.zhihu.com/p/607570830 -Q:搜一下清远今天天气如何 -``` - -GPT将会回复一个对`access_the_web`的函数调用请求,QChatGPT将自动处理执行该调用,并返回结果给GPT使其生成新的回复。 - -当然,函数调用功能不止局限于网络访问,还可以实现图片处理、科学计算、行程规划等需要调用函数的功能,理论上我们可以通过内容函数实现与`ChatGPT Plugins`相同的功能。 - -- 您需要使用`v2.5.0`以上的版本才能加载包含内容函数的插件 -- 您需要同时在`config.py`中的`completion_api_params`中设置`model`为支持函数调用的模型,推荐使用`gpt-3.5-turbo-16k` -- 使用此功能可能会造成难以预期的账号余额消耗,请关注 -- [逆向库插件](https://github.com/RockChinQ/revLibs)现在也支持函数调用了..您可以在完全免费的情况下使用GPT-3.5进行函数调用,若您在主程序配置了内容函数并启用,逆向ChatGPT会自动使用这些函数 - -### ?QChatGPT有什么类型的插件?区别是什么? - -QChatGPT具有`行为插件`和`内容函数`两种扩展方式,行为插件是完整的插件结构,是由运行期间的事件驱动的,内容函数被包含于一个完整的插件体中,由GPT接口驱动。 - -> 还是不理解?可以尝试根据插件开发页的步骤自行编写插件 - -## QChatGPT的一些不错的内容函数插件 - -- [WebwlkrPlugin](https://github.com/RockChinQ/WebwlkrPlugin) - 让机器人能联网!!