doc: 更换VitePress后的初步内容
@@ -1,47 +0,0 @@
|
||||
name: 构建文档Docker镜像
|
||||
|
||||
on:
|
||||
# push:
|
||||
# branches:
|
||||
# - main
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
build-docker-image:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: 设置 Node.js
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 18
|
||||
|
||||
- name: 安装 pnpm
|
||||
run: |
|
||||
npm install -g pnpm
|
||||
|
||||
- name: 安装依赖
|
||||
run:
|
||||
pnpm install
|
||||
|
||||
- name: 构建文档
|
||||
env:
|
||||
NODE_OPTIONS: --max_old_space_size=8192
|
||||
run: |
|
||||
pnpm run docs:build
|
||||
ls -R
|
||||
|
||||
- name: Build image
|
||||
run: |
|
||||
docker build -t ${{ secrets.DOCKER_ACCOUNT }}/qchatgpt-wiki:latest .
|
||||
- name: Publish image
|
||||
run: |
|
||||
docker login -u ${{ secrets.DOCKER_ACCOUNT }} -p ${{ secrets.DOCKER_PWD}}
|
||||
docker push ${{ secrets.DOCKER_ACCOUNT }}/qchatgpt-wiki:latest
|
||||
@@ -1,48 +0,0 @@
|
||||
name: 部署文档
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
deploy-docs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: 设置 Node.js
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 18
|
||||
|
||||
- name: 安装 pnpm
|
||||
run: |
|
||||
npm install -g pnpm
|
||||
|
||||
- name: 安装依赖
|
||||
run:
|
||||
pnpm install
|
||||
|
||||
- name: 构建文档
|
||||
env:
|
||||
NODE_OPTIONS: --max_old_space_size=8192
|
||||
run: |-
|
||||
pnpm run docs:build
|
||||
|
||||
- name: 部署文档
|
||||
uses: cross-the-world/scp-pipeline@master
|
||||
env:
|
||||
WELCOME: "ssh scp ssh pipelines"
|
||||
LASTSSH: "Doing something after copying"
|
||||
with:
|
||||
host: ${{ secrets.ALI_SERVER_HOST }}
|
||||
user: ${{ secrets.ALI_SERVER_NAME }}
|
||||
pass: ${{ secrets.ALI_SERVER_PASSWD }}
|
||||
connect_timeout: 100s
|
||||
local: './src/.vuepress/dist/*'
|
||||
remote: ${{ secrets.ALI_TARGET_v3 }}
|
||||
@@ -1,5 +1,2 @@
|
||||
|
||||
node_modules/
|
||||
src/.vuepress/.cache/
|
||||
src/.vuepress/.temp/
|
||||
src/.vuepress/dist/
|
||||
node_modules/
|
||||
docs/.vitepress/cache/
|
||||
@@ -1,7 +0,0 @@
|
||||
FROM nginx:alpine
|
||||
|
||||
COPY ./src/.vuepress/dist/ /usr/share/nginx/html/
|
||||
COPY ./nginx/nginx.conf /etc/nginx/nginx.conf
|
||||
COPY ./nginx/default.conf /etc/nginx/conf.d/default.conf
|
||||
|
||||
EXPOSE 80
|
||||
@@ -1,53 +1,53 @@
|
||||
# [QChatGPT](https://github.com/RockChinQ/QChatGPT) 官方文档
|
||||
|
||||
> 此分支是 QChatGPT 3.x 的文档
|
||||
> [QChatGPT 代码仓库](https://github.com/RockChinQ/QChatGPT)
|
||||
|
||||
## 参与编写
|
||||
|
||||
文档基于 VuePress 生成,本地编写需要安装 Node 和 VuePress
|
||||
|
||||
### NodeJS
|
||||
|
||||
自行安装
|
||||
|
||||
### VuePress
|
||||
|
||||
Clone 本仓库,在目录下执行以下命令安装依赖:
|
||||
|
||||
```bash
|
||||
pnpm install
|
||||
```
|
||||
|
||||
完成后即可修改文档,修改完后使用以下命令本地启动:
|
||||
|
||||
```bash
|
||||
pnpm docs:dev
|
||||
```
|
||||
|
||||
### 使用图片
|
||||
|
||||
把图片放到 `src/.vuepress/public/assets/image` 目录下,然后在文档中使用Web访问时的绝对路径引用,如:
|
||||
|
||||
```markdown
|
||||

|
||||
```
|
||||
|
||||
### 部署细节
|
||||
|
||||
现在使用 Cloudflare Pages 托管,提交后自动部署。
|
||||
|
||||
### 推荐环境
|
||||
|
||||
推荐使用 GitHub Codespaces 编写,仓库页面点击 "Code" -> "Codespaces" -> 直接创建一个 Codespace
|
||||
在其中按照上述方式安装依赖并运行调试。
|
||||
|
||||
> 若出现`Error: /lib/x86_64-linux-gnu/libstdc++.so.6: version GLIBCXX_3.4.29`的报错,请按照如下文章内容解决:
|
||||
> https://zhuanlan.zhihu.com/p/615111375
|
||||
|
||||
### 一些规范化标准
|
||||
|
||||
- 文件夹和文件的命名:**一律使用全小写,单词直接`-`隔开,如**`config-intro.md`
|
||||
- 子文件(夹)的命名,**不加前缀**(即文件夹的名称),如:`plugin`文件夹下的,插件列表(文件)称之为`list.md`,文件夹`some-plugin-deploy`
|
||||
- 由于这是有关于文档的规范化命名,所以任何文件的名称都可以以教程的角度来理解,如`plugin`是有关插件的教程
|
||||
|
||||
# [QChatGPT](https://github.com/RockChinQ/QChatGPT) 官方文档
|
||||
|
||||
> 此分支是 QChatGPT 3.x 的文档
|
||||
> [QChatGPT 代码仓库](https://github.com/RockChinQ/QChatGPT)
|
||||
|
||||
## 参与编写
|
||||
|
||||
文档基于 VitePress 生成,本地编写需要安装 Node 和 VitePress
|
||||
|
||||
### NodeJS
|
||||
|
||||
自行安装
|
||||
|
||||
### VitePress
|
||||
|
||||
Clone 本仓库,在目录下执行以下命令安装依赖:
|
||||
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
完成后即可修改文档,修改完后使用以下命令本地启动:
|
||||
|
||||
```bash
|
||||
npm docs:dev
|
||||
```
|
||||
|
||||
### 使用图片
|
||||
|
||||
把图片放到 `docs/assets/image` 目录下,然后在文档中使用Web访问时的绝对路径引用,如:
|
||||
|
||||
```markdown
|
||||

|
||||
```
|
||||
|
||||
### 部署细节
|
||||
|
||||
现在使用 Cloudflare Pages 托管,提交后自动部署。
|
||||
|
||||
### 推荐环境
|
||||
|
||||
推荐使用 GitHub Codespaces 编写,仓库页面点击 "Code" -> "Codespaces" -> 直接创建一个 Codespace
|
||||
在其中按照上述方式安装依赖并运行调试。
|
||||
|
||||
> 若出现`Error: /lib/x86_64-linux-gnu/libstdc++.so.6: version GLIBCXX_3.4.29`的报错,请按照如下文章内容解决:
|
||||
> https://zhuanlan.zhihu.com/p/615111375
|
||||
|
||||
### 一些规范化标准
|
||||
|
||||
- 文件夹和文件的命名:**一律使用全小写,单词直接`-`隔开,如**`plugin-intro.md`
|
||||
- 子文件(夹)的命名,**不加前缀**(即文件夹的名称),如:`deploy`文件夹下的,文件夹`qchatgpt`,`qchatgpt`文件夹下的`manual`文件称之为`manual.md`
|
||||
- 由于这是有关于文档的规范化命名,所以任何文件的名称都可以以教程的角度来理解,如`deploy`是有关部署的教程
|
||||
|
||||
|
||||
@@ -0,0 +1,165 @@
|
||||
import { defineConfig } from "vitepress";
|
||||
|
||||
// https://vitepress.dev/reference/site-config
|
||||
export default defineConfig({
|
||||
title: "QChatGPT 文档",
|
||||
description:
|
||||
"😎高稳定性、🧩支持扩展、🦄多模态的 ChatGPT QQ / QQ频道 / One Bot 机器人🤖 | 支持 OpenAI GPT、GPT 4o、Claude、Gemini Pro、DeepSeek、Moonshot(Kimi)、gpt4free、One API、Ollama 的 QQ / QQ频道 / OneBot 机器人 / Agent 平台",
|
||||
themeConfig: {
|
||||
// https://vitepress.dev/reference/default-theme-config
|
||||
logo: "/assets/icon/chrome-192.png",
|
||||
|
||||
nav: [
|
||||
{ text: "首页", link: "/" },
|
||||
{ text: "概述", link: "/insight/intro" },
|
||||
{ text: "部署", link: "/deploy/" },
|
||||
],
|
||||
|
||||
sidebar: [
|
||||
{
|
||||
text: "概述",
|
||||
items: [
|
||||
{ text: "项目介绍", link: "/insight/intro" },
|
||||
{ text: "新手指引", link: "/insight/guide" },
|
||||
],
|
||||
},
|
||||
{
|
||||
text: "部署",
|
||||
link: "/deploy/",
|
||||
items: [
|
||||
{
|
||||
text: "部署 QChatGPT",
|
||||
collapsed: true,
|
||||
items: [
|
||||
{ text: "手动部署", link: "/deploy/qchatgpt/manual" },
|
||||
{ text: "Dokcer部署", link: "/deploy/qchatgpt/docker" },
|
||||
],
|
||||
},
|
||||
{
|
||||
text: "部署消息平台",
|
||||
collapsed: true,
|
||||
link: "/deploy/platforms/",
|
||||
items: [
|
||||
{
|
||||
text: "aiocqhttp(推荐)",
|
||||
collapsed: true,
|
||||
link: "/deploy/platforms/aiocqhttp/",
|
||||
items: [
|
||||
{
|
||||
text: "Lagrange",
|
||||
link: "/deploy/platforms/aiocqhttp/lagrange",
|
||||
},
|
||||
{
|
||||
text: "NapCat",
|
||||
link: "/deploy/platforms/aiocqhttp/napcat",
|
||||
},
|
||||
{
|
||||
text: "llonebot",
|
||||
link: "/deploy/platforms/aiocqhttp/llonebot",
|
||||
},
|
||||
{
|
||||
text: "shamrock",
|
||||
link: "/deploy/platforms/aiocqhttp/shamrock",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
text: "mirai",
|
||||
link: "/deploy/platforms/mirai",
|
||||
},
|
||||
{
|
||||
text: "go-cqhttp",
|
||||
link: "/deploy/platforms/gocq",
|
||||
},
|
||||
{
|
||||
text: "QQ官方",
|
||||
link: "/deploy/platforms/official",
|
||||
},
|
||||
],
|
||||
},
|
||||
{ text: "填写配置信息", link: "/deploy/quick-config/config" },
|
||||
],
|
||||
},
|
||||
{
|
||||
text: "使用",
|
||||
items: [
|
||||
{ text: "命令用法", link: "/usage/command" },
|
||||
{ text: "插件列表", link: "/usage/plugin-list" },
|
||||
{ text: "常见问题", link: "/usage/faq" },
|
||||
],
|
||||
},
|
||||
{
|
||||
text: "配置",
|
||||
items: [
|
||||
{
|
||||
text: "功能配置",
|
||||
collapsed: true,
|
||||
items: [
|
||||
{ text: "platform.json", link: "/config/function/platform" },
|
||||
{ text: "pipeline.json", link: "/config/function/pipeline" },
|
||||
{ text: "provider.json", link: "/config/function/provider" },
|
||||
{ text: "command.json", link: "/config/function/command" },
|
||||
{ text: "system.json", link: "/config/function/system" },
|
||||
],
|
||||
},
|
||||
{
|
||||
text: "元数据配置",
|
||||
collapsed: true,
|
||||
items: [
|
||||
{
|
||||
text: "敏感词sensitive-words.json",
|
||||
link: "/config/metadata/adapter-qq-botpy",
|
||||
},
|
||||
{
|
||||
text: "模型列表llm-models.json",
|
||||
link: "/config/metadata/llm-models",
|
||||
},
|
||||
{
|
||||
text: "qq-botpy ID 映射 adapter-qq-botpy.json",
|
||||
link: "/config/metadata/sensitive-words",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
text: "开发",
|
||||
collapsed: true,
|
||||
items: [
|
||||
{ text: "技术信息", link: "/develop/tech-info" },
|
||||
{ text: "插件介绍", link: "/develop/plugin-intro" },
|
||||
{ text: "插件开发", link: "/develop/plugin-dev" },
|
||||
{ text: "组件拓展", link: "/develop/extension" },
|
||||
{ text: "API参考", link: "/develop/api-ref" },
|
||||
],
|
||||
},
|
||||
{
|
||||
text: "规模化和商用",
|
||||
collapsed: true,
|
||||
link: "/tob/",
|
||||
items: [
|
||||
{ text: "消息平台误导性", link: "/tob/platform" },
|
||||
{ text: "AI内容合规性", link: "/tob/provider" },
|
||||
{ text: "咨询方式", link: "/tob/contact" },
|
||||
],
|
||||
},
|
||||
],
|
||||
|
||||
// 编辑链接
|
||||
editLink: {
|
||||
pattern: "https://github.com/vuejs/vitepress/edit/main/docs/:path",
|
||||
},
|
||||
|
||||
// 本地搜索
|
||||
search: {
|
||||
provider: 'local'
|
||||
},
|
||||
|
||||
// 导航栏的社交图标
|
||||
socialLinks: [
|
||||
{ icon: "github", link: "https://github.com/the-lazy-me/QChatGPT-Wiki" },
|
||||
],
|
||||
},
|
||||
// 最后更新时间
|
||||
lastUpdated: true,
|
||||
});
|
||||
@@ -0,0 +1,6 @@
|
||||
/* .vitepress/theme/custom.css */
|
||||
:root {
|
||||
/* 自定义主页的hero部分的 name 的字体颜色 */
|
||||
--vp-home-hero-name-color: transparent;
|
||||
--vp-home-hero-name-background: -webkit-linear-gradient(120deg, #bd34fe, #41d1ff);
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
// .vitepress/theme/index.ts
|
||||
import DefaultTheme from 'vitepress/theme'
|
||||
import './custom.css'
|
||||
|
||||
export default DefaultTheme
|
||||
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 217 KiB After Width: | Height: | Size: 217 KiB |
|
Before Width: | Height: | Size: 246 KiB After Width: | Height: | Size: 246 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 9.8 KiB After Width: | Height: | Size: 9.8 KiB |
|
Before Width: | Height: | Size: 854 B After Width: | Height: | Size: 854 B |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 91 KiB After Width: | Height: | Size: 91 KiB |
|
Before Width: | Height: | Size: 215 KiB After Width: | Height: | Size: 215 KiB |
|
Before Width: | Height: | Size: 215 KiB After Width: | Height: | Size: 215 KiB |
|
Before Width: | Height: | Size: 170 KiB After Width: | Height: | Size: 170 KiB |
|
Before Width: | Height: | Size: 268 KiB After Width: | Height: | Size: 268 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 70 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 45 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 72 KiB |
|
Before Width: | Height: | Size: 73 KiB After Width: | Height: | Size: 73 KiB |
|
Before Width: | Height: | Size: 129 KiB After Width: | Height: | Size: 129 KiB |
|
Before Width: | Height: | Size: 963 B After Width: | Height: | Size: 963 B |
|
Before Width: | Height: | Size: 960 B After Width: | Height: | Size: 960 B |
|
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 57 KiB |
|
Before Width: | Height: | Size: 9.0 KiB After Width: | Height: | Size: 9.0 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 156 KiB After Width: | Height: | Size: 156 KiB |
|
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 62 KiB |
|
Before Width: | Height: | Size: 691 KiB After Width: | Height: | Size: 691 KiB |
|
Before Width: | Height: | Size: 771 B After Width: | Height: | Size: 771 B |
|
Before Width: | Height: | Size: 167 KiB After Width: | Height: | Size: 167 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 64 KiB |
|
Before Width: | Height: | Size: 184 KiB After Width: | Height: | Size: 184 KiB |
|
Before Width: | Height: | Size: 196 KiB After Width: | Height: | Size: 196 KiB |
|
Before Width: | Height: | Size: 218 KiB After Width: | Height: | Size: 218 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 87 KiB After Width: | Height: | Size: 87 KiB |
|
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
|
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 59 KiB |
|
Before Width: | Height: | Size: 90 KiB After Width: | Height: | Size: 90 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 54 KiB |
|
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 53 KiB |
|
Before Width: | Height: | Size: 168 KiB After Width: | Height: | Size: 168 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 139 KiB After Width: | Height: | Size: 139 KiB |
|
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 48 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 134 KiB After Width: | Height: | Size: 134 KiB |
|
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 63 KiB |
|
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 62 KiB |
@@ -1,54 +1,42 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: command.json 配置文件
|
||||
title: command.json 配置项
|
||||
icon: config
|
||||
order: 4
|
||||
author: RockChinQ
|
||||
date: 2024-02-18
|
||||
category:
|
||||
- 配置文件
|
||||
---
|
||||
|
||||
:::info 目录
|
||||
[[toc]]
|
||||
:::
|
||||
|
||||
`data/config/command.json` 中配置命令相关的配置项。
|
||||
|
||||
## 命令权限 privilege
|
||||
|
||||
设置每个命令的权限配置
|
||||
|
||||
普通用户权限级别为 1,管理员(`system.json`中设置的)权限级别为 2。
|
||||
|
||||
在这里设置每个命令的最低权限级别,若设置为1,则用户和管理员均可用,若为2,则仅管理员可用
|
||||
|
||||
需要设置子命令,以点号间隔,如`"plugin.on"` 示例:
|
||||
|
||||
```json
|
||||
{
|
||||
"plugin": 1,
|
||||
"plugin.on": 2
|
||||
}
|
||||
```
|
||||
|
||||
意思是 plugin 命令的最低权限级别为 1,plugin.on 命令的最低权限级别为 2。 每个命令都有默认的权限级别
|
||||
|
||||
若不设置,则使用默认的级别。在`pkg/command/operators`里每个命令类有默认的权限级别
|
||||
|
||||
## 命令前缀 command-prefix
|
||||
|
||||
设置命令前缀。以数组形式设置,程序将前缀符合设置的消息视为命令(群内需要符合群响应规则)。
|
||||
|
||||
如下示例将设置命令前缀为`!`、`!`、`#`:
|
||||
|
||||
```json
|
||||
"command-prefix": [
|
||||
"!",
|
||||
"!",
|
||||
"#"
|
||||
]
|
||||
# command.json 配置项
|
||||
|
||||
:::info 目录
|
||||
[[toc]]
|
||||
:::
|
||||
|
||||
`data/config/command.json` 中配置命令相关的配置项。
|
||||
|
||||
## 命令权限 privilege
|
||||
|
||||
设置每个命令的权限配置
|
||||
|
||||
普通用户权限级别为 1,管理员(`system.json`中设置的)权限级别为 2。
|
||||
|
||||
在这里设置每个命令的最低权限级别,若设置为1,则用户和管理员均可用,若为2,则仅管理员可用
|
||||
|
||||
需要设置子命令,以点号间隔,如`"plugin.on"` 示例:
|
||||
|
||||
```json
|
||||
{
|
||||
"plugin": 1,
|
||||
"plugin.on": 2
|
||||
}
|
||||
```
|
||||
|
||||
意思是 plugin 命令的最低权限级别为 1,plugin.on 命令的最低权限级别为 2。 每个命令都有默认的权限级别
|
||||
|
||||
若不设置,则使用默认的级别。在`pkg/command/operators`里每个命令类有默认的权限级别
|
||||
|
||||
## 命令前缀 command-prefix
|
||||
|
||||
设置命令前缀。以数组形式设置,程序将前缀符合设置的消息视为命令(群内需要符合群响应规则)。
|
||||
|
||||
如下示例将设置命令前缀为`!`、`!`、`#`:
|
||||
|
||||
```json
|
||||
"command-prefix": [
|
||||
"!",
|
||||
"!",
|
||||
"#"
|
||||
]
|
||||
```
|
||||
@@ -1,211 +1,199 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: pipeline.json 配置文件
|
||||
title: pipeline.json 配置项
|
||||
icon: config
|
||||
order: 2
|
||||
author: RockChinQ
|
||||
date: 2024-02-18
|
||||
category:
|
||||
- 配置文件
|
||||
---
|
||||
|
||||
:::info 目录
|
||||
[[toc]]
|
||||
:::
|
||||
|
||||
`data/config/pipeline.json` 配置程序处理一个请求的过程中的操作流程,平台适配器获取到消息事件之后,发送给pipeline排队进行处理。可以设置黑白名单、群响应规则、是否检查传入消息、传入消息忽略规则、是否检查敏感词、百度云内容审核配置、传入消息长度设置、限速配置等功能。
|
||||
|
||||
|
||||
## 访问控制 access-control
|
||||
|
||||
```json
|
||||
"access-control":{
|
||||
"mode": "blacklist",
|
||||
"blacklist": [],
|
||||
"whitelist": []
|
||||
},
|
||||
```
|
||||
|
||||
`mode`:设置模式白名单 `whitelist`(仅处理`whitelist`列表中的会话的消息)或黑名单 `blacklist`(忽略`blacklist`列表中的会话的消息)
|
||||
|
||||
`blacklist`:格式`{type}_{id}`,示例:`"blacklist": ["group_12345678","person_12341234"],`
|
||||
|
||||
`whitelist`:格式`{type}_{id}`,示例:`"whitelist": ["group_12345678","person_12341234"]`
|
||||
|
||||
|
||||
## 群消息响应规则 respond-rules
|
||||
|
||||
仅处理`access-control`通过的会话的消息,其中可含有多个key,若要对特定群设置响应规则,则以群号作为键。未特指的群,将使用 default 中的响应规则
|
||||
|
||||
```json
|
||||
"respond-rules": {
|
||||
"default": {
|
||||
"at": true,
|
||||
"prefix": [
|
||||
"/ai", "!ai", "!ai", "ai"
|
||||
],
|
||||
"regexp": [],
|
||||
"random": 0.0
|
||||
}
|
||||
},
|
||||
```
|
||||
|
||||
`at`:`true`或`false`,设置@响应
|
||||
|
||||
`prefix`:设置响应前缀
|
||||
|
||||
`regexp`:正则匹配
|
||||
|
||||
`random`:随机匹配,为1时所有消息都响应
|
||||
|
||||
你可以为单个群聊设置特定的响应规则,例如
|
||||
|
||||
```json
|
||||
"respond-rules": {
|
||||
"default": {
|
||||
"at": true,
|
||||
"prefix": [
|
||||
"/ai", "!ai", "!ai", "ai"
|
||||
],
|
||||
"regexp": [],
|
||||
"random": 0.0
|
||||
},
|
||||
"123456":{
|
||||
"at": true,
|
||||
"prefix": [
|
||||
"/ai", "!ai", "!ai", "ai"
|
||||
],
|
||||
"regexp": [],
|
||||
"random": 0.0
|
||||
},
|
||||
"789012":{
|
||||
"at": true,
|
||||
"prefix": [
|
||||
"/ai", "!ai", "!ai", "ai"
|
||||
],
|
||||
"regexp": [],
|
||||
"random": 0.0
|
||||
}
|
||||
},
|
||||
```
|
||||
|
||||
## 检查传入消息内容开关 income-msg-check
|
||||
|
||||
```json
|
||||
"income-msg-check": true,
|
||||
```
|
||||
|
||||
`income-msg-check`:是否检查传入的消息
|
||||
|
||||
## 传入消息忽略规则 ignore-rules
|
||||
|
||||
```json
|
||||
"ignore-rules": {
|
||||
"prefix": ["/"],
|
||||
"regexp": []
|
||||
},
|
||||
```
|
||||
|
||||
符合规则的传入消息将被忽略,仅`income-msg-check`为`true`时生效
|
||||
|
||||
`prefix`:前缀为`/`的忽略
|
||||
|
||||
`regexp`:正则匹配的忽略
|
||||
|
||||
## 本地敏感词检查 check-sensitive-words
|
||||
|
||||
```json
|
||||
"check-sensitive-words": true,
|
||||
```
|
||||
|
||||
`check-sensitive-words`:是否检查敏感词,敏感词词库为`data/config/sensitive-words.json`里面的
|
||||
|
||||
## 百度云内容审核配置 baidu-cloud-examine
|
||||
|
||||
```json
|
||||
"baidu-cloud-examine": {
|
||||
"enable": false,
|
||||
"api-key": "",
|
||||
"api-secret": ""
|
||||
},
|
||||
```
|
||||
|
||||
`baidu-cloud-examine`:控制是否使用是否进行百度云内容审核
|
||||
|
||||
`enable`:enable=true时启用,一定会检查AI响应结果,仅`income-msg-check`为true时检查传入消息
|
||||
|
||||
`api-key`:百度AI开放平台的`API_KEY`
|
||||
|
||||
`api-secret`:百度AI开放平台的`SECRET_KEY`
|
||||
|
||||
*`API_KEY`与`SECRET_KEY`是在创建完毕应用后,系统分配给用户的,均为字符串,用于标识用户,为访问做签名验证,可在AI服务控制台中的**应用列表**中查看*
|
||||
|
||||
## 请求限速规则 rate-limit
|
||||
|
||||
```json
|
||||
"rate-limit": {
|
||||
"strategy": "drop",
|
||||
"algo": "fixwin",
|
||||
"fixwin": {
|
||||
"default": {
|
||||
"window-size": 60,
|
||||
"limit": 60
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
`strategy`:会话中的请求速率超过限制时的处理策略,`drop`为丢弃新请求,`wait`为等待请求速率降到限制以下
|
||||
|
||||
`algo`: 使用的算法,目前仅支持 `fixwin` (固定窗口),即窗口期内最多处理多少个请求,可自行实现其他限速算法,具体查看插件编写教程
|
||||
|
||||
`fixwin`:具体速率设置,设定的窗口期内最多处理多少个请求,支持对特定session指定限速,格式为 {type}_{id},示例:group_12345678,person_12341234
|
||||
|
||||
`window-size`:窗口期大小,单位秒
|
||||
|
||||
`limit`:窗口期内最多处理多少个请求
|
||||
|
||||
例如:
|
||||
|
||||
```json
|
||||
"fixwin": {
|
||||
"default": {
|
||||
"window-size": 60,
|
||||
"limit": 60
|
||||
},
|
||||
"group_12345678": {
|
||||
"window-size": 30,
|
||||
"limit": 60
|
||||
},
|
||||
"person_12341234": {
|
||||
"window-size": 60,
|
||||
"limit": 60
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
将设定:
|
||||
|
||||
- 默认群窗口期60秒内最多处理60个请求
|
||||
- 群号为12345678的窗口期30秒内最多处理60个请求
|
||||
- 用户号为12341234的窗口期60秒内最多处理60个请求
|
||||
|
||||
## 对话历史记录截断 msg-truncate
|
||||
|
||||
将在发送消息给模型之前对当前会话的历史消息进行截断,以限制传给模型的消息长度
|
||||
|
||||
```json
|
||||
"msg-truncate": {
|
||||
"method": "round",
|
||||
"round": {
|
||||
"max-round": 10
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
`method`:截断方法,`round`为按回合截断,目前仅支持`round`,可自行实现其他截断方法,具体查看插件编写教程
|
||||
|
||||
`round`:按回合截断,`max-round`为最多保留多少回合的历史消息
|
||||
# pipeline.json 配置项
|
||||
|
||||
:::info 目录
|
||||
[[toc]]
|
||||
:::
|
||||
|
||||
`data/config/pipeline.json` 配置程序处理一个请求的过程中的操作流程,平台适配器获取到消息事件之后,发送给pipeline排队进行处理。可以设置黑白名单、群响应规则、是否检查传入消息、传入消息忽略规则、是否检查敏感词、百度云内容审核配置、传入消息长度设置、限速配置等功能。
|
||||
|
||||
|
||||
## 访问控制 access-control
|
||||
|
||||
```json
|
||||
"access-control":{
|
||||
"mode": "blacklist",
|
||||
"blacklist": [],
|
||||
"whitelist": []
|
||||
},
|
||||
```
|
||||
|
||||
`mode`:设置模式白名单 `whitelist`(仅处理`whitelist`列表中的会话的消息)或黑名单 `blacklist`(忽略`blacklist`列表中的会话的消息)
|
||||
|
||||
`blacklist`:格式`{type}_{id}`,示例:`"blacklist": ["group_12345678","person_12341234"],`
|
||||
|
||||
`whitelist`:格式`{type}_{id}`,示例:`"whitelist": ["group_12345678","person_12341234"]`
|
||||
|
||||
|
||||
## 群消息响应规则 respond-rules
|
||||
|
||||
仅处理`access-control`通过的会话的消息,其中可含有多个key,若要对特定群设置响应规则,则以群号作为键。未特指的群,将使用 default 中的响应规则
|
||||
|
||||
```json
|
||||
"respond-rules": {
|
||||
"default": {
|
||||
"at": true,
|
||||
"prefix": [
|
||||
"/ai", "!ai", "!ai", "ai"
|
||||
],
|
||||
"regexp": [],
|
||||
"random": 0.0
|
||||
}
|
||||
},
|
||||
```
|
||||
|
||||
`at`:`true`或`false`,设置@响应
|
||||
|
||||
`prefix`:设置响应前缀
|
||||
|
||||
`regexp`:正则匹配
|
||||
|
||||
`random`:随机匹配,为1时所有消息都响应
|
||||
|
||||
你可以为单个群聊设置特定的响应规则,例如
|
||||
|
||||
```json
|
||||
"respond-rules": {
|
||||
"default": {
|
||||
"at": true,
|
||||
"prefix": [
|
||||
"/ai", "!ai", "!ai", "ai"
|
||||
],
|
||||
"regexp": [],
|
||||
"random": 0.0
|
||||
},
|
||||
"123456":{
|
||||
"at": true,
|
||||
"prefix": [
|
||||
"/ai", "!ai", "!ai", "ai"
|
||||
],
|
||||
"regexp": [],
|
||||
"random": 0.0
|
||||
},
|
||||
"789012":{
|
||||
"at": true,
|
||||
"prefix": [
|
||||
"/ai", "!ai", "!ai", "ai"
|
||||
],
|
||||
"regexp": [],
|
||||
"random": 0.0
|
||||
}
|
||||
},
|
||||
```
|
||||
|
||||
## 检查传入消息内容开关 income-msg-check
|
||||
|
||||
```json
|
||||
"income-msg-check": true,
|
||||
```
|
||||
|
||||
`income-msg-check`:是否检查传入的消息
|
||||
|
||||
## 传入消息忽略规则 ignore-rules
|
||||
|
||||
```json
|
||||
"ignore-rules": {
|
||||
"prefix": ["/"],
|
||||
"regexp": []
|
||||
},
|
||||
```
|
||||
|
||||
符合规则的传入消息将被忽略,仅`income-msg-check`为`true`时生效
|
||||
|
||||
`prefix`:前缀为`/`的忽略
|
||||
|
||||
`regexp`:正则匹配的忽略
|
||||
|
||||
## 本地敏感词检查 check-sensitive-words
|
||||
|
||||
```json
|
||||
"check-sensitive-words": true,
|
||||
```
|
||||
|
||||
`check-sensitive-words`:是否检查敏感词,敏感词词库为`data/config/sensitive-words.json`里面的
|
||||
|
||||
## 百度云内容审核配置 baidu-cloud-examine
|
||||
|
||||
```json
|
||||
"baidu-cloud-examine": {
|
||||
"enable": false,
|
||||
"api-key": "",
|
||||
"api-secret": ""
|
||||
},
|
||||
```
|
||||
|
||||
`baidu-cloud-examine`:控制是否使用是否进行百度云内容审核
|
||||
|
||||
`enable`:enable=true时启用,一定会检查AI响应结果,仅`income-msg-check`为true时检查传入消息
|
||||
|
||||
`api-key`:百度AI开放平台的`API_KEY`
|
||||
|
||||
`api-secret`:百度AI开放平台的`SECRET_KEY`
|
||||
|
||||
*`API_KEY`与`SECRET_KEY`是在创建完毕应用后,系统分配给用户的,均为字符串,用于标识用户,为访问做签名验证,可在AI服务控制台中的**应用列表**中查看*
|
||||
|
||||
## 请求限速规则 rate-limit
|
||||
|
||||
```json
|
||||
"rate-limit": {
|
||||
"strategy": "drop",
|
||||
"algo": "fixwin",
|
||||
"fixwin": {
|
||||
"default": {
|
||||
"window-size": 60,
|
||||
"limit": 60
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
`strategy`:会话中的请求速率超过限制时的处理策略,`drop`为丢弃新请求,`wait`为等待请求速率降到限制以下
|
||||
|
||||
`algo`: 使用的算法,目前仅支持 `fixwin` (固定窗口),即窗口期内最多处理多少个请求,可自行实现其他限速算法,具体查看插件编写教程
|
||||
|
||||
`fixwin`:具体速率设置,设定的窗口期内最多处理多少个请求,支持对特定session指定限速,格式为 {type}_{id},示例:group_12345678,person_12341234
|
||||
|
||||
`window-size`:窗口期大小,单位秒
|
||||
|
||||
`limit`:窗口期内最多处理多少个请求
|
||||
|
||||
例如:
|
||||
|
||||
```json
|
||||
"fixwin": {
|
||||
"default": {
|
||||
"window-size": 60,
|
||||
"limit": 60
|
||||
},
|
||||
"group_12345678": {
|
||||
"window-size": 30,
|
||||
"limit": 60
|
||||
},
|
||||
"person_12341234": {
|
||||
"window-size": 60,
|
||||
"limit": 60
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
将设定:
|
||||
|
||||
- 默认群窗口期60秒内最多处理60个请求
|
||||
- 群号为12345678的窗口期30秒内最多处理60个请求
|
||||
- 用户号为12341234的窗口期60秒内最多处理60个请求
|
||||
|
||||
## 对话历史记录截断 msg-truncate
|
||||
|
||||
将在发送消息给模型之前对当前会话的历史消息进行截断,以限制传给模型的消息长度
|
||||
|
||||
```json
|
||||
"msg-truncate": {
|
||||
"method": "round",
|
||||
"round": {
|
||||
"max-round": 10
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
`method`:截断方法,`round`为按回合截断,目前仅支持`round`,可自行实现其他截断方法,具体查看插件编写教程
|
||||
|
||||
`round`:按回合截断,`max-round`为最多保留多少回合的历史消息
|
||||
@@ -1,147 +1,134 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: platform.json 配置文件
|
||||
title: platform.json 配置项
|
||||
icon: config
|
||||
order: 1
|
||||
author: RockChinQ
|
||||
date: 2024-02-18
|
||||
category:
|
||||
- 配置文件
|
||||
---
|
||||
|
||||
:::info 目录
|
||||
[[toc]]
|
||||
:::
|
||||
|
||||
`data/config/platform.json` 配置程序连接的消息平台和相关消息处理配置项。启用的消息适配器列表,是否跟踪内容函数调用过程,群内回复时是否引用原消息,群内回复时是否at原用户,强制消息延迟范围,长消息处理策略,是否向用户隐藏AI的异常信息等。
|
||||
|
||||
## 消息平台适配器 platform-adapters
|
||||
|
||||
```json
|
||||
"platform-adapters": [
|
||||
{
|
||||
"adapter": "yiri-mirai",
|
||||
"enable": false,
|
||||
"host": "127.0.0.1",
|
||||
"port": 8080,
|
||||
"verifyKey": "yirimirai",
|
||||
"qq": 123456789
|
||||
},
|
||||
{
|
||||
"adapter": "nakuru",
|
||||
"enable": false,
|
||||
"host": "127.0.0.1",
|
||||
"ws_port": 8080,
|
||||
"http_port": 5700,
|
||||
"token": ""
|
||||
},
|
||||
{
|
||||
"adapter": "aiocqhttp",
|
||||
"enable": false,
|
||||
"host": "127.0.0.1",
|
||||
"port": 8080,
|
||||
"access-token": "",
|
||||
},
|
||||
{
|
||||
"adapter": "qq-botpy",
|
||||
"enable": false,
|
||||
"appid": "",
|
||||
"secret": "",
|
||||
"intents": [
|
||||
"public_guild_messages",
|
||||
"direct_message"
|
||||
]
|
||||
}
|
||||
],
|
||||
```
|
||||
|
||||
目前支持 `mirai`、`go-cqhttp`、`aiocqhttp`、`qq-botpy` 四种消息平台适配器,也可以同时启用多个同种类或不同种类的平台适配器。
|
||||
各个适配器的配置方式请查看[部署教程](../deploy/config.html)。
|
||||
|
||||
### 多开示例
|
||||
|
||||
```json
|
||||
"platform-adapters": [
|
||||
{
|
||||
"adapter": "yiri-mirai",
|
||||
"enable": true,
|
||||
"host": "127.0.0.1",
|
||||
"port": 8080,
|
||||
"verifyKey": "yirimirai",
|
||||
"qq": 123456789
|
||||
},
|
||||
{
|
||||
"adapter": "nakuru",
|
||||
"enable": true,
|
||||
"host": "127.0.0.1",
|
||||
"ws_port": 8081,
|
||||
"http_port": 5701,
|
||||
"token": "token"
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
## 跟踪内容函数调用 track-function-calls
|
||||
|
||||
```json
|
||||
"track-function-calls": true,
|
||||
```
|
||||
|
||||
是否跟踪内容函数调用过程,如果开启了,在对话中调用的内容函数记录也会发给用户
|
||||
|
||||
关闭后(false)仅会发给用户最终结果
|
||||
|
||||
> 内容函数功能请查看插件功能文档。
|
||||
|
||||
|
||||
## 引用原消息 quote-origin
|
||||
|
||||
```json
|
||||
"quote-origin": false,
|
||||
```
|
||||
|
||||
在群内回复时是否引用原消息
|
||||
|
||||
## 是否at原用户 at-sender
|
||||
|
||||
```json
|
||||
"at-sender": false,
|
||||
```
|
||||
|
||||
在群内回复时是否at原用户
|
||||
|
||||
## 强制消息延迟范围 force-delay
|
||||
|
||||
```json
|
||||
"force-delay": [0, 0],
|
||||
```
|
||||
|
||||
在将响应内容发回给用户前的强制消息延迟时间范围,以防风控,单位是秒。
|
||||
|
||||
## 长消息处理策略 long-text-process
|
||||
|
||||
```json
|
||||
"long-text-process": {
|
||||
"threshold": 256,
|
||||
"strategy": "forward",
|
||||
"font-path": ""
|
||||
},
|
||||
```
|
||||
|
||||
`threshold`:阈值,文字长度大于此值的消息会使用长消息处理策略
|
||||
|
||||
`strategy`:长消息处理策略,目前支持forward(转发消息组件)和image(文字转图片)
|
||||
|
||||
`font-path`: image的渲染字体。未设置时,如果在windows下,会尝试寻找系统的微软雅黑字体,若找不到,则转为forward策略。未设置时,若不是windows系统,则直接转为forward策略。
|
||||
|
||||
## 向用户隐藏AI接口的异常信息 hide-exception-info
|
||||
|
||||
```
|
||||
"hide-exception-info": true
|
||||
```
|
||||
|
||||
是否向用户隐藏AI的异常信息,如果为true,当请求AI接口出现异常时,会返回一个错误的提示给用户。而把报错详情输出在控制台。
|
||||
|
||||
# platform.json 配置项
|
||||
|
||||
:::info 目录
|
||||
[[toc]]
|
||||
:::
|
||||
|
||||
`data/config/platform.json` 配置程序连接的消息平台和相关消息处理配置项。启用的消息适配器列表,是否跟踪内容函数调用过程,群内回复时是否引用原消息,群内回复时是否at原用户,强制消息延迟范围,长消息处理策略,是否向用户隐藏AI的异常信息等。
|
||||
|
||||
## 消息平台适配器 platform-adapters
|
||||
|
||||
```json
|
||||
"platform-adapters": [
|
||||
{
|
||||
"adapter": "yiri-mirai",
|
||||
"enable": false,
|
||||
"host": "127.0.0.1",
|
||||
"port": 8080,
|
||||
"verifyKey": "yirimirai",
|
||||
"qq": 123456789
|
||||
},
|
||||
{
|
||||
"adapter": "nakuru",
|
||||
"enable": false,
|
||||
"host": "127.0.0.1",
|
||||
"ws_port": 8080,
|
||||
"http_port": 5700,
|
||||
"token": ""
|
||||
},
|
||||
{
|
||||
"adapter": "aiocqhttp",
|
||||
"enable": false,
|
||||
"host": "127.0.0.1",
|
||||
"port": 8080,
|
||||
"access-token": "",
|
||||
},
|
||||
{
|
||||
"adapter": "qq-botpy",
|
||||
"enable": false,
|
||||
"appid": "",
|
||||
"secret": "",
|
||||
"intents": [
|
||||
"public_guild_messages",
|
||||
"direct_message"
|
||||
]
|
||||
}
|
||||
],
|
||||
```
|
||||
|
||||
目前支持 `mirai`、`go-cqhttp`、`aiocqhttp`、`qq-botpy` 四种消息平台适配器,也可以同时启用多个同种类或不同种类的平台适配器。
|
||||
各个适配器的配置方式请查看[部署教程](../deploy/config.html)。
|
||||
|
||||
### 多开示例
|
||||
|
||||
```json
|
||||
"platform-adapters": [
|
||||
{
|
||||
"adapter": "yiri-mirai",
|
||||
"enable": true,
|
||||
"host": "127.0.0.1",
|
||||
"port": 8080,
|
||||
"verifyKey": "yirimirai",
|
||||
"qq": 123456789
|
||||
},
|
||||
{
|
||||
"adapter": "nakuru",
|
||||
"enable": true,
|
||||
"host": "127.0.0.1",
|
||||
"ws_port": 8081,
|
||||
"http_port": 5701,
|
||||
"token": "token"
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
## 跟踪内容函数调用 track-function-calls
|
||||
|
||||
```json
|
||||
"track-function-calls": true,
|
||||
```
|
||||
|
||||
是否跟踪内容函数调用过程,如果开启了,在对话中调用的内容函数记录也会发给用户
|
||||
|
||||
关闭后(false)仅会发给用户最终结果
|
||||
|
||||
> 内容函数功能请查看插件功能文档。
|
||||
|
||||
|
||||
## 引用原消息 quote-origin
|
||||
|
||||
```json
|
||||
"quote-origin": false,
|
||||
```
|
||||
|
||||
在群内回复时是否引用原消息
|
||||
|
||||
## 是否at原用户 at-sender
|
||||
|
||||
```json
|
||||
"at-sender": false,
|
||||
```
|
||||
|
||||
在群内回复时是否at原用户
|
||||
|
||||
## 强制消息延迟范围 force-delay
|
||||
|
||||
```json
|
||||
"force-delay": [0, 0],
|
||||
```
|
||||
|
||||
在将响应内容发回给用户前的强制消息延迟时间范围,以防风控,单位是秒。
|
||||
|
||||
## 长消息处理策略 long-text-process
|
||||
|
||||
```json
|
||||
"long-text-process": {
|
||||
"threshold": 256,
|
||||
"strategy": "forward",
|
||||
"font-path": ""
|
||||
},
|
||||
```
|
||||
|
||||
`threshold`:阈值,文字长度大于此值的消息会使用长消息处理策略
|
||||
|
||||
`strategy`:长消息处理策略,目前支持forward(转发消息组件)和image(文字转图片)
|
||||
|
||||
`font-path`: image的渲染字体。未设置时,如果在windows下,会尝试寻找系统的微软雅黑字体,若找不到,则转为forward策略。未设置时,若不是windows系统,则直接转为forward策略。
|
||||
|
||||
## 向用户隐藏AI接口的异常信息 hide-exception-info
|
||||
|
||||
```
|
||||
"hide-exception-info": true
|
||||
```
|
||||
|
||||
是否向用户隐藏AI的异常信息,如果为true,当请求AI接口出现异常时,会返回一个错误的提示给用户。而把报错详情输出在控制台。
|
||||
@@ -1,178 +1,165 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: provider.json 配置文件
|
||||
title: provider.json 配置项
|
||||
icon: config
|
||||
order: 3
|
||||
author: RockChinQ
|
||||
date: 2024-02-18
|
||||
category:
|
||||
- 配置文件
|
||||
---
|
||||
|
||||
|
||||
:::info 目录
|
||||
[[toc]]
|
||||
:::
|
||||
|
||||
`data/config/provider.json` 中配置AI接口提供商相关的配置项。
|
||||
|
||||
## 启用聊天功能 enable-chat
|
||||
|
||||
```json
|
||||
"enable-chat": true,
|
||||
```
|
||||
|
||||
`enable-chat`:是否开启AI聊天功能
|
||||
|
||||
## 启用 AI 视觉功能 enable-vision
|
||||
|
||||
```json
|
||||
"enable-vision": true,
|
||||
```
|
||||
|
||||
`enable-vision`:是否开启AI视觉功能。需要使用的模型同时支持视觉功能,详情见元数据板块。
|
||||
|
||||
## 模型接口密钥 keys
|
||||
|
||||
```json
|
||||
"keys": {
|
||||
"openai": [
|
||||
"sk-1234567890"
|
||||
],
|
||||
"anthropic": [
|
||||
"sk-1234567890"
|
||||
],
|
||||
"moonshot": [
|
||||
"sk-1234567890"
|
||||
],
|
||||
"deepseek": [
|
||||
"sk-1234567890"
|
||||
]
|
||||
},
|
||||
```
|
||||
|
||||
`keys`:设置密钥组,以字典的形式设置若干个密钥组,每个密钥组的键为密钥组名称,值为密钥列表。模型与密钥组的对应关系,请查看元数据板块。
|
||||
|
||||
目前支持的密钥组:
|
||||
|
||||
- `openai`:OpenAI 的密钥组,如果你没有OpenAI API Key,你可以[在此获取](https://ai.lazyshare.top/)
|
||||
- `anthropic`:Anthropic 的密钥组
|
||||
- `moonshot`:Moonshot(月之暗面 kimi)的密钥组
|
||||
- `deepseek`:Deepseek(深度求索)的密钥组
|
||||
|
||||
## 大模型请求器 requester
|
||||
|
||||
```json
|
||||
"requester": {
|
||||
"openai-chat-completions": {
|
||||
"base-url": "https://api.openai.com/v1",
|
||||
"args": {},
|
||||
"timeout": 120
|
||||
},
|
||||
"anthropic-messages": {
|
||||
"base-url": "https://api.anthropic.com",
|
||||
"args": {
|
||||
"max_tokens": 1024
|
||||
},
|
||||
"timeout": 120
|
||||
},
|
||||
"moonshot-chat-completions": {
|
||||
"base-url": "https://api.moonshot.cn/v1",
|
||||
"args": {},
|
||||
"timeout": 120
|
||||
},
|
||||
"deepseek-chat-completions": {
|
||||
"base-url": "https://api.deepseek.com",
|
||||
"args": {},
|
||||
"timeout": 120
|
||||
},
|
||||
"ollama-chat": {
|
||||
"base-url": "http://127.0.0.1:11434",
|
||||
"args": {},
|
||||
"timeout": 600
|
||||
}
|
||||
},
|
||||
```
|
||||
|
||||
`requester`:设置请求器,以字典的形式设置若干个请求器,每个请求器的键为请求器名称,值为请求器配置。模型与请求器的对应关系,请查看元数据板块。实现请求器的方式,请查看插件编写教程。
|
||||
|
||||
目前支持的请求器有:
|
||||
|
||||
- `openai-chat-completions`:OpenAI 的 ChatCompletion 请求器
|
||||
- `anthropic-messages`:Anthropic 请求器(Claude)
|
||||
- `moonshot-chat-completions`:Moonshot 请求器(月之暗面)
|
||||
- `deepseek-chat-completions`:Deepseek 请求器(深度求索)
|
||||
- `ollama-chat`:Ollama 请求器,不需要密钥,直接请求目标地址的 Ollama 服务
|
||||
|
||||
`base-url`:设置接口地址。
|
||||
|
||||
`args`:请求时除了model之外的其他参数,以字典的形式设置。
|
||||
|
||||
`timeout`:设置请求超时时间,以秒为单位,对于耗时较长的模型,建议设置较大值
|
||||
|
||||
## 使用的模型 model
|
||||
|
||||
```json
|
||||
"model": "gpt-3.5-turbo",
|
||||
```
|
||||
|
||||
`model`:设置要使用的模型名称。通常来说直接填写模型名称即可,但如果要使用原生接口不是 ChatCompletion 但以 ChatCompletion 接口格式接入的模型,请在模型名称前方加一个 `OneAPI/` 前缀以进行区分。
|
||||
简单来说可以认为是:现阶段非 OpenAI 的模型接入都需要在模型名称前方加一个 `OneAPI/` 前缀。
|
||||
|
||||
例如:
|
||||
1. 通过 OneAPI 等中转服务接入了 OpenAI 的 `gpt-4` 模型,由于 `gpt-4` 也是使用 ChatCompletion 接口格式进行请求,则可以直接填入 `gpt-4`;
|
||||
2. 通过 OneAPI 等中转服务接入了 Google 的 `gemini-pro` 模型,由于 `gemini-pro` 原生接口格式并非 ChatCompletion,因此需要填入 `OneAPI/gemini-pro`。
|
||||
|
||||
具体支持的模型列表和各个模型对应的请求器和密钥组,请查看元数据板块 llm-models.json 。
|
||||
|
||||
## 情景预设(人格) prompt
|
||||
|
||||
```json
|
||||
"prompt-mode": "normal",
|
||||
"prompt": {
|
||||
"default": "如果用户之后想获取帮助,请你说”输入!help获取帮助“。"
|
||||
}
|
||||
```
|
||||
|
||||
`prompt-mode`:设置情景预设模式,值为`normal`(单预设模式)和`full-scenario`(完整历史对话模式)
|
||||
|
||||
`normal`时,使用下面的`prompt`,可设置多个
|
||||
|
||||
```json
|
||||
"prompt": {
|
||||
"default": "如果用户之后想获取帮助,请你说”输入!help获取帮助“。",
|
||||
"help": "如果用户之后想获取帮助,请你说”输入!help获取帮助“。"
|
||||
}
|
||||
```
|
||||
|
||||
`normal` 模式也支持读取`data/prompts`目录下的文件内容作为单个 System Prompt,文件名即为`prompt`的名称。
|
||||
|
||||
在使用中通过`!default set <预设名>`指令将其设为默认(将<预设名>整体替换)
|
||||
|
||||
### full-scenario模式配置方法
|
||||
|
||||
把完整的历史对话以文件形式添加到`data/scenario/`目录下,参考`data/scenario/default.json`
|
||||
|
||||
```json
|
||||
{
|
||||
"prompt": [
|
||||
{
|
||||
"role": "system",
|
||||
"content": "You are a helpful assistant. 如果我需要帮助,你要说“输入!help获得帮助”"
|
||||
},
|
||||
{
|
||||
"role": "assistant",
|
||||
"content": "好的,我是一个能干的AI助手。 如果你需要帮助,我会说“输入!help获得帮助”"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
`role` 为消息的角色,可以是`user`(用户)、`assistant`(AI)、`system`(系统)
|
||||
`content` 为字符串,表示消息内容。
|
||||
在使用中通过`!default set <文件名>`指令将其设为默认(将<预设名>整体替换)
|
||||
|
||||
> 社区资源:[人格预设合集1000+(测试版,不确保可用性)](../deploy/README.md#人格预设合集)
|
||||
# provider.json 配置项
|
||||
|
||||
:::info 目录
|
||||
[[toc]]
|
||||
:::
|
||||
|
||||
`data/config/provider.json` 中配置AI接口提供商相关的配置项。
|
||||
|
||||
## 启用聊天功能 enable-chat
|
||||
|
||||
```json
|
||||
"enable-chat": true,
|
||||
```
|
||||
|
||||
`enable-chat`:是否开启AI聊天功能
|
||||
|
||||
## 启用 AI 视觉功能 enable-vision
|
||||
|
||||
```json
|
||||
"enable-vision": true,
|
||||
```
|
||||
|
||||
`enable-vision`:是否开启AI视觉功能。需要使用的模型同时支持视觉功能,详情见元数据板块。
|
||||
|
||||
## 模型接口密钥 keys
|
||||
|
||||
```json
|
||||
"keys": {
|
||||
"openai": [
|
||||
"sk-1234567890"
|
||||
],
|
||||
"anthropic": [
|
||||
"sk-1234567890"
|
||||
],
|
||||
"moonshot": [
|
||||
"sk-1234567890"
|
||||
],
|
||||
"deepseek": [
|
||||
"sk-1234567890"
|
||||
]
|
||||
},
|
||||
```
|
||||
|
||||
`keys`:设置密钥组,以字典的形式设置若干个密钥组,每个密钥组的键为密钥组名称,值为密钥列表。模型与密钥组的对应关系,请查看元数据板块。
|
||||
|
||||
目前支持的密钥组:
|
||||
|
||||
- `openai`:OpenAI 的密钥组,如果你没有OpenAI API Key,你可以[在此获取](https://ai.lazyshare.top/)
|
||||
- `anthropic`:Anthropic 的密钥组
|
||||
- `moonshot`:Moonshot(月之暗面 kimi)的密钥组
|
||||
- `deepseek`:Deepseek(深度求索)的密钥组
|
||||
|
||||
## 大模型请求器 requester
|
||||
|
||||
```json
|
||||
"requester": {
|
||||
"openai-chat-completions": {
|
||||
"base-url": "https://api.openai.com/v1",
|
||||
"args": {},
|
||||
"timeout": 120
|
||||
},
|
||||
"anthropic-messages": {
|
||||
"base-url": "https://api.anthropic.com",
|
||||
"args": {
|
||||
"max_tokens": 1024
|
||||
},
|
||||
"timeout": 120
|
||||
},
|
||||
"moonshot-chat-completions": {
|
||||
"base-url": "https://api.moonshot.cn/v1",
|
||||
"args": {},
|
||||
"timeout": 120
|
||||
},
|
||||
"deepseek-chat-completions": {
|
||||
"base-url": "https://api.deepseek.com",
|
||||
"args": {},
|
||||
"timeout": 120
|
||||
},
|
||||
"ollama-chat": {
|
||||
"base-url": "http://127.0.0.1:11434",
|
||||
"args": {},
|
||||
"timeout": 600
|
||||
}
|
||||
},
|
||||
```
|
||||
|
||||
`requester`:设置请求器,以字典的形式设置若干个请求器,每个请求器的键为请求器名称,值为请求器配置。模型与请求器的对应关系,请查看元数据板块。实现请求器的方式,请查看插件编写教程。
|
||||
|
||||
目前支持的请求器有:
|
||||
|
||||
- `openai-chat-completions`:OpenAI 的 ChatCompletion 请求器
|
||||
- `anthropic-messages`:Anthropic 请求器(Claude)
|
||||
- `moonshot-chat-completions`:Moonshot 请求器(月之暗面)
|
||||
- `deepseek-chat-completions`:Deepseek 请求器(深度求索)
|
||||
- `ollama-chat`:Ollama 请求器,不需要密钥,直接请求目标地址的 Ollama 服务
|
||||
|
||||
`base-url`:设置接口地址。
|
||||
|
||||
`args`:请求时除了model之外的其他参数,以字典的形式设置。
|
||||
|
||||
`timeout`:设置请求超时时间,以秒为单位,对于耗时较长的模型,建议设置较大值
|
||||
|
||||
## 使用的模型 model
|
||||
|
||||
```json
|
||||
"model": "gpt-3.5-turbo",
|
||||
```
|
||||
|
||||
`model`:设置要使用的模型名称。通常来说直接填写模型名称即可,但如果要使用原生接口不是 ChatCompletion 但以 ChatCompletion 接口格式接入的模型,请在模型名称前方加一个 `OneAPI/` 前缀以进行区分。
|
||||
简单来说可以认为是:现阶段非 OpenAI 的模型接入都需要在模型名称前方加一个 `OneAPI/` 前缀。
|
||||
|
||||
例如:
|
||||
1. 通过 OneAPI 等中转服务接入了 OpenAI 的 `gpt-4` 模型,由于 `gpt-4` 也是使用 ChatCompletion 接口格式进行请求,则可以直接填入 `gpt-4`;
|
||||
2. 通过 OneAPI 等中转服务接入了 Google 的 `gemini-pro` 模型,由于 `gemini-pro` 原生接口格式并非 ChatCompletion,因此需要填入 `OneAPI/gemini-pro`。
|
||||
|
||||
具体支持的模型列表和各个模型对应的请求器和密钥组,请查看元数据板块 llm-models.json 。
|
||||
|
||||
## 情景预设(人格) prompt
|
||||
|
||||
```json
|
||||
"prompt-mode": "normal",
|
||||
"prompt": {
|
||||
"default": "如果用户之后想获取帮助,请你说”输入!help获取帮助“。"
|
||||
}
|
||||
```
|
||||
|
||||
`prompt-mode`:设置情景预设模式,值为`normal`(单预设模式)和`full-scenario`(完整历史对话模式)
|
||||
|
||||
`normal`时,使用下面的`prompt`,可设置多个
|
||||
|
||||
```json
|
||||
"prompt": {
|
||||
"default": "如果用户之后想获取帮助,请你说”输入!help获取帮助“。",
|
||||
"help": "如果用户之后想获取帮助,请你说”输入!help获取帮助“。"
|
||||
}
|
||||
```
|
||||
|
||||
`normal` 模式也支持读取`data/prompts`目录下的文件内容作为单个 System Prompt,文件名即为`prompt`的名称。
|
||||
|
||||
在使用中通过`!default set <预设名>`指令将其设为默认(将<预设名>整体替换)
|
||||
|
||||
### full-scenario模式配置方法
|
||||
|
||||
把完整的历史对话以文件形式添加到`data/scenario/`目录下,参考`data/scenario/default.json`
|
||||
|
||||
```json
|
||||
{
|
||||
"prompt": [
|
||||
{
|
||||
"role": "system",
|
||||
"content": "You are a helpful assistant. 如果我需要帮助,你要说“输入!help获得帮助”"
|
||||
},
|
||||
{
|
||||
"role": "assistant",
|
||||
"content": "好的,我是一个能干的AI助手。 如果你需要帮助,我会说“输入!help获得帮助”"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
`role` 为消息的角色,可以是`user`(用户)、`assistant`(AI)、`system`(系统)
|
||||
`content` 为字符串,表示消息内容。
|
||||
在使用中通过`!default set <文件名>`指令将其设为默认(将<预设名>整体替换)
|
||||
|
||||
> 社区资源:[人格预设合集1000+(测试版,不确保可用性)](../deploy/README.md#人格预设合集)
|
||||
@@ -1,103 +1,91 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: system.json 配置文件
|
||||
title: system.json 配置项
|
||||
icon: config
|
||||
order: 6
|
||||
author: RockChinQ
|
||||
date: 2024-02-18
|
||||
category:
|
||||
- 配置文件
|
||||
---
|
||||
|
||||
:::info 目录
|
||||
[[toc]]
|
||||
:::
|
||||
|
||||
|
||||
|
||||
`data/config/system.json` 中配置系统设置,如管理员、网络代理、是否上报遥测数据供开发者分析、日志等级、会话消息处理并发数、流水线消息处理并发数、帮助消息等
|
||||
|
||||
## 管理员会话 admin-sessions
|
||||
|
||||
```json
|
||||
"admin-sessions": [],
|
||||
```
|
||||
|
||||
`admin-sessions`:设置管理员会话,格式为 {type}_{id},type 为 "group" 或 "person",如:
|
||||
|
||||
```json
|
||||
"admin-sessions": ["group_123456789", "person_123456789"],
|
||||
```
|
||||
|
||||
## 网络代理 network-proxies
|
||||
|
||||
```json
|
||||
"network-proxies": {
|
||||
"http": null,
|
||||
"https": null
|
||||
},
|
||||
```
|
||||
|
||||
`network-proxies`:设置网络代理,为正向代理,http和https都要填,例如
|
||||
|
||||
```json
|
||||
"network-proxies": {
|
||||
"http": "http://127.0.0.1:7890",
|
||||
"https": "http://127.0.0.1:7890"
|
||||
},
|
||||
```
|
||||
|
||||
正向代理也可以用环境变量设置:http_proxy 和 https_proxy
|
||||
|
||||
## 上报遥测数据 report-usage
|
||||
|
||||
```json
|
||||
"report-usage": true,
|
||||
```
|
||||
|
||||
`report-usage`:是否上报遥测数据供开发者分析,不包含敏感信息
|
||||
|
||||
## 日志等级 logging-level
|
||||
|
||||
```json
|
||||
"logging-level": "info",
|
||||
```
|
||||
|
||||
`logging-level`:暂时没用,现在只能通过环境变量 DEBUG=true 来设置调试日志输出
|
||||
|
||||
## 会话消息处理并发数 session-concurrency
|
||||
|
||||
```json
|
||||
"session-concurrency": {
|
||||
"default": 1
|
||||
},
|
||||
```
|
||||
|
||||
`session-concurrency`:会话消息处理并发数,粒度是每个会话,session格式为 {type}_{id},未指定的session使用 default 配置
|
||||
|
||||
## 流水线消息处理并发数 pipeline-concurrency
|
||||
|
||||
```json
|
||||
"pipeline-concurrency": 20,
|
||||
```
|
||||
|
||||
`pipeline-concurrency`:流水线消息处理并发数,粒度是整个程序,目前使用 FCFS 算法调度各个请求。
|
||||
|
||||
## 遥测服务器url qcg-center-url
|
||||
|
||||
QChatGPT 运行期间推送遥测数据的目标地址,默认为官方地址,若您自己部署了[qcg-center](https://github.com/RockChinQ/qcg-center),可以改为你的地址。
|
||||
|
||||
```json
|
||||
"qcg-center-url": "https://api.qchatgpt.rockchin.top/api/v2"
|
||||
```
|
||||
|
||||
## 帮助消息 help-message
|
||||
|
||||
```json
|
||||
"help-message": "QChatGPT - 😎高稳定性、🧩支持插件、🦄多模态的 ChatGPT QQ 机器人🤖\n链接:https://q.rkcn.top"
|
||||
```
|
||||
|
||||
`help-message`:帮助消息,用户发送 !help 命令时的输出
|
||||
# system.json 配置项
|
||||
|
||||
:::info 目录
|
||||
[[toc]]
|
||||
:::
|
||||
|
||||
|
||||
|
||||
`data/config/system.json` 中配置系统设置,如管理员、网络代理、是否上报遥测数据供开发者分析、日志等级、会话消息处理并发数、流水线消息处理并发数、帮助消息等
|
||||
|
||||
## 管理员会话 admin-sessions
|
||||
|
||||
```json
|
||||
"admin-sessions": [],
|
||||
```
|
||||
|
||||
`admin-sessions`:设置管理员会话,格式为 {type}_{id},type 为 "group" 或 "person",如:
|
||||
|
||||
```json
|
||||
"admin-sessions": ["group_123456789", "person_123456789"],
|
||||
```
|
||||
|
||||
## 网络代理 network-proxies
|
||||
|
||||
```json
|
||||
"network-proxies": {
|
||||
"http": null,
|
||||
"https": null
|
||||
},
|
||||
```
|
||||
|
||||
`network-proxies`:设置网络代理,为正向代理,http和https都要填,例如
|
||||
|
||||
```json
|
||||
"network-proxies": {
|
||||
"http": "http://127.0.0.1:7890",
|
||||
"https": "http://127.0.0.1:7890"
|
||||
},
|
||||
```
|
||||
|
||||
正向代理也可以用环境变量设置:http_proxy 和 https_proxy
|
||||
|
||||
## 上报遥测数据 report-usage
|
||||
|
||||
```json
|
||||
"report-usage": true,
|
||||
```
|
||||
|
||||
`report-usage`:是否上报遥测数据供开发者分析,不包含敏感信息
|
||||
|
||||
## 日志等级 logging-level
|
||||
|
||||
```json
|
||||
"logging-level": "info",
|
||||
```
|
||||
|
||||
`logging-level`:暂时没用,现在只能通过环境变量 DEBUG=true 来设置调试日志输出
|
||||
|
||||
## 会话消息处理并发数 session-concurrency
|
||||
|
||||
```json
|
||||
"session-concurrency": {
|
||||
"default": 1
|
||||
},
|
||||
```
|
||||
|
||||
`session-concurrency`:会话消息处理并发数,粒度是每个会话,session格式为 {type}_{id},未指定的session使用 default 配置
|
||||
|
||||
## 流水线消息处理并发数 pipeline-concurrency
|
||||
|
||||
```json
|
||||
"pipeline-concurrency": 20,
|
||||
```
|
||||
|
||||
`pipeline-concurrency`:流水线消息处理并发数,粒度是整个程序,目前使用 FCFS 算法调度各个请求。
|
||||
|
||||
## 遥测服务器url qcg-center-url
|
||||
|
||||
QChatGPT 运行期间推送遥测数据的目标地址,默认为官方地址,若您自己部署了[qcg-center](https://github.com/RockChinQ/qcg-center),可以改为你的地址。
|
||||
|
||||
```json
|
||||
"qcg-center-url": "https://api.qchatgpt.rockchin.top/api/v2"
|
||||
```
|
||||
|
||||
## 帮助消息 help-message
|
||||
|
||||
```json
|
||||
"help-message": "QChatGPT - 😎高稳定性、🧩支持插件、🦄多模态的 ChatGPT QQ 机器人🤖\n链接:https://q.rkcn.top"
|
||||
```
|
||||
|
||||
`help-message`:帮助消息,用户发送 !help 命令时的输出
|
||||
@@ -1,33 +1,21 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: adapter-qq-botpy.json 元数据
|
||||
title: adapter-qq-botpy.json 元数据
|
||||
icon: config
|
||||
order: 3
|
||||
author: RockChinQ
|
||||
date: 2024-03-20
|
||||
category:
|
||||
- 配置文件
|
||||
---
|
||||
|
||||
`data/metadata/adapter-qq-botpy.json`,QQ 官方 API 适配器元数据。官方 API 在使用群聊接口时,群id和成员id为字符串,而 QChatGPT 内部只支持整型 id,为使重启后仍然是相同的对应关系,因此需要保存到一个文件中。
|
||||
|
||||
## 格式
|
||||
|
||||
```json
|
||||
{
|
||||
"mapping": {
|
||||
"groups": {
|
||||
"15944D6D2B525C6E3536134D4669F067": 443241151434655
|
||||
},
|
||||
"members": {
|
||||
"547A6244A731B4BEEBE5EE2AE4CD00A8": 232437565267568
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
- `groups`: 群id映射关系,key为字符串群id,value为整型群id。
|
||||
- `members`: 成员id映射关系,key为字符串成员id,value为整型成员id。
|
||||
# adapter-qq-botpy.json 元数据
|
||||
|
||||
`data/metadata/adapter-qq-botpy.json`,QQ 官方 API 适配器元数据。官方 API 在使用群聊接口时,群id和成员id为字符串,而 QChatGPT 内部只支持整型 id,为使重启后仍然是相同的对应关系,因此需要保存到一个文件中。
|
||||
|
||||
## 格式
|
||||
|
||||
```json
|
||||
{
|
||||
"mapping": {
|
||||
"groups": {
|
||||
"15944D6D2B525C6E3536134D4669F067": 443241151434655
|
||||
},
|
||||
"members": {
|
||||
"547A6244A731B4BEEBE5EE2AE4CD00A8": 232437565267568
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
- `groups`: 群id映射关系,key为字符串群id,value为整型群id。
|
||||
- `members`: 成员id映射关系,key为字符串成员id,value为整型成员id。
|
||||
@@ -1,64 +1,51 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: llm-models.json 元数据
|
||||
title: llm-models.json 元数据
|
||||
icon: config
|
||||
order: 2
|
||||
author: RockChinQ
|
||||
date: 2024-03-20
|
||||
category:
|
||||
- 配置文件
|
||||
---
|
||||
|
||||
`data/metadata/llm-models.json`,受支持的大语言模型列表,本文件中指定了可用于 `data/config/provider.json` 中的 `model` 列表,指定每个模型对应的 `Key 管理器` 和 `API 请求器`。
|
||||
|
||||
## 格式
|
||||
|
||||
```json
|
||||
{
|
||||
"list": [
|
||||
{
|
||||
"name": "default",
|
||||
"requester": "openai-chat-completions",
|
||||
"token_mgr": "openai",
|
||||
"tool_call_supported": false,
|
||||
"vision_supported": false
|
||||
},
|
||||
{
|
||||
"name": "gpt-3.5-turbo",
|
||||
"tool_call_supported": true
|
||||
},
|
||||
{
|
||||
"name": "gpt-4o",
|
||||
"tool_call_supported": true,
|
||||
"vision_supported": true
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
模型均列于`list`数组中,每个模型的字段如下:
|
||||
|
||||
- `name`: 模型名称,用于在 `data/config/provider.json` 中的 `model` 列表中指定。
|
||||
- `model_name`: 进行请求时使用的模型名称,用于区分使用不同请求器的相同模型,若未设置则使用 `name` 字段。
|
||||
- `requester`: 请求器名称,指定使用哪个请求器请求该模型的响应,不同的请求器对应不同的 API,当前支持的模型,可以在 `data/config/provider.json` 中的 `requester` 列表中找到。
|
||||
- `token_mgr`: Key 管理器,此模型使用的 key 组,对应 `data/config/provider.json` 中的 `keys` 列表。
|
||||
- `tool_call_supported`: 是否支持工具调用,标记此模型是否支持使用`内容函数`。
|
||||
- `vision_supported`: 是否支持图像输入,标记此模型是否支持使用`图像输入`。
|
||||
|
||||
`default` 模型是必须的,这是模型的默认配置,其他模型可以不设置所有的字段,只需设置 `name` 字段即可,其他字段会继承 `default` 模型的配置。
|
||||
|
||||
## 自动更新机制
|
||||
|
||||
每次启动时,程序会自动从中央服务器获取最新的模型列表,已有的的模型名称会被下载的新配置覆盖。
|
||||
|
||||
## 自定义模型
|
||||
|
||||
根据上述格式添加即可。
|
||||
|
||||
- 如果需要使用目前不支持的接口(请求器),需要自己扩展请求器,请参考插件开发文档 -> 组件扩展。
|
||||
- key 组可以自己在 `data/config/provider.json` 中的 `keys` 列表中添加。
|
||||
- 不建议修改默认的模型配置,因为启动时会被自动更新的信息覆盖。
|
||||
|
||||
# llm-models.json 元数据
|
||||
|
||||
`data/metadata/llm-models.json`,受支持的大语言模型列表,本文件中指定了可用于 `data/config/provider.json` 中的 `model` 列表,指定每个模型对应的 `Key 管理器` 和 `API 请求器`。
|
||||
|
||||
## 格式
|
||||
|
||||
```json
|
||||
{
|
||||
"list": [
|
||||
{
|
||||
"name": "default",
|
||||
"requester": "openai-chat-completions",
|
||||
"token_mgr": "openai",
|
||||
"tool_call_supported": false,
|
||||
"vision_supported": false
|
||||
},
|
||||
{
|
||||
"name": "gpt-3.5-turbo",
|
||||
"tool_call_supported": true
|
||||
},
|
||||
{
|
||||
"name": "gpt-4o",
|
||||
"tool_call_supported": true,
|
||||
"vision_supported": true
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
模型均列于`list`数组中,每个模型的字段如下:
|
||||
|
||||
- `name`: 模型名称,用于在 `data/config/provider.json` 中的 `model` 列表中指定。
|
||||
- `model_name`: 进行请求时使用的模型名称,用于区分使用不同请求器的相同模型,若未设置则使用 `name` 字段。
|
||||
- `requester`: 请求器名称,指定使用哪个请求器请求该模型的响应,不同的请求器对应不同的 API,当前支持的模型,可以在 `data/config/provider.json` 中的 `requester` 列表中找到。
|
||||
- `token_mgr`: Key 管理器,此模型使用的 key 组,对应 `data/config/provider.json` 中的 `keys` 列表。
|
||||
- `tool_call_supported`: 是否支持工具调用,标记此模型是否支持使用`内容函数`。
|
||||
- `vision_supported`: 是否支持图像输入,标记此模型是否支持使用`图像输入`。
|
||||
|
||||
`default` 模型是必须的,这是模型的默认配置,其他模型可以不设置所有的字段,只需设置 `name` 字段即可,其他字段会继承 `default` 模型的配置。
|
||||
|
||||
## 自动更新机制
|
||||
|
||||
每次启动时,程序会自动从中央服务器获取最新的模型列表,已有的的模型名称会被下载的新配置覆盖。
|
||||
|
||||
## 自定义模型
|
||||
|
||||
根据上述格式添加即可。
|
||||
|
||||
- 如果需要使用目前不支持的接口(请求器),需要自己扩展请求器,请参考插件开发文档 -> 组件扩展。
|
||||
- key 组可以自己在 `data/config/provider.json` 中的 `keys` 列表中添加。
|
||||
- 不建议修改默认的模型配置,因为启动时会被自动更新的信息覆盖。
|
||||
@@ -0,0 +1,3 @@
|
||||
# sensitive-words.json 元数据
|
||||
|
||||
本地敏感词词库,参考 `data/metadata/sensitive-words.json` 内容进行修改即可。
|
||||
@@ -1,48 +1,38 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: ChatGPT QQ机器人教程,QChatGPT项目部署教程
|
||||
title: 部署教程
|
||||
icon: blog
|
||||
author: Lazy
|
||||
date: 2024-02-18
|
||||
index: false
|
||||
---
|
||||
|
||||
## 部署教程
|
||||
|
||||
请按照以下步骤部署 QChatGPT 项目:
|
||||
|
||||
- 第一步: [部署QChatGPT](qchatgpt/)
|
||||
- 第二步: [部署消息平台](platforms/)
|
||||
- 第三步: [填写配置信息](config.md)
|
||||
|
||||
完成以上三个步骤后,你接下来应该仔细阅读左栏中的[配置详解](../config/README.md)和[元数据配置](../metadata/README.md),实现更多样化的配置需求
|
||||
|
||||
## 社区资源
|
||||
|
||||
### 视频教程
|
||||
|
||||
[【8月最新】5min部署 最强AI语音聊天+酒馆角色扮演+QQ机器人,全新角色扮演语音聊天QQ机器人](https://www.bilibili.com/video/BV1vypZeBEW1/?share_source=copy_web&vd_source=1335a044d4fd926920999a0e3ba0a731)
|
||||
|
||||
|
||||
## 本项目交流 QQ 群
|
||||
|
||||
### 社区群
|
||||
|
||||
> 遇到问题请先认真阅读文档,如无法解决再加群提问
|
||||
|
||||
Lazy的交流群一:891448839(已满)
|
||||
|
||||
Lazy的交流群二:738382634(已满)
|
||||
|
||||
Lazy的交流群三:248432104(已满)
|
||||
|
||||
Lazy的交流群四:619154800 ([链接](https://qm.qq.com/q/1K9GjQuza))
|
||||
|
||||
### 官方群
|
||||
|
||||
> 官方群不解答部署问题
|
||||
|
||||
四群:195992197 [链接](https://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=cSekvWmyezfCE4O8gXS7lSjkmPinjzpP&authKey=G4jHfz2%2BtQawxCRhn1ZRrQiI8bTvlepQubZL6F9fymFuz8jqZZ4FkYh6lhKLMCd9&noverify=0&group_code=195992197)
|
||||
# 部署教程
|
||||
|
||||
## 部署教程
|
||||
|
||||
请按照以下步骤部署 QChatGPT 项目:
|
||||
|
||||
- 第一步: [部署QChatGPT](qchatgpt/)
|
||||
- 第二步: [部署消息平台](platforms/)
|
||||
- 第三步: [填写配置信息](config.md)
|
||||
|
||||
完成以上三个步骤后,你接下来应该仔细阅读左栏中的[配置详解](../config/README.md)和[元数据配置](../metadata/README.md),实现更多样化的配置需求
|
||||
|
||||
## 社区资源
|
||||
|
||||
### 视频教程
|
||||
|
||||
[【8月最新】5min部署 最强AI语音聊天+酒馆角色扮演+QQ机器人,全新角色扮演语音聊天QQ机器人](https://www.bilibili.com/video/BV1vypZeBEW1/?share_source=copy_web&vd_source=1335a044d4fd926920999a0e3ba0a731)
|
||||
|
||||
|
||||
## 本项目交流 QQ 群
|
||||
|
||||
### 社区群
|
||||
|
||||
> 遇到问题请先认真阅读文档,如无法解决再加群提问
|
||||
|
||||
Lazy的交流群一:891448839(已满)
|
||||
|
||||
Lazy的交流群二:738382634(已满)
|
||||
|
||||
Lazy的交流群三:248432104(已满)
|
||||
|
||||
Lazy的交流群四:619154800 ([链接](https://qm.qq.com/q/1K9GjQuza))
|
||||
|
||||
### 官方群
|
||||
|
||||
> 官方群不解答部署问题
|
||||
|
||||
四群:195992197 [链接](https://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=cSekvWmyezfCE4O8gXS7lSjkmPinjzpP&authKey=G4jHfz2%2BtQawxCRhn1ZRrQiI8bTvlepQubZL6F9fymFuz8jqZZ4FkYh6lhKLMCd9&noverify=0&group_code=195992197)
|
||||
@@ -1,14 +1,4 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: Lagrange的部署教程
|
||||
title: aiocqhttp适配器系列教程
|
||||
icon: mobile
|
||||
order: 4
|
||||
author: RockChinQ,ikun0014
|
||||
date: 2024-05-05
|
||||
---
|
||||
# aiocqhttp适配器系列教程
|
||||
|
||||
## OneBot 11 协议
|
||||
|
||||
@@ -30,7 +20,7 @@ OneBot 是用于接入多种消息平台的标准化协议,详细介绍:[htt
|
||||
|
||||
当前可用的OneBot 11标准消息平台,你可以选择下方任意
|
||||
|
||||
- [Lagrange.OneBot的教程](lagrange.md)
|
||||
- [LiteLoaderQQNT的教程](llonebot.md)
|
||||
- [NapCat的教程](napcat.md)
|
||||
- [shamrock的教程](shamrock.md)
|
||||
- [Lagrange.OneBot的教程](./lagrange)
|
||||
- [NapCat的教程](./napcat)
|
||||
- [LiteLoaderQQNT的教程](./llonebot)
|
||||
- [shamrock的教程](./shamrock)
|
||||
@@ -1,69 +1,59 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: Lagrange的部署教程
|
||||
title: 部署消息平台Lagrange的教程
|
||||
icon: support
|
||||
order: 1
|
||||
author: RockChinQ,ikun0014
|
||||
date: 2024-05-05
|
||||
---
|
||||
|
||||
## Lagrange介绍
|
||||
|
||||
Lagrange 是一个 QQNT 协议逆向工程框架,比 Shamrock 或 Mirai 更加轻便,在目前也较为稳定。通过 OneBot 11 协议接入,需选择使用`aiocqhttp`作为适配器,填写配置时可参考 Shamrock 的方式。
|
||||
|
||||
可选平台(需要.NET 8 or 7支持):
|
||||
|
||||
- Mac OS 也可使用
|
||||
- Linux Ubuntu 22.04,Debian 12应该都可以
|
||||
- Windows 10,11,Server2019及以上
|
||||
|
||||
> 注意:
|
||||
> 要使用NT QQ发信息,旧版QQ无法正常使用
|
||||
|
||||
|
||||
## 部署步骤
|
||||
|
||||
以下仅提供 Windows 上的大致步骤,详细步骤或其他平台请参考 [Lagrange官方文档](https://lagrangedev.github.io/Lagrange.Doc/Lagrange.OneBot/)
|
||||
|
||||
### 环境配置
|
||||
|
||||
安装.NET 8运行时,[点击直达微软官网下载](https://dotnet.microsoft.com/zh-cn/download/dotnet/thank-you/runtime-desktop-8.0.4-windows-x64-installer)
|
||||
|
||||
### 从Github Actions下载最新的build
|
||||
|
||||
需要登录Github后才能下载,如果你不需要部分特性,可以在Release下载,看图片3
|
||||
|
||||
[Github Actions](https://github.com/KonataDev/Lagrange.Core/actions)
|
||||
|
||||
看图进行下载:
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
### 尾声
|
||||
|
||||
解压你所下载的zip,打开到有Lagrange.OneBot.exe的目录,在此目录下打开cmd命令提示符,输入
|
||||
|
||||
```bash
|
||||
.\Lagrange.OneBot
|
||||
```
|
||||
|
||||
运行一次,如果输出了一个二维码,即可直接用机器人号扫码登录(若二维码显示不清楚,可以到lagrange的data目录下寻找图片文件)。
|
||||
|
||||
若无法登录,请检查是否正常填写了lagrange配置文件appsettings.json中的签名地址 SignServerUrl ,签名地址请到lagrange文档中寻找。
|
||||
|
||||
## 修改配置
|
||||
|
||||
需要配置 Lagrange 以让其连接上 QChatGPT,请编辑 Lagrange 的配置文件 appsettings.json,确保 Implementations 中的连接配置符合下图内容:
|
||||
|
||||

|
||||
|
||||
其中 Type 必须为 `ReverseWebSocket`;
|
||||
Host 为 QChatGPT 运行的主机 IP,若在同一主机上,可以写 `127.0.0.1`;
|
||||
Suffix 必须为 `/ws`
|
||||
# 部署消息平台Lagrange的教程
|
||||
|
||||
## Lagrange介绍
|
||||
|
||||
Lagrange 是一个 QQNT 协议逆向工程框架,比 Shamrock 或 Mirai 更加轻便,在目前也较为稳定。通过 OneBot 11 协议接入,需选择使用`aiocqhttp`作为适配器,填写配置时可参考 Shamrock 的方式。
|
||||
|
||||
可选平台(需要.NET 8 or 7支持):
|
||||
|
||||
- Mac OS 也可使用
|
||||
- Linux Ubuntu 22.04,Debian 12应该都可以
|
||||
- Windows 10,11,Server2019及以上
|
||||
|
||||
> 注意:
|
||||
> 要使用NT QQ发信息,旧版QQ无法正常使用
|
||||
|
||||
|
||||
## 部署步骤
|
||||
|
||||
以下仅提供 Windows 上的大致步骤,详细步骤或其他平台请参考 [Lagrange官方文档](https://lagrangedev.github.io/Lagrange.Doc/Lagrange.OneBot/)
|
||||
|
||||
### 环境配置
|
||||
|
||||
安装.NET 8运行时,[点击直达微软官网下载](https://dotnet.microsoft.com/zh-cn/download/dotnet/thank-you/runtime-desktop-8.0.4-windows-x64-installer)
|
||||
|
||||
### 从Github Actions下载最新的build
|
||||
|
||||
需要登录Github后才能下载,如果你不需要部分特性,可以在Release下载,看图片3
|
||||
|
||||
[Github Actions](https://github.com/KonataDev/Lagrange.Core/actions)
|
||||
|
||||
看图进行下载:
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
### 尾声
|
||||
|
||||
解压你所下载的zip,打开到有Lagrange.OneBot.exe的目录,在此目录下打开cmd命令提示符,输入
|
||||
|
||||
```bash
|
||||
.\Lagrange.OneBot
|
||||
```
|
||||
|
||||
运行一次,如果输出了一个二维码,即可直接用机器人号扫码登录(若二维码显示不清楚,可以到lagrange的data目录下寻找图片文件)。
|
||||
|
||||
若无法登录,请检查是否正常填写了lagrange配置文件appsettings.json中的签名地址 SignServerUrl ,签名地址请到lagrange文档中寻找。
|
||||
|
||||
## 修改配置
|
||||
|
||||
需要配置 Lagrange 以让其连接上 QChatGPT,请编辑 Lagrange 的配置文件 appsettings.json,确保 Implementations 中的连接配置符合下图内容:
|
||||
|
||||

|
||||
|
||||
其中 Type 必须为 `ReverseWebSocket`;
|
||||
Host 为 QChatGPT 运行的主机 IP,若在同一主机上,可以写 `127.0.0.1`;
|
||||
Suffix 必须为 `/ws`
|
||||
@@ -1,19 +1,9 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: 其他消息平台
|
||||
title: 部署消息平台LiteLoaderQQNT的教程
|
||||
icon: more
|
||||
order: 2
|
||||
author: RockChinQ
|
||||
date: 2024-03-02
|
||||
---
|
||||
|
||||
# LiteLoaderQQNT
|
||||
|
||||
- [LiteLoaderQQNT 的 OneBot API 插件](https://github.com/LLOneBot/LLOneBot) 注入 QQ 客户端并将其转换为 OneBot 11 协议
|
||||
|
||||
安装LiteLoaderQQNT的教程:https://llonebot.github.io/zh-CN/guide/getting-started
|
||||
|
||||

|
||||
# 部署消息平台LiteLoaderQQNT的教程
|
||||
|
||||
# LiteLoaderQQNT
|
||||
|
||||
- [LiteLoaderQQNT 的 OneBot API 插件](https://github.com/LLOneBot/LLOneBot) 注入 QQ 客户端并将其转换为 OneBot 11 协议
|
||||
|
||||
安装LiteLoaderQQNT的教程:https://llonebot.github.io/zh-CN/guide/getting-started
|
||||
|
||||

|
||||
@@ -1,14 +1,4 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: NapCat的部署教程
|
||||
title: 部署消息平台NapCat的教程
|
||||
icon: software
|
||||
order: 3
|
||||
author: Lazy
|
||||
date: 2024-05-13
|
||||
---
|
||||
# 部署消息平台NapCat的教程
|
||||
|
||||
::: tip
|
||||
|
||||
@@ -1,84 +1,74 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: OpenShamrock的部署教程
|
||||
title: 部署消息平台shamrock的教程
|
||||
icon: mobile
|
||||
order: 4
|
||||
author: ikun
|
||||
date: 2023-12-21
|
||||
---
|
||||
|
||||
> 本文档仅为基本步骤,详细操作、答疑解惑及最新信息请前往[OpenShamrock官方文档](https://whitechi73.github.io/OpenShamrock/)。
|
||||
|
||||
::: tip
|
||||
|
||||
项目归档,不建议继续使用
|
||||
|
||||
:::
|
||||
|
||||
## OpenShamrock简介
|
||||
|
||||
Mirai、go-cqhttp 之类的是模拟 QQ 的协议进行通信,而 Shamrock 使用的是 安卓的 Hook 来操作 QQ 模拟点击,稳定性较高。
|
||||
|
||||
可选平台(or设备):
|
||||
|
||||
- 模拟器
|
||||
- Linux服务器
|
||||
- PVE
|
||||
- 云手机
|
||||
- 实体手机
|
||||
|
||||
## 步骤(模拟器)
|
||||
|
||||
### 环境配置
|
||||
|
||||
**注:建议使用[mumu模拟器](https://mumu.163.com/)**
|
||||
|
||||
参考[此文档](https://forum.libfekit.so/d/60-mumu12mo-ni-qi-an-zhuang-magiskhe-lsposed)安装Magisk和LSPosed
|
||||
|
||||
记得打开mumu模拟器的可写系统盘和root权限
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
### 安装OpenShamrock
|
||||
|
||||
从[OpenShamrock的Actions](https://github.com/whitechi73/OpenShamrock/actions)下载最新的OpenShamrock安装包,注意下载带有`all`字样的版本,如`Shamrock-v1.0.7.r253.81be383-all.zip`,解压,在mumu模拟器安装
|
||||
|
||||
|
||||
#### 配置Shamrock
|
||||
|
||||
1. 在 Shamrock 的设置页面修改设置如图:
|
||||
|
||||
启用被动 Websocket,并填写 QChatGPT 的 aiocqhttp 适配器监听的地址和端口(详见填写配置信息页)。
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
填写的被动 Websocket 地址为 QChatGPT 的 aiocqhttp 适配器监听的地址和端口,且路径必须为 `/ws`,例如 `ws://127.0.0.1:8080/ws`,详见填写配置信息页。
|
||||
|
||||
2. 并前往 LSPosed 的模块管理页面 启用模块 Shamrock
|
||||
|
||||

|
||||
|
||||
### 安装QQ
|
||||
|
||||
参考[此页面](https://whitechi73.github.io/OpenShamrock/guide/faq.html#%E6%94%AF%E6%8C%81%E7%9A%84qq%E7%89%88%E6%9C%AC)给出的支持的QQ版本,选择最新即可
|
||||
|
||||
在[这里](https://qq.cn.uptodown.com/android/versions)选择对应的版本下载,在mumu模拟器安装即可
|
||||
|
||||
### 登录机器人QQ
|
||||
|
||||
1. 打开QQ,登录机器人QQ,关闭QQ,重启模拟器。
|
||||
2. 启动 LSPosed,Shamrock 将会自动运行,启动 QQ。
|
||||
3. 打开 Shamrock 页面,此时应显示 `已激活` 并可以查看到账号信息和相关消息日志。
|
||||
|
||||
### 后续步骤
|
||||
|
||||
查看填写配置信息页,通过 aiocqhttp 适配器接入。
|
||||
|
||||
# 部署消息平台shamrock的教程
|
||||
|
||||
> 本文档仅为基本步骤,详细操作、答疑解惑及最新信息请前往[OpenShamrock官方文档](https://whitechi73.github.io/OpenShamrock/)。
|
||||
|
||||
::: tip
|
||||
|
||||
项目归档,不建议继续使用
|
||||
|
||||
:::
|
||||
|
||||
## OpenShamrock简介
|
||||
|
||||
Mirai、go-cqhttp 之类的是模拟 QQ 的协议进行通信,而 Shamrock 使用的是 安卓的 Hook 来操作 QQ 模拟点击,稳定性较高。
|
||||
|
||||
可选平台(or设备):
|
||||
|
||||
- 模拟器
|
||||
- Linux服务器
|
||||
- PVE
|
||||
- 云手机
|
||||
- 实体手机
|
||||
|
||||
## 步骤(模拟器)
|
||||
|
||||
### 环境配置
|
||||
|
||||
**注:建议使用[mumu模拟器](https://mumu.163.com/)**
|
||||
|
||||
参考[此文档](https://forum.libfekit.so/d/60-mumu12mo-ni-qi-an-zhuang-magiskhe-lsposed)安装Magisk和LSPosed
|
||||
|
||||
记得打开mumu模拟器的可写系统盘和root权限
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
### 安装OpenShamrock
|
||||
|
||||
从[OpenShamrock的Actions](https://github.com/whitechi73/OpenShamrock/actions)下载最新的OpenShamrock安装包,注意下载带有`all`字样的版本,如`Shamrock-v1.0.7.r253.81be383-all.zip`,解压,在mumu模拟器安装
|
||||
|
||||
|
||||
#### 配置Shamrock
|
||||
|
||||
1. 在 Shamrock 的设置页面修改设置如图:
|
||||
|
||||
启用被动 Websocket,并填写 QChatGPT 的 aiocqhttp 适配器监听的地址和端口(详见填写配置信息页)。
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
填写的被动 Websocket 地址为 QChatGPT 的 aiocqhttp 适配器监听的地址和端口,且路径必须为 `/ws`,例如 `ws://127.0.0.1:8080/ws`,详见填写配置信息页。
|
||||
|
||||
2. 并前往 LSPosed 的模块管理页面 启用模块 Shamrock
|
||||
|
||||

|
||||
|
||||
### 安装QQ
|
||||
|
||||
参考[此页面](https://whitechi73.github.io/OpenShamrock/guide/faq.html#%E6%94%AF%E6%8C%81%E7%9A%84qq%E7%89%88%E6%9C%AC)给出的支持的QQ版本,选择最新即可
|
||||
|
||||
在[这里](https://qq.cn.uptodown.com/android/versions)选择对应的版本下载,在mumu模拟器安装即可
|
||||
|
||||
### 登录机器人QQ
|
||||
|
||||
1. 打开QQ,登录机器人QQ,关闭QQ,重启模拟器。
|
||||
2. 启动 LSPosed,Shamrock 将会自动运行,启动 QQ。
|
||||
3. 打开 Shamrock 页面,此时应显示 `已激活` 并可以查看到账号信息和相关消息日志。
|
||||
|
||||
### 后续步骤
|
||||
|
||||
查看填写配置信息页,通过 aiocqhttp 适配器接入。
|
||||
|
||||

|
||||
@@ -1,158 +1,151 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: Go-cqhttp的部署教程
|
||||
title: 部署消息平台go-cqhttp的教程
|
||||
icon: state
|
||||
order: 3
|
||||
author: ikun0014
|
||||
date: 2024-08-18
|
||||
category:
|
||||
- 部署教程
|
||||
---
|
||||
|
||||
> 本文档仅为基本步骤,详细操作、答疑解惑及最新信息请前往[go-cqhttp官方文档](https://docs.go-cqhttp.org/)。
|
||||
|
||||
::: warning
|
||||
|
||||
gocq未归档,但原开发者表示:[https://github.com/Mrs4s/go-cqhttp/issues/2471](https://github.com/Mrs4s/go-cqhttp/issues/2471)
|
||||
|
||||
:::
|
||||
|
||||
## 下载go-cqhttp
|
||||
|
||||
从[go-cqhttp的Release](https://github.com/Mrs4s/go-cqhttp/releases/latest)下载最新的go-cqhttp可执行文件(建议直接下载可执行文件压缩包,而不是安装器)
|
||||
|
||||

|
||||
|
||||
## 运行并配置go-cqhttp
|
||||
|
||||
解压并运行,首次运行会询问需要开放的网络协议,**请填入`2`并回车,必须输入`2`❗❗❗❗❗❗❗**
|
||||
|
||||
```
|
||||
C:\Softwares\go-cqhttp.old> .\go-cqhttp.exe
|
||||
未找到配置文件,正在为您生成配置文件中!
|
||||
请选择你需要的通信方式:
|
||||
> 0: HTTP通信
|
||||
> 1: 云函数服务
|
||||
> 2: 正向 Websocket 通信
|
||||
> 3: 反向 Websocket 通信
|
||||
请输入你需要的编号(0-9),可输入多个,同一编号也可输入多个(如: 233)
|
||||
您的选择是:2
|
||||
```
|
||||
|
||||
提示已生成`config.yml`文件,关闭go-cqhttp。
|
||||
|
||||
打开go-cqhttp同目录的`config.yml`
|
||||
|
||||
1. 编辑账号登录信息
|
||||
|
||||
只需要修改下方`uin`和`password`为你要登录的机器人账号的QQ号和密码即可。
|
||||
|
||||
```yaml
|
||||
account: # 账号相关
|
||||
uin: 1233456 # QQ账号
|
||||
password: '' # 密码为空时使用扫码登录
|
||||
encrypt: false # 是否开启密码加密
|
||||
status: 0 # 在线状态 请参考 https://docs.go-cqhttp.org/guide/config.html#在线状态
|
||||
relogin: # 重连设置
|
||||
delay: 3 # 首次重连延迟, 单位秒
|
||||
interval: 3 # 重连间隔
|
||||
max-times: 0 # 最大重连次数, 0为无限制
|
||||
```
|
||||
|
||||
2. 配置签名服务器
|
||||
|
||||
按照如下填写,
|
||||
|
||||
```yaml
|
||||
sign-servers:
|
||||
- url: 'https://qsign.trpgbot.com/' # 主签名服务器地址, 必填
|
||||
key: 'selfshare'
|
||||
authorization: '-'
|
||||
- url: 'https://qsign-v3.trpgbot.com/' # 次要服务器地址,选填
|
||||
key: 'selfshare'
|
||||
authorization: '-'
|
||||
|
||||
auto-register: true
|
||||
```
|
||||
|
||||
写入文件/data/versions/6.json,
|
||||
|
||||
```json
|
||||
{
|
||||
"apk_id": "com.tencent.mobileqq",
|
||||
"app_id": 537220362,
|
||||
"sub_app_id": 537220362,
|
||||
"app_key": "0S200MNJT807V3GE",
|
||||
"sort_version_name": "9.0.56.16830",
|
||||
"build_time": 1713424357,
|
||||
"apk_sign": "a6b745bf24a2c277527716f6f36eb68d",
|
||||
"sdk_version": "6.0.0.2560",
|
||||
"sso_version": 21,
|
||||
"misc_bitmap": 150470524,
|
||||
"main_sig_map": 34869472,
|
||||
"sub_sig_map": 66560,
|
||||
"dump_time": 1713424357,
|
||||
"qua": "V1_AND_SQ_9.0.56_6372_YYB_D",
|
||||
"protocol_type": 6
|
||||
}
|
||||
```
|
||||
|
||||
感谢zhaodice大佬带来的QQ 9.0.56签名服务器
|
||||
|
||||
3.修改反向Websocket连接地址
|
||||
```yaml
|
||||
- ws-reverse:
|
||||
# 反向WS Universal 地址
|
||||
# 注意 设置了此项地址后下面两项将会被忽略
|
||||
universal: ws://localhost:8080/ws
|
||||
```
|
||||
如果端口不同请自行修改
|
||||
|
||||
4. 若您的服务器位于公网,强烈建议您填写`access-token` (可选)
|
||||
|
||||
```yaml
|
||||
# 默认中间件锚点
|
||||
default-middlewares: &default
|
||||
# 访问密钥, 强烈推荐在公网的服务器设置
|
||||
access-token: ''
|
||||
```
|
||||
|
||||
5. 配置完成,重新启动go-cqhttp
|
||||
|
||||
## 登录
|
||||
|
||||
双击登录脚本,一段时间后,可以看到提示
|
||||
|
||||

|
||||
|
||||
把`Captcha link: `后边的链接复制下来,用Chrome或者Edge浏览器打开,按F12打开开发者工具
|
||||
|
||||
点开 `Network`
|
||||
|
||||

|
||||
|
||||
在浏览器中完成验证, 在 `Network` 中找到名为 `cap_union_new_verify` 的请求, 在最下面
|
||||
|
||||

|
||||
|
||||
ticket 后那一坨就是要输入回 mirai 的内容,但不包括首尾的双引号
|
||||
|
||||
**注意**
|
||||
|
||||
- 复制的时候记得删掉引号(`"`, 前后都有一个), 那个不是ticket内容
|
||||
- 速度要快
|
||||
- 注意不要漏字符(没复制完, 后面还有很长)
|
||||
|
||||
把复制下来的东西,粘贴到运行go-cq的终端中
|
||||
|
||||

|
||||
|
||||
> 若启动后登录不成功,请尝试根据[此文档](https://docs.go-cqhttp.org/guide/config.html#%E8%AE%BE%E5%A4%87%E4%BF%A1%E6%81%AF)修改`device.json`的协议编号。
|
||||
|
||||
|
||||
## 后续步骤
|
||||
|
||||
查看填写配置信息页,通过 aiocqhttp 适配器接入。
|
||||
# 部署消息平台go-cqhttp的教程
|
||||
|
||||
> 本文档仅为基本步骤,详细操作、答疑解惑及最新信息请前往[go-cqhttp官方文档](https://docs.go-cqhttp.org/)。
|
||||
|
||||
::: warning
|
||||
|
||||
gocq未归档,但原开发者表示:[https://github.com/Mrs4s/go-cqhttp/issues/2471](https://github.com/Mrs4s/go-cqhttp/issues/2471)
|
||||
|
||||
:::
|
||||
|
||||
## 下载go-cqhttp
|
||||
|
||||
从[go-cqhttp的Release](https://github.com/Mrs4s/go-cqhttp/releases/latest)下载最新的go-cqhttp可执行文件(建议直接下载可执行文件压缩包,而不是安装器)
|
||||
|
||||

|
||||
|
||||
## 运行并配置go-cqhttp
|
||||
|
||||
解压并运行,首次运行会询问需要开放的网络协议,**请填入`02`并回车,必须输入`02`❗❗❗❗❗❗❗**
|
||||
|
||||
```
|
||||
C:\Softwares\go-cqhttp.old> .\go-cqhttp.exe
|
||||
未找到配置文件,正在为您生成配置文件中!
|
||||
请选择你需要的通信方式:
|
||||
> 0: HTTP通信
|
||||
> 1: 云函数服务
|
||||
> 2: 正向 Websocket 通信
|
||||
> 3: 反向 Websocket 通信
|
||||
请输入你需要的编号(0-9),可输入多个,同一编号也可输入多个(如: 233)
|
||||
您的选择是:02
|
||||
```
|
||||
|
||||
提示已生成`config.yml`文件,关闭go-cqhttp。
|
||||
|
||||
打开go-cqhttp同目录的`config.yml`
|
||||
|
||||
1. 编辑账号登录信息
|
||||
|
||||
只需要修改下方`uin`和`password`为你要登录的机器人账号的QQ号和密码即可。
|
||||
|
||||
```yaml
|
||||
account: # 账号相关
|
||||
uin: 1233456 # QQ账号
|
||||
password: '' # 密码为空时使用扫码登录
|
||||
encrypt: false # 是否开启密码加密
|
||||
status: 0 # 在线状态 请参考 https://docs.go-cqhttp.org/guide/config.html#在线状态
|
||||
relogin: # 重连设置
|
||||
delay: 3 # 首次重连延迟, 单位秒
|
||||
interval: 3 # 重连间隔
|
||||
max-times: 0 # 最大重连次数, 0为无限制
|
||||
```
|
||||
|
||||
2. 修改websocket端口
|
||||
|
||||
在`config.yml`下方找到以下内容
|
||||
|
||||
```yaml
|
||||
- ws:
|
||||
# 正向WS服务器监听地址
|
||||
address: 0.0.0.0:8080
|
||||
middlewares:
|
||||
<<: *default # 引用默认中间件
|
||||
```
|
||||
|
||||
**将`0.0.0.0:8080`改为`0.0.0.0:6700`**,保存并关闭`config.yml`。
|
||||
|
||||
3. 配置签名服务器
|
||||
|
||||
按照如下填写,
|
||||
|
||||
```yam
|
||||
sign-servers:
|
||||
- url: 'https://qsign.trpgbot.com/' # 主签名服务器地址, 必填
|
||||
key: 'selfshare'
|
||||
authorization: '-'
|
||||
- url: 'https://qsign-v3.trpgbot.com/' # 次要服务器地址,选填
|
||||
key: 'selfshare'
|
||||
authorization: '-'
|
||||
|
||||
auto-register: true
|
||||
```
|
||||
|
||||
写入文件/data/versions/6.json,
|
||||
|
||||
```json
|
||||
{
|
||||
"apk_id": "com.tencent.mobileqq",
|
||||
"app_id": 537220362,
|
||||
"sub_app_id": 537220362,
|
||||
"app_key": "0S200MNJT807V3GE",
|
||||
"sort_version_name": "9.0.56.16830",
|
||||
"build_time": 1713424357,
|
||||
"apk_sign": "a6b745bf24a2c277527716f6f36eb68d",
|
||||
"sdk_version": "6.0.0.2560",
|
||||
"sso_version": 21,
|
||||
"misc_bitmap": 150470524,
|
||||
"main_sig_map": 34869472,
|
||||
"sub_sig_map": 66560,
|
||||
"dump_time": 1713424357,
|
||||
"qua": "V1_AND_SQ_9.0.56_6372_YYB_D",
|
||||
"protocol_type": 6
|
||||
}
|
||||
```
|
||||
|
||||
感谢zhaodice大佬带来的QQ 9.0.56签名服务器
|
||||
|
||||
4. 若您的服务器位于公网,强烈建议您填写`access-token` (可选)
|
||||
|
||||
```yaml
|
||||
# 默认中间件锚点
|
||||
default-middlewares: &default
|
||||
# 访问密钥, 强烈推荐在公网的服务器设置
|
||||
access-token: ''
|
||||
```
|
||||
|
||||
5. 配置完成,重新启动go-cqhttp
|
||||
|
||||
## 登录
|
||||
|
||||
双击登录脚本,一段时间后,可以看到提示
|
||||
|
||||

|
||||
|
||||
把`Captcha link: `后边的链接复制下来,用Chrome或者Edge浏览器打开,按F12打开开发者工具
|
||||
|
||||
点开 `Network`
|
||||
|
||||

|
||||
|
||||
在浏览器中完成验证, 在 `Network` 中找到名为 `cap_union_new_verify` 的请求, 在最下面
|
||||
|
||||

|
||||
|
||||
ticket 后那一坨就是要输入回 mirai 的内容,但不包括首尾的双引号
|
||||
|
||||
**注意**
|
||||
|
||||
- 复制的时候记得删掉引号(`"`, 前后都有一个), 那个不是ticket内容
|
||||
- 速度要快
|
||||
- 注意不要漏字符(没复制完, 后面还有很长)
|
||||
|
||||
把复制下来的东西,粘贴到运行go-cq的终端中
|
||||
|
||||

|
||||
|
||||
> 若启动后登录不成功,请尝试根据[此文档](https://docs.go-cqhttp.org/guide/config.html#%E8%AE%BE%E5%A4%87%E4%BF%A1%E6%81%AF)修改`device.json`的协议编号。
|
||||
|
||||
|
||||
## 后续步骤
|
||||
|
||||
查看填写配置信息页,通过 Nakuru 适配器接入。
|
||||
@@ -1,14 +1,4 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: ChatGPT QQ机器人教程,QChatGPT项目部署教程
|
||||
title: 消息平台部署教程
|
||||
icon: merge
|
||||
author: Lazy
|
||||
date: 2023-02-17
|
||||
index: false
|
||||
---
|
||||
# 消息平台部署教程
|
||||
|
||||
:::info 目录
|
||||
[[toc]]
|
||||
@@ -29,5 +19,4 @@ QChatGPT 需要一个中间程序,处理 QQ 等 IM 的协议(大部分是逆
|
||||
以前流行的框架,现在长期不再维护或被腾讯严重围追堵截,不推荐使用:
|
||||
|
||||
- Mirai(QQ):[Mirai部署教程](mirai.md) (使用旧版协议,风控严重)
|
||||
- go-cqhttp(QQ):[go-cqhttp部署教程(For nakuru)](nakuru.md)(使用旧版协议,[原开发者停止维护](https://github.com/Mrs4s/go-cqhttp?tab=readme-ov-file#%E9%87%8D%E8%A6%81%E4%BF%A1%E6%81%AF))
|
||||
|
||||
- go-cqhttp(QQ):[go-cqhttp部署教程(For nakuru)](nakuru.md)(使用旧版协议,[原开发者停止维护](https://github.com/Mrs4s/go-cqhttp?tab=readme-ov-file#%E9%87%8D%E8%A6%81%E4%BF%A1%E6%81%AF))
|
||||
@@ -1,16 +1,4 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: Yiri-mirai的部署教程
|
||||
title: 部署消息平台mirai的教程
|
||||
icon: warn
|
||||
order: 3
|
||||
author: Lazy
|
||||
date: 2023-12-18
|
||||
category:
|
||||
- 部署教程
|
||||
---
|
||||
# 部署消息平台mirai的教程
|
||||
|
||||
> 本文档仅为基本步骤,详细操作、答疑解惑及最新信息请前往[Mirai官方代码库](https://github.com/mamoe/mirai)、[Mirai官方论坛](https://mirai.mamoe.net/)
|
||||
|
||||
@@ -1,26 +1,14 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: QQ 官方机器人 API 使用教程
|
||||
title: 使用 QQ 官方机器人 API 的教程
|
||||
icon: support
|
||||
order: 5
|
||||
author: RockChinQ
|
||||
date: 2024-02-17
|
||||
category:
|
||||
- 部署教程
|
||||
---
|
||||
|
||||
QQ 官方 API 可以将机器人接入 QQ 频道 和 QQ 群。
|
||||
QQ官方机器人所有人均可申请,可以在频道和群聊中使用,私聊也可。
|
||||
|
||||
(之前个人创建的机器人是没有此群聊权限的,只要重新申请创建一个即可)
|
||||
|
||||
## 注册 QQ 机器人
|
||||
|
||||
前往[QQ开放平台](https://q.qq.com/#/),找到下方的 QQ 机器人文档,按照指引注册 QQ 频道机器人。
|
||||
|
||||
## 获取凭证
|
||||
|
||||
# 使用 QQ 官方机器人 API 的教程
|
||||
|
||||
QQ 官方 API 可以将机器人接入 QQ 频道 和 QQ 群。
|
||||
QQ官方机器人所有人均可申请,可以在频道和群聊中使用,私聊也可。
|
||||
|
||||
(之前个人创建的机器人是没有此群聊权限的,只要重新申请创建一个即可)
|
||||
|
||||
## 注册 QQ 机器人
|
||||
|
||||
前往[QQ开放平台](https://q.qq.com/#/),找到下方的 QQ 机器人文档,按照指引注册 QQ 频道机器人。
|
||||
|
||||
## 获取凭证
|
||||
|
||||
注册完成后,前往机器人控制台,找到 开发设置,获取 `AppId(机器人ID)` 和 `AppSecret(机器人密钥)`,接下来进入填写配置信息步骤。
|
||||
@@ -1,15 +1,4 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: ChatGPT QQ机器人教程,QChatGPT项目部署教程
|
||||
title: Docker部署(仅推荐在Linux上使用)
|
||||
icon: stack
|
||||
order: 4
|
||||
author: Lazy,ikun
|
||||
date: 2023-10-28
|
||||
---
|
||||
|
||||
# Docker部署(仅推荐在Linux上使用)
|
||||
|
||||
:::info 目录
|
||||
[[toc]]
|
||||
@@ -56,6 +45,4 @@ docker compose up
|
||||
|
||||
## 注意
|
||||
|
||||
- 安装的插件都会保存在`plugins`(映射到本目录`plugins`),安装插件时可能会自动安装相应的依赖,此时若`重新创建`容器,已安装的插件将被加载,但所需的增量依赖并未安装,会导致引入问题。您可以删除插件目录后重启,再次安装插件,以便程序可以自动安装插件所需依赖。
|
||||
|
||||
|
||||
- 安装的插件都会保存在`plugins`(映射到本目录`plugins`),安装插件时可能会自动安装相应的依赖,此时若`重新创建`容器,已安装的插件将被加载,但所需的增量依赖并未安装,会导致引入问题。您可以删除插件目录后重启,再次安装插件,以便程序可以自动安装插件所需依赖。
|
||||
@@ -1,24 +1,15 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: ChatGPT QQ机器人教程,QChatGPT项目部署教程
|
||||
title: QChatGPT部署教程
|
||||
icon: flow
|
||||
author: Lazy
|
||||
date: 2023-02-17
|
||||
index: false
|
||||
---
|
||||
:::info 目录
|
||||
[[toc]]
|
||||
:::
|
||||
|
||||
选择一种部署 QChatGPT 的方式。
|
||||
|
||||
## 手动部署
|
||||
|
||||
- [<HopeIcon icon="support" size="1.2em"/> 点击查看手动部署的具体操作](manual.md)
|
||||
|
||||
## Docker部署
|
||||
|
||||
- [<HopeIcon icon="support" size="1.2em"/> 点击查看Docker部署的具体操作](docker.md)
|
||||
# QChatGPT部署教程
|
||||
|
||||
:::info 目录
|
||||
[[toc]]
|
||||
:::
|
||||
|
||||
选择一种部署 QChatGPT 的方式。
|
||||
|
||||
## 手动部署
|
||||
|
||||
- [<HopeIcon icon="support" size="1.2em"/> 点击查看手动部署的具体操作](manual.md)
|
||||
|
||||
## Docker部署
|
||||
|
||||
- [<HopeIcon icon="support" size="1.2em"/> 点击查看Docker部署的具体操作](docker.md)
|
||||
@@ -1,14 +1,5 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: ChatGPT QQ机器人教程,QChatGPT项目部署教程
|
||||
title: 手动部署(推荐,可以在所有平台上使用)
|
||||
icon: support
|
||||
order: 3
|
||||
author: Lazy
|
||||
date: 2023-02-17
|
||||
---
|
||||
# 手动部署(推荐,可以在所有平台上使用)
|
||||
|
||||
:::warning
|
||||
请使用Python 3.10.1(不包含3.10.0)及以上版本,推荐3.10.9版本,没有Python的需自行安装,参考[此教程](./more-details/python.md)
|
||||
:::
|
||||
@@ -77,4 +68,4 @@ python3 main.py
|
||||
当你部署消息平台和填写配置文件后,再次运行
|
||||
```bash
|
||||
python3 main.py
|
||||
```
|
||||
```
|
||||
@@ -1,14 +1,4 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: Python的安装教程
|
||||
title: Python的安装教程(QChatGPT)
|
||||
icon: support
|
||||
order: 3
|
||||
author: Lazy
|
||||
date: 2023-12-18
|
||||
---
|
||||
# Python的安装教程(QChatGPT)
|
||||
|
||||
## 第一步:安装Python
|
||||
|
||||
@@ -30,4 +20,4 @@ date: 2023-12-18
|
||||
|
||||

|
||||
|
||||
提示如图时,表明安装成功了
|
||||
提示如图时,表明安装成功了
|
||||
@@ -1,13 +1,4 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: ChatGPT QQ机器人教程,QChatGPT项目部署教程
|
||||
title: 填写配置信息
|
||||
icon: class
|
||||
author: Lazy
|
||||
date: 2024-02-18
|
||||
---
|
||||
# 填写配置信息
|
||||
|
||||
修改以下配置文件即可启用 QChatGPT 的基本功能,当你阅读完此页面后,建议查看[配置详解](../config/),以了解更多的配置项详解
|
||||
|
||||
@@ -183,5 +174,4 @@ date: 2024-02-18
|
||||
|
||||
阅读并完成以上教程后,你应该可以成功使用QChatGPT了,如果不能请再次阅读(你或许漏做或错做某些步骤),如果完全阅读并充分理解本文档后仍然确实无法使用,你可以在[这里](./README.md)找到交流群
|
||||
|
||||
:::
|
||||
|
||||
:::
|
||||
@@ -1,38 +1,25 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: QChatGPT API 参考
|
||||
title: API 参考
|
||||
icon: code
|
||||
order: 5
|
||||
author: RockChinQ
|
||||
date: 2024-03-22
|
||||
category:
|
||||
- 插件介绍
|
||||
index: false
|
||||
---
|
||||
|
||||
以下 API 仅针对 事件插件 可用,组件扩展形式请自行阅读源码。
|
||||
|
||||
## 消息处理
|
||||
|
||||
### 回复消息
|
||||
|
||||
ctx.reply(message_chain: mirai.MessageChain)
|
||||
|
||||
回复此次事件的发起会话。
|
||||
|
||||
- `message_chain`:[YiriMirai 的 MessageChain 对象](https://yiri-mirai.wybxc.cc/docs/basic/message-chain),若用户使用的不是 YiriMirai 适配器,程序也能自动转换为目标消息链
|
||||
|
||||
### 发送主动消息
|
||||
|
||||
> 由于 QQ 官方 API 对主动消息的支持性很差,故若用户使用的是 QQ 官方 API,发送主动消息可能会失败
|
||||
|
||||
ctx.send_message(target_type: str, target_id: str, message_chain: mirai.MessageChain)
|
||||
|
||||
发送主动消息给目标。
|
||||
|
||||
- `target_type`:目标类型,可选值:`"person"`、`"group"`
|
||||
- `target_id`:目标 ID(QQ 号或群号)
|
||||
- `message_chain`:[YiriMirai 的 MessageChain 对象](https://yiri-mirai.wybxc.cc/docs/basic/message-chain),若用户使用的不是 YiriMirai 适配器,程序也能自动转换为目标消息链
|
||||
# API 参考
|
||||
|
||||
以下 API 仅针对 事件插件 可用,组件扩展形式请自行阅读源码。
|
||||
|
||||
## 消息处理
|
||||
|
||||
### 回复消息
|
||||
|
||||
ctx.reply(message_chain: mirai.MessageChain)
|
||||
|
||||
回复此次事件的发起会话。
|
||||
|
||||
- `message_chain`:[YiriMirai 的 MessageChain 对象](https://yiri-mirai.wybxc.cc/docs/basic/message-chain),若用户使用的不是 YiriMirai 适配器,程序也能自动转换为目标消息链
|
||||
|
||||
### 发送主动消息
|
||||
|
||||
> 由于 QQ 官方 API 对主动消息的支持性很差,故若用户使用的是 QQ 官方 API,发送主动消息可能会失败
|
||||
|
||||
ctx.send_message(target_type: str, target_id: str, message_chain: mirai.MessageChain)
|
||||
|
||||
发送主动消息给目标。
|
||||
|
||||
- `target_type`:目标类型,可选值:`"person"`、`"group"`
|
||||
- `target_id`:目标 ID(QQ 号或群号)
|
||||
- `message_chain`:[YiriMirai 的 MessageChain 对象](https://yiri-mirai.wybxc.cc/docs/basic/message-chain),若用户使用的不是 YiriMirai 适配器,程序也能自动转换为目标消息链
|
||||
@@ -1,115 +1,102 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: QChatGPT 组件扩展教程
|
||||
title: 组件扩展
|
||||
icon: code
|
||||
order: 4
|
||||
author: RockChinQ
|
||||
date: 2024-03-21
|
||||
category:
|
||||
- 插件介绍
|
||||
index: false
|
||||
---
|
||||
|
||||
> 请先阅读[插件介绍页](../plugin/intro.md)
|
||||
|
||||
:::info 目录
|
||||
[[toc]]
|
||||
:::
|
||||
|
||||
普通的以 `BasePlugin` 子类包装的插件只能监听预定事件,而组件扩展则可以替换整个组件,实现更强大的功能扩展。
|
||||
|
||||
- 组件扩展不需要包装在 `BasePlugin` 子类中,可以放在插件目录下任意一个模块中
|
||||
- 扩展的组件不受插件开关控制
|
||||
- 扩展的组件通常由配置文件中的选项选用
|
||||
|
||||
## 可扩展的组件
|
||||
|
||||
扩展一个组件的方法,新建一个类,继承于组件的基类,然后在类上使用对应的装饰器,再根据使用方式来配置使用该实现的组件。
|
||||
|
||||
大部分组件中包含了`ap: pkg.core.app.Application`对象,可以用这个对象来与整个程序的各个部分进行交互。
|
||||
大部分组件支持实现`async def initialize(self)`方法,用于在组件加载时进行异步初始化。
|
||||
`ap`对象中包含了各个配置文件的管理器对象,可以用于访问各个配置文件。
|
||||
|
||||
### 命令
|
||||
|
||||
新增一个命令。
|
||||
|
||||
- 基类:`pkg.command.operator.CommandOperator`
|
||||
- 装饰器:`pkg.command.operator.operator_class(name: str, help: str="", usage: str=None, alias: list[str]=[], privilege: int=1, parent_class: typing.Type[CommandOperator] = None)`
|
||||
- 参考实现:`pkg.command.operators/`
|
||||
- 使用方式:加载成功后,执行命令`!cmd`可查看所有命令和命令帮助信息。
|
||||
|
||||
### 内容过滤器
|
||||
|
||||
新增一个在处理消息前后判断是否要继续的内容处理器。
|
||||
|
||||
- 基类:`pkg.pipeline.cntfilter.filter.ContentFilter`
|
||||
- 装饰器:`pkg.pipeline.cntfilter.filter.filter_class(name: str)`
|
||||
- 参考实现:`pkg.pipeline.cntfilter.filters/`
|
||||
- 使用方式:加载成功后,每次都会在过滤器实现声明的检查阶段调用内容过滤器的`process`方法。
|
||||
|
||||
### 长消息处理策略
|
||||
|
||||
新增一个长消息处理策略。类似:文本转合并转发消息组件、文本转图片。
|
||||
|
||||
- 基类:`pkg.pipeline.longtext.strategy.LongTextStrategy`
|
||||
- 装饰器:`pkg.pipeline.longtext.strategy.strategy_class(name: str)`
|
||||
- 参考实现:`pkg.pipeline.longtext.strategies/`
|
||||
- 使用方式:需要在 `data/config/platform.json` 的 `long-text-strategy` 字段中将 `strategy` 设置为新增的策略名称。
|
||||
|
||||
### 会话限速算法
|
||||
|
||||
新增一个会话限速算法。会话请求在进入和退出时均会调用限速算法实现类的方法,实现类可以控制等待或丢弃请求。
|
||||
|
||||
- 基类:`pkg.pipeline.ratelimit.algo.RateLimitAlgo`
|
||||
- 装饰器:`pkg.pipeline.ratelimit.algo.algo_class(name: str)`
|
||||
- 参考实现:`pkg.pipeline.ratelimit.algos/`
|
||||
- 使用方式:需要在 `data/config/pipeline.json` 的 `rate-limit` 字段中将 `algo` 设置为新增的算法名称。
|
||||
|
||||
### LLM 接口请求器
|
||||
|
||||
新增一个 LLM 接口请求器,例如:接入ChatGLM接口等。
|
||||
|
||||
- 基类:`pkg.provider.modelmgr.api.LLMAPIRequester`
|
||||
- 装饰器:`pkg.provider.modelmgr.api.api_requester_class(name: str)`
|
||||
- 参考实现:`pkg.provider.modelmgr.apis/`
|
||||
- 使用方式:需要在`data/metadata/llm-models.json`中添加模型,将模型的`requester`字段设置为新增的请求器名称。具体请查看元数据配置板块。
|
||||
|
||||
### Prompt 加载器
|
||||
|
||||
新增一个 Prompt 加载器。
|
||||
|
||||
- 基类:`pkg.provider.sysprompt.loader.PromptLoader`
|
||||
- 装饰器:`pkg.provider.sysprompt.loader.loader_class(name: str)`
|
||||
- 参考实现:`pkg.provider.sysprompt.loaders/`
|
||||
- 使用方式:需要在`data/config/provider.json`将`prompt-mode`设置为新增的加载器名称。
|
||||
|
||||
### 消息平台适配器
|
||||
|
||||
新增一个消息平台适配器,例如:接入Telegram等。
|
||||
|
||||
- 基类:`pkg.platform.adapter.MessageSourceAdapter`
|
||||
- 装饰器:`pkg.platform.adapter.adapter_class(name: str)`
|
||||
- 参考实现:`pkg.platform.adapters/`
|
||||
- 使用方式:`data/config/platform.json`的`platform-adapters`中各个配置信息,将在初始化时自动根据`adapter`名称查找对应的适配器实现,并将配置传递给适配器以进行初始化。消息平台适配器实现复杂,建议多参考现有的实现。
|
||||
|
||||
### 对话历史消息截断器
|
||||
|
||||
新增一个对话历史消息截断器,在发送到模型之前对历史消息进行截断。
|
||||
|
||||
- 基类:`pkg.pipeline.msgtrun.truncator.Truncator`
|
||||
- 装饰器:`pkg.pipeline.msgtrun.truncator.truncator_class(name: str)`
|
||||
- 参考实现:`pkg.pipeline.msgtrun.truncators/`
|
||||
- 使用方式:需要在`data/config/pipeline.json`的`msg-truncate`字段中设置需要使用的截断器`method`为新增的截断器名称。
|
||||
|
||||
### Chat 请求运行器
|
||||
|
||||
新增一个聊天消息运行器,默认的是 local-agent,提供了基本的 Prompt 组合、Agent 编排、多轮请求等功能。如果需要接入知识库或者本地 RAG,请在这里实现。
|
||||
|
||||
- 基类:`pkg.provider.runner.RequesterRunner`
|
||||
- 装饰器:`pkg.provider.runner.runner_class(name: str)`
|
||||
- 参考实现:`pkg.provider.runners/`
|
||||
# 组件扩展
|
||||
|
||||
> 请先阅读[插件介绍页](../plugin/intro.md)
|
||||
|
||||
:::info 目录
|
||||
[[toc]]
|
||||
:::
|
||||
|
||||
普通的以 `BasePlugin` 子类包装的插件只能监听预定事件,而组件扩展则可以替换整个组件,实现更强大的功能扩展。
|
||||
|
||||
- 组件扩展不需要包装在 `BasePlugin` 子类中,可以放在插件目录下任意一个模块中
|
||||
- 扩展的组件不受插件开关控制
|
||||
- 扩展的组件通常由配置文件中的选项选用
|
||||
|
||||
## 可扩展的组件
|
||||
|
||||
扩展一个组件的方法,新建一个类,继承于组件的基类,然后在类上使用对应的装饰器,再根据使用方式来配置使用该实现的组件。
|
||||
|
||||
大部分组件中包含了`ap: pkg.core.app.Application`对象,可以用这个对象来与整个程序的各个部分进行交互。
|
||||
大部分组件支持实现`async def initialize(self)`方法,用于在组件加载时进行异步初始化。
|
||||
`ap`对象中包含了各个配置文件的管理器对象,可以用于访问各个配置文件。
|
||||
|
||||
### 命令
|
||||
|
||||
新增一个命令。
|
||||
|
||||
- 基类:`pkg.command.operator.CommandOperator`
|
||||
- 装饰器:`pkg.command.operator.operator_class(name: str, help: str="", usage: str=None, alias: list[str]=[], privilege: int=1, parent_class: typing.Type[CommandOperator] = None)`
|
||||
- 参考实现:`pkg.command.operators/`
|
||||
- 使用方式:加载成功后,执行命令`!cmd`可查看所有命令和命令帮助信息。
|
||||
|
||||
### 内容过滤器
|
||||
|
||||
新增一个在处理消息前后判断是否要继续的内容处理器。
|
||||
|
||||
- 基类:`pkg.pipeline.cntfilter.filter.ContentFilter`
|
||||
- 装饰器:`pkg.pipeline.cntfilter.filter.filter_class(name: str)`
|
||||
- 参考实现:`pkg.pipeline.cntfilter.filters/`
|
||||
- 使用方式:加载成功后,每次都会在过滤器实现声明的检查阶段调用内容过滤器的`process`方法。
|
||||
|
||||
### 长消息处理策略
|
||||
|
||||
新增一个长消息处理策略。类似:文本转合并转发消息组件、文本转图片。
|
||||
|
||||
- 基类:`pkg.pipeline.longtext.strategy.LongTextStrategy`
|
||||
- 装饰器:`pkg.pipeline.longtext.strategy.strategy_class(name: str)`
|
||||
- 参考实现:`pkg.pipeline.longtext.strategies/`
|
||||
- 使用方式:需要在 `data/config/platform.json` 的 `long-text-strategy` 字段中将 `strategy` 设置为新增的策略名称。
|
||||
|
||||
### 会话限速算法
|
||||
|
||||
新增一个会话限速算法。会话请求在进入和退出时均会调用限速算法实现类的方法,实现类可以控制等待或丢弃请求。
|
||||
|
||||
- 基类:`pkg.pipeline.ratelimit.algo.RateLimitAlgo`
|
||||
- 装饰器:`pkg.pipeline.ratelimit.algo.algo_class(name: str)`
|
||||
- 参考实现:`pkg.pipeline.ratelimit.algos/`
|
||||
- 使用方式:需要在 `data/config/pipeline.json` 的 `rate-limit` 字段中将 `algo` 设置为新增的算法名称。
|
||||
|
||||
### LLM 接口请求器
|
||||
|
||||
新增一个 LLM 接口请求器,例如:接入ChatGLM接口等。
|
||||
|
||||
- 基类:`pkg.provider.modelmgr.api.LLMAPIRequester`
|
||||
- 装饰器:`pkg.provider.modelmgr.api.api_requester_class(name: str)`
|
||||
- 参考实现:`pkg.provider.modelmgr.apis/`
|
||||
- 使用方式:需要在`data/metadata/llm-models.json`中添加模型,将模型的`requester`字段设置为新增的请求器名称。具体请查看元数据配置板块。
|
||||
|
||||
### Prompt 加载器
|
||||
|
||||
新增一个 Prompt 加载器。
|
||||
|
||||
- 基类:`pkg.provider.sysprompt.loader.PromptLoader`
|
||||
- 装饰器:`pkg.provider.sysprompt.loader.loader_class(name: str)`
|
||||
- 参考实现:`pkg.provider.sysprompt.loaders/`
|
||||
- 使用方式:需要在`data/config/provider.json`将`prompt-mode`设置为新增的加载器名称。
|
||||
|
||||
### 消息平台适配器
|
||||
|
||||
新增一个消息平台适配器,例如:接入Telegram等。
|
||||
|
||||
- 基类:`pkg.platform.adapter.MessageSourceAdapter`
|
||||
- 装饰器:`pkg.platform.adapter.adapter_class(name: str)`
|
||||
- 参考实现:`pkg.platform.adapters/`
|
||||
- 使用方式:`data/config/platform.json`的`platform-adapters`中各个配置信息,将在初始化时自动根据`adapter`名称查找对应的适配器实现,并将配置传递给适配器以进行初始化。消息平台适配器实现复杂,建议多参考现有的实现。
|
||||
|
||||
### 对话历史消息截断器
|
||||
|
||||
新增一个对话历史消息截断器,在发送到模型之前对历史消息进行截断。
|
||||
|
||||
- 基类:`pkg.pipeline.msgtrun.truncator.Truncator`
|
||||
- 装饰器:`pkg.pipeline.msgtrun.truncator.truncator_class(name: str)`
|
||||
- 参考实现:`pkg.pipeline.msgtrun.truncators/`
|
||||
- 使用方式:需要在`data/config/pipeline.json`的`msg-truncate`字段中设置需要使用的截断器`method`为新增的截断器名称。
|
||||
|
||||
### Chat 请求运行器
|
||||
|
||||
新增一个聊天消息运行器,默认的是 local-agent,提供了基本的 Prompt 组合、Agent 编排、多轮请求等功能。如果需要接入知识库或者本地 RAG,请在这里实现。
|
||||
|
||||
- 基类:`pkg.provider.runner.RequesterRunner`
|
||||
- 装饰器:`pkg.provider.runner.runner_class(name: str)`
|
||||
- 参考实现:`pkg.provider.runners/`
|
||||
- 使用方式:需要在`data/config/provider.json`的`runner`字段中设置需要使用的运行器`runner`为新增的运行器名称。
|
||||
@@ -1,17 +1,4 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: QChatGPT插件开发教程
|
||||
title: 插件开发
|
||||
icon: code
|
||||
order: 3
|
||||
author: RockChinQ
|
||||
date: 2023-09-30
|
||||
category:
|
||||
- 插件介绍
|
||||
index: false
|
||||
---
|
||||
# 插件开发
|
||||
|
||||
> 请先阅读[插件介绍页](../plugin/intro.md)
|
||||
> 建议先阅读本项目源码,了解项目架构
|
||||
@@ -1,16 +1,4 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: ChatGPT QQ机器人插件,QChatGPT项目插件
|
||||
title: 插件介绍
|
||||
icon: blog
|
||||
order: 1
|
||||
date: 2023-09-30
|
||||
category:
|
||||
- 插件介绍
|
||||
index: false
|
||||
---
|
||||
# 插件介绍
|
||||
|
||||
:::info 目录
|
||||
[[toc]]
|
||||
@@ -108,4 +96,4 @@ GPT将会回复一个对`access_the_web`的函数调用请求,QChatGPT将调
|
||||
|
||||
`priority`: 插件运行优先级,在初始化、事件调用时,高优先级的插件将优先被处理
|
||||
|
||||
`enabled`:设置为false时,不会初始化,也不会被调用
|
||||
`enabled`:设置为false时,不会初始化,也不会被调用
|
||||
@@ -1,16 +1,5 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: QChatGPT插件开发教程
|
||||
title: 技术信息
|
||||
icon: code
|
||||
author: RockChinQ
|
||||
date: 2023-09-30
|
||||
category:
|
||||
- 技术信息
|
||||
index: false
|
||||
---
|
||||
# 技术信息
|
||||
|
||||
以下是QChatGPT实现原理等技术信息,贡献之前请仔细阅读
|
||||
|
||||
> 此文档为 QChatGPT 2.x 的技术文档,已过时,3.x 版本请直接查看源码。
|
||||
@@ -0,0 +1,38 @@
|
||||
---
|
||||
# https://vitepress.dev/reference/default-theme-home-page
|
||||
layout: home
|
||||
|
||||
hero:
|
||||
name: "QChatGPT"
|
||||
image:
|
||||
src: /assets/icon/chrome-512.png
|
||||
alt: QChatGPT-logo
|
||||
text: ""
|
||||
tagline: "😎高稳定性、🧩支持插件、🦄多模态的 LLM QQ / QQ频道 / OneBot 机器人 / Agent 平台"
|
||||
actions:
|
||||
- theme: brand
|
||||
text: 查看文档
|
||||
link: /insight/intro
|
||||
- theme: alt
|
||||
text: 代码仓库
|
||||
link: https://github.com/RockChinQ/QChatGPT
|
||||
|
||||
features:
|
||||
- title: 丰富生态
|
||||
details: 支持事件监听、AI Agent 等插件扩展方式,具有多种插件或相关支持项目
|
||||
|
||||
- title: 功能直观
|
||||
details: 集成黑名单、限速、选择响应、上下文控制、Prompt 管理等多种常用功能
|
||||
|
||||
- title: 多种模型
|
||||
details: 适配 OpenAI、Moonshot、Anthropic 等多个提供商的接口,同时深度支持 OneAPI
|
||||
- title: 高稳定性
|
||||
details: 采用主流的设计思想,架构清晰,具有高测试覆盖率
|
||||
|
||||
- title: 生产就绪
|
||||
details: 符合生产环境的高可用性要求,已被多家公司商用部署
|
||||
|
||||
- title: 持续维护
|
||||
details: 长期维护、迭代,持续跟进大模型领域的最新应用实践
|
||||
---
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
# 新手指引
|
||||
|
||||
> 此页面旨在引导新用户如何阅读文档
|
||||
|
||||
## 阅读顺序
|
||||
|
||||
### 新用户的:
|
||||
|
||||
对于新用户,我们建议如下阅读顺序
|
||||
|
||||
1. 部署板块
|
||||
- 首先部署QChatGPT,使用手动部署或Docker部署,或者使用社区资源提供的一键部署(通常是最简部署方式,适合纯小白)
|
||||
- 接着部署消息平台,建议aiocqhttp
|
||||
- 最后填写配置信息(此时是最简上手配置,进一步使用仍需阅读配置板块)
|
||||
2. 使用板块
|
||||
- 进行上面的最基础部署后
|
||||
- 阅读命令语法可以获得机器人的指令,可以在对话中实现切换预设、切换模型等
|
||||
- 阅读插件列表,获得插件,增强功能
|
||||
- 阅读常见问题,可有助于解决部署和使用时的问题
|
||||
3. 配置板块
|
||||
- 功能配置,是部署板块配置信息部分的进一步拓展,具体解释了所有的配置信息,实现更多自定义需求
|
||||
- 元数据配置,控制敏感词、模型列表等
|
||||
|
||||
通常来说,对于非开发人员和商用合作用途,上面的已经足够了。
|
||||
|
||||
### 开发者的:
|
||||
|
||||
对于开发者,包括但不限于项目主体开发和插件开发,我们建议再阅读上述配置后,继续阅读开发板块
|
||||
|
||||
### 商业合作的
|
||||
|
||||
请阅读规模化和商用板块
|
||||
@@ -1,15 +1,5 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: QChatGPT的模型一览功能介绍
|
||||
title: 模型一览和功能点
|
||||
icon: enum
|
||||
author: RockChinQ
|
||||
date: 2023-12-20
|
||||
category:
|
||||
- 部署教程
|
||||
---
|
||||
# 模型一览和功能点
|
||||
|
||||
## 模型一览
|
||||
|
||||
### 文字对话
|
||||
@@ -28,14 +18,14 @@ category:
|
||||
- 程序向模型发送近几次对话内容,模型根据上下文生成回复
|
||||
|
||||
</details>
|
||||
<br>
|
||||
|
||||
<details>
|
||||
<summary>✅支持敏感词过滤,避免账号风险</summary>
|
||||
|
||||
- 难以监测机器人与用户对话时的内容,故引入此功能以减少机器人风险
|
||||
|
||||
</details>
|
||||
<br>
|
||||
|
||||
|
||||
<details>
|
||||
<summary>✅群内多种响应规则,不必at</summary>
|
||||
@@ -43,7 +33,7 @@ category:
|
||||
- 默认回复`ai`作为前缀或`@`机器人的消息
|
||||
|
||||
</details>
|
||||
<br>
|
||||
|
||||
|
||||
<details>
|
||||
<summary>✅使用官方api,稳定快捷</summary>
|
||||
@@ -51,7 +41,7 @@ category:
|
||||
- 不使用ChatGPT逆向接口,而使用官方的Completion API,稳定性高
|
||||
|
||||
</details>
|
||||
<br>
|
||||
|
||||
|
||||
<details>
|
||||
<summary>✅组件少,部署方便,提供一键安装器及Docker安装</summary>
|
||||
@@ -59,7 +49,7 @@ category:
|
||||
- 手动部署步骤少
|
||||
- 提供自动安装器及docker方式,详见安装步骤
|
||||
</details>
|
||||
<br>
|
||||
|
||||
|
||||
<details>
|
||||
<summary>✅支持预设文字</summary>
|
||||
@@ -67,7 +57,7 @@ category:
|
||||
- 支持以自然语言预设文字,自定义机器人人格等信息
|
||||
|
||||
</details>
|
||||
<br>
|
||||
|
||||
|
||||
<details>
|
||||
<summary>✅支持插件加载🧩</summary>
|
||||
@@ -75,7 +65,7 @@ category:
|
||||
- 自行实现插件加载器及相关支持
|
||||
- 详细查看插件介绍页
|
||||
</details>
|
||||
<br>
|
||||
|
||||
|
||||
<details>
|
||||
<summary>✅私聊、群聊黑名单机制</summary>
|
||||
@@ -83,7 +73,7 @@ category:
|
||||
- 支持将人或群聊加入黑名单以忽略其消息
|
||||
|
||||
</details>
|
||||
<br>
|
||||
|
||||
|
||||
<details>
|
||||
<summary>✅回复速度限制</summary>
|
||||
@@ -94,7 +84,7 @@ category:
|
||||
- “丢弃”策略:此分钟内对话次数达到限制时,丢弃之后的对话
|
||||
|
||||
</details>
|
||||
<br>
|
||||
|
||||
|
||||
## 限制
|
||||
|
||||
@@ -128,4 +118,4 @@ category:
|
||||
2. at机器人并发送消息,机器人即会自动回复
|
||||
3. at机器人并发送`!help`查看帮助信息
|
||||
|
||||

|
||||

|
||||