doc: 更换VitePress后的初步内容
@@ -1,12 +0,0 @@
|
||||
import { defineUserConfig } from "vuepress";
|
||||
import theme from "./theme.js";
|
||||
|
||||
export default defineUserConfig({
|
||||
base: "/",
|
||||
|
||||
lang: "zh-CN",
|
||||
title: "QChatGPT",
|
||||
description: "QChatGPT项目的Wiki页",
|
||||
|
||||
theme,
|
||||
});
|
||||
@@ -1,27 +0,0 @@
|
||||
import { navbar } from "vuepress-theme-hope";
|
||||
|
||||
export default navbar([
|
||||
"/",
|
||||
{
|
||||
text: "功能介绍",
|
||||
icon: "operate",
|
||||
link: "/posts/feature",
|
||||
},
|
||||
{
|
||||
text: "部署教程",
|
||||
icon: "blog",
|
||||
link: "/posts/deploy/",
|
||||
},
|
||||
// "/posts/deploy/",
|
||||
// "/posts/Features",
|
||||
{
|
||||
text: "配置详解",
|
||||
icon: "context",
|
||||
link: "/posts/config/",
|
||||
},
|
||||
{
|
||||
text: "代码仓库",
|
||||
icon: "github",
|
||||
link: "https://github.com/RockChinQ/QChatGPT",
|
||||
},
|
||||
]);
|
||||
|
Before Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 217 KiB |
|
Before Width: | Height: | Size: 246 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 9.8 KiB |
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200" class="icon" viewBox="0 0 1024 1024"><path fill="#FDD7AD" d="M512 0 335.448 88.272l-70.616 35.312-70.624 35.312-176.552 88.28v529.648L512 1024l494.344-247.176V247.176z"/><path fill="#CBB292" d="m759.176 370.76-70.624 35.304-494.344-247.168 70.624-35.312zM512 494.344V1024L17.656 776.824V247.176z"/><path fill="#7F6E5D" d="M1006.344 247.168v529.656L512 1024V494.344l176.552-88.28v70.624l141.24-70.624v-70.616z"/><path fill="#7F5B53" d="M829.792 335.448v70.624L688.56 476.68v-70.624z"/><path fill="#CBB292" d="m829.792 335.448-70.624 35.312-494.344-247.176 70.624-35.312z"/><path fill="#2C3E50" d="m682.52 550.32 157.032-78.512a17.656 17.656 0 0 1 25.552 15.792v9.32a52.96 52.96 0 0 1-29.28 47.376L678.8 622.8a17.656 17.656 0 0 1-25.552-15.792v-9.312a52.96 52.96 0 0 1 29.28-47.376z"/></svg>
|
||||
|
Before Width: | Height: | Size: 854 B |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 91 KiB |
|
Before Width: | Height: | Size: 215 KiB |
|
Before Width: | Height: | Size: 215 KiB |
|
Before Width: | Height: | Size: 170 KiB |
|
Before Width: | Height: | Size: 268 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 70 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 45 KiB |
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1024" height="1024"><defs><linearGradient id="a" x1="522.593" x2="522.593" y1="-70.302" y2="-335.937" gradientUnits="userSpaceOnUse" spreadMethod="pad"><stop offset="0" stop-color="#fe5d5a" stop-opacity=".1"/><stop offset=".908" stop-color="#ef1220" stop-opacity=".5"/></linearGradient><linearGradient id="b" x1="107.12" x2="935.038" y1="-373.67" y2="-373.67" gradientUnits="userSpaceOnUse" spreadMethod="pad"><stop offset="0" stop-color="#ff5e59"/><stop offset="1" stop-color="#f01422"/></linearGradient><linearGradient id="c" x1="519.405" x2="519.405" y1="-195.547" y2="-726.816" gradientUnits="userSpaceOnUse" spreadMethod="pad"><stop offset="0" stop-color="#ffe2e2"/><stop offset=".888" stop-color="#ff8e8e"/></linearGradient><linearGradient id="d" x1="191.5" x2="483.9" y1="-564.9" y2="-564.9" gradientUnits="userSpaceOnUse" spreadMethod="pad"><stop offset="0" stop-color="#e92700" stop-opacity=".3"/><stop offset=".013" stop-color="#ef1220" stop-opacity=".2"/></linearGradient><linearGradient id="e" x1="403.502" x2="253.121" y1="-847.32" y2="-586.853" gradientUnits="userSpaceOnUse" spreadMethod="pad"><stop offset="0" stop-color="#ff5e59"/><stop offset=".201" stop-color="#f01422"/></linearGradient><linearGradient id="f" x1="330.485" x2="330.485" y1="-801.787" y2="-625.789" gradientUnits="userSpaceOnUse" spreadMethod="pad"><stop offset="0" stop-color="#ff5e59"/><stop offset=".201" stop-color="#f01422"/></linearGradient><linearGradient id="g" x1="397.351" x2="256.845" y1="-647.231" y2="-890.596" gradientUnits="userSpaceOnUse" spreadMethod="pad"><stop offset="0" stop-color="#ffa6a6"/><stop offset=".908" stop-color="#ff6b5d"/></linearGradient></defs><path fill="url(#a)" d="M501.2 662.3 327.6 763.8c-13.9 8.1-14.2 28.1-.5 36.7l179.1 97.7c10.9 5.9 24.1 5.9 34.9-.1l177-97.9c13.6-8.5 13.4-28.3-.3-36.5l-168.4-101c-14.8-9-33.3-9.1-48.2-.4Z"/><path fill="#f63037" d="m110.2 525.7-3.1 77.6 57.5 18.5L184 519.4Z"/><path fill="url(#b)" d="m476.6 363.5-328 154.6c-21 42.7-55.4 65.4-35.5 103.5 4.2 8 9.4 14.4 15.4 18.1l358.2 195.5c21.8 11.9 48.1 11.8 69.8-.2l354-195.8c27.2-16.9 34.8-90.3 7.3-106.8L573 364.1c-29.7-17.8-66.6-18-96.4-.6Z"/><path fill="url(#c)" d="M476.6 298.7 129.4 501.6c-27.8 16.3-28.4 56.3-1 73.3l358.2 195.5c21.8 11.9 48.1 11.8 69.8-.2l354-195.8c27.2-16.9 26.9-56.6-.6-73.1L573 299.3c-29.7-17.8-66.6-18-96.4-.6Z"/><path fill="#ff8989" fill-opacity=".31" d="m481.2 387.8 39.4 123.4c1.1 3.4 4 6 7.6 6.6l173.4 30.4-33-118.3c-.9-3.3-3.6-5.8-7-6.5l-180.4-35.6ZM327 499.2l40.4 101.1L496.7 525c2.5-1.5 3.7-4.5 2.7-7.3l-36-106.8-127.6 65c-8.6 4.3-12.4 14.4-8.8 23.3ZM523.8 540.5l-140.3 77.2L567.2 659c3.2.7 6.6.1 9.3-1.6l134.6-85-174.7-33.8c-4.3-1-8.7-.3-12.6 1.9Z"/><path fill="url(#d)" d="M483.9 406.1c0 35.46-65.46 64.2-146.2 64.2s-146.2-28.74-146.2-64.2c0-35.46 65.46-64.2 146.2-64.2s146.2 28.74 146.2 64.2Z"/><path fill="url(#e)" d="m254.2 188.4-123 83.1c-1.8 1.3-2.6 3.6-1.8 5.7l39.1 110.6c.6 1.7 2 2.9 3.8 3.2l221.8 40.5c1.3.3 2.7-.1 3.7-.8l131.7-93.6c1.9-1.4 2.6-3.9 1.7-6.1l-49.4-107c-.6-1.5-2.1-2.6-3.7-2.8l-220.3-33.5c-1.3-.2-2.6.1-3.6.7Z"/><path fill="url(#f)" d="m528.6 274.5 3 59.1-205 65.6-177.2-72.7-20-49.2 1.9-54.1Z"/><path fill="url(#g)" d="m250.6 138-112.3 76c-6 4.1-8.5 11.7-6.1 18.5l34.2 96.6c1.9 5.4 6.6 9.3 12.1 10.4l211 38.5c4.3.7 8.6-.2 12.1-2.7l120.5-85.5c6.3-4.4 8.4-12.7 5.3-19.7l-43.1-93.5c-2.2-4.9-6.8-8.3-12.1-9.1L262 135.6c-4-.7-8 .2-11.4 2.4Z"/><path fill="#fff" d="m419.8 252.8-79-11-29-57.7c-3.8-7.6-13.2-10.7-20.8-6.9-7.6 3.8-10.7 13.2-6.9 20.8l26.6 52.9-61.8 42.2c-7.1 4.8-8.9 14.5-4.1 21.5 3 4.4 7.9 6.8 12.8 6.8 3 0 6-.9 8.7-2.7l68-46.4 81.1 11.2c.7.1 1.4.1 2.1.1 7.6 0 14.3-5.6 15.3-13.4 1.4-8.4-4.5-16.2-13-17.4Z"/></svg>
|
||||
|
Before Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 72 KiB |
|
Before Width: | Height: | Size: 73 KiB |
|
Before Width: | Height: | Size: 129 KiB |
@@ -1 +0,0 @@
|
||||
<svg width="98" height="96" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a46.97 46.97 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0z" fill="#24292f"/></svg>
|
||||
|
Before Width: | Height: | Size: 963 B |
@@ -1 +0,0 @@
|
||||
<svg width="98" height="96" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a46.97 46.97 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0z" fill="#fff"/></svg>
|
||||
|
Before Width: | Height: | Size: 960 B |
|
Before Width: | Height: | Size: 57 KiB |
|
Before Width: | Height: | Size: 9.0 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 156 KiB |
|
Before Width: | Height: | Size: 62 KiB |
|
Before Width: | Height: | Size: 691 KiB |
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200" class="icon" viewBox="0 0 1536 1024"><path fill="#1296db" d="M1425.067.256H110.933A110.933 110.933 0 0 0 0 110.848v723.627a110.933 110.933 0 0 0 110.933 110.933h1314.39c61.269 0 110.933-49.75 110.677-110.677V110.848A110.933 110.933 0 0 0 1425.067.256z" class="selected" data-spm-anchor-id="a313x.7781069.0.i4"/><path fill="#FFF" d="M664.747 723.797V435.883L517.12 620.373l-147.456-184.49v288l-148.053-67.158V221.781h147.626l147.627 184.576 147.541-184.576h147.627v565.76z"/><path d="M1024 0h426.667A85.333 85.333 0 0 1 1536 85.333v768a85.333 85.333 0 0 1-85.333 85.334H1024V0z" opacity=".1"/><path fill="#FFF" d="m1256.96 731.307-170.667-216.491h113.75V304.64h113.749v210.176h113.835z" opacity=".5"/></svg>
|
||||
|
Before Width: | Height: | Size: 771 B |
|
Before Width: | Height: | Size: 167 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 64 KiB |
|
Before Width: | Height: | Size: 184 KiB |
|
Before Width: | Height: | Size: 196 KiB |
|
Before Width: | Height: | Size: 218 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 87 KiB |
|
Before Width: | Height: | Size: 68 KiB |
|
Before Width: | Height: | Size: 59 KiB |
|
Before Width: | Height: | Size: 90 KiB |
|
Before Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 54 KiB |
|
Before Width: | Height: | Size: 53 KiB |
|
Before Width: | Height: | Size: 168 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 139 KiB |
|
Before Width: | Height: | Size: 48 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 134 KiB |
|
Before Width: | Height: | Size: 63 KiB |
|
Before Width: | Height: | Size: 62 KiB |
|
Before Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 35 KiB |
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="1200" class="icon" viewBox="0 0 3280.944 2800"><path fill="#41b883" d="M1645.332 601.004h375.675L1081.82 2238.478 142.636 601.004h718.477l220.708 379.704 216.013-379.704z"/><path fill="#41b883" d="M142.636 601.004l939.185 1637.474 939.186-1637.474h-375.675l-563.51 982.484-568.208-982.484z"/><path fill="#35495e" d="M513.188 601.004l568.207 987.23 563.511-987.23h-347.498l-216.013 379.704-220.708-379.704zM1607.792 1311.83l594.678 2.293 187.353-316.325-598.662 2.292zM2198.506 1909.57C2867.436 732.7 2939.502 605.426 2937.874 603.78c-.715-.723 45.303-1.314 102.262-1.314s103.562.428 103.562.951c0 .523-208.57 367.978-463.491 816.567L2216.715 2235.6l-102.1.596-102.102.596z"/><path fill="#41b883" d="M1680.563 2233.328c0-1.34 168.208-298.145 440.375-777.048a4135645.775 4135645.775 0 00337.619-594.19l146.13-257.25 170.746-.04 170.747-.04-5.536 9.741c-3.044 5.358-43.727 77.302-90.407 159.875-85.356 150.992-337.562 595.163-656.602 1156.373l-172 302.559-170.536.588c-93.795.322-170.536.069-170.536-.567z"/><path fill="#35495e" d="M1429.783 1625.351l594.679 2.292 187.353-316.324-598.662 2.292z"/><path fill="#41b883" d="M1524.207 1464.903l608.285 6.877 173.746-320.909h-619.072z"/></svg>
|
||||
|
Before Width: | Height: | Size: 1.2 KiB |
@@ -1,236 +0,0 @@
|
||||
import { sidebar } from "vuepress-theme-hope";
|
||||
|
||||
export default sidebar({
|
||||
"/": [
|
||||
"",
|
||||
{
|
||||
text: "功能介绍",
|
||||
icon: "operate",
|
||||
link: "posts/feature",
|
||||
},
|
||||
{
|
||||
text: "部署教程",
|
||||
icon: "blog",
|
||||
collapsible: true,
|
||||
prefix: "posts/deploy/",
|
||||
link: "posts/deploy/",
|
||||
children: [
|
||||
{
|
||||
text: "部署QChatGPT",
|
||||
icon: "flow",
|
||||
prefix: "qchatgpt/",
|
||||
link: "qchatgpt/",
|
||||
children: [
|
||||
{
|
||||
text: "手动部署",
|
||||
icon: "support",
|
||||
link: "manual",
|
||||
},
|
||||
{
|
||||
text: "Docker部署",
|
||||
icon: "stack",
|
||||
link: "docker",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
text: "部署消息平台",
|
||||
icon: "merge",
|
||||
prefix: "platforms/",
|
||||
link: "platforms/",
|
||||
children: [
|
||||
{
|
||||
text: "aiocqhttp",
|
||||
icon: "hot",
|
||||
collapsible: true,
|
||||
prefix: "aiocqhttp/",
|
||||
link: "aiocqhttp/",
|
||||
children: [
|
||||
{
|
||||
text: "Lagrange",
|
||||
icon: "support",
|
||||
link: "lagrange",
|
||||
},
|
||||
{
|
||||
text: "LLOneBot",
|
||||
icon: "more",
|
||||
link: "llonebot",
|
||||
},
|
||||
{
|
||||
text: "NapCat",
|
||||
icon: "software",
|
||||
link: "napcat",
|
||||
},
|
||||
{
|
||||
text: "Shamrock",
|
||||
icon: "mobile",
|
||||
link: "shamrock",
|
||||
},
|
||||
{
|
||||
text: "Go-cqhttp",
|
||||
icon: "support",
|
||||
link: "gocq",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
text: "yiri-mirai",
|
||||
icon: "warn",
|
||||
link: "mirai",
|
||||
},
|
||||
{
|
||||
text: "Go-cqhttp(nakuru)",
|
||||
icon: "state",
|
||||
link: "nakuru",
|
||||
},
|
||||
|
||||
{
|
||||
text: "QQ 官方 API",
|
||||
icon: "network",
|
||||
link: "official",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
text: "填写配置信息",
|
||||
icon: "class",
|
||||
link: "config",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
text: "命令用法",
|
||||
icon: "command",
|
||||
link: "posts/command",
|
||||
},
|
||||
{
|
||||
text: "配置详解",
|
||||
icon: "config",
|
||||
collapsible: true,
|
||||
prefix: "posts/config/",
|
||||
link: "posts/config/",
|
||||
children: [
|
||||
{
|
||||
text: "platform.json",
|
||||
icon: "config",
|
||||
link: "platform",
|
||||
},
|
||||
{
|
||||
text: "pipeline.json",
|
||||
icon: "config",
|
||||
link: "pipeline",
|
||||
},
|
||||
{
|
||||
text: "provider.json",
|
||||
icon: "config",
|
||||
link: "provider",
|
||||
},
|
||||
{
|
||||
text: "command.json",
|
||||
icon: "config",
|
||||
link: "command",
|
||||
},
|
||||
{
|
||||
text: "system.json",
|
||||
icon: "config",
|
||||
link: "system",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
text: "元数据配置",
|
||||
icon: "enum",
|
||||
collapsible: true,
|
||||
prefix: "posts/metadata/",
|
||||
link: "posts/metadata/",
|
||||
children: [
|
||||
{
|
||||
text: "敏感词 sensitive-words.json",
|
||||
icon: "enum",
|
||||
link: "sensitive-words",
|
||||
},
|
||||
{
|
||||
text: "模型列表 llm-models.json",
|
||||
icon: "enum",
|
||||
link: "llm-models",
|
||||
},
|
||||
{
|
||||
text: "qq-botpy ID 映射 adapter-qq-botpy.json",
|
||||
icon: "enum",
|
||||
link: "adapter-qq-botpy",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
text: "常见问题",
|
||||
icon: "info",
|
||||
collapsible: true,
|
||||
link: "posts/error/",
|
||||
prefix: "posts/error/",
|
||||
},
|
||||
{
|
||||
text: "规模使用和商用",
|
||||
icon: "app",
|
||||
collapsible: true,
|
||||
link: "posts/tob/",
|
||||
prefix: "posts/tob/",
|
||||
children: [
|
||||
{
|
||||
text: "消息平台稳定性",
|
||||
icon: "comment",
|
||||
link: "platform",
|
||||
},
|
||||
{
|
||||
text: "AI 内容合规性",
|
||||
icon: "warn",
|
||||
link: "provider",
|
||||
},
|
||||
{
|
||||
text: "咨询方式",
|
||||
icon: "profile",
|
||||
link: "contact",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
text: "插件功能",
|
||||
icon: "plugin",
|
||||
collapsible: true,
|
||||
prefix: "posts/plugin/",
|
||||
link: "posts/plugin/intro",
|
||||
// collapsible: true,
|
||||
children: [
|
||||
{
|
||||
text: "插件介绍",
|
||||
icon: "info",
|
||||
link: "intro",
|
||||
},
|
||||
{
|
||||
text: "插件列表",
|
||||
icon: "list",
|
||||
link: "list",
|
||||
},
|
||||
{
|
||||
text: "插件开发",
|
||||
icon: "code",
|
||||
link: "develop",
|
||||
},
|
||||
{
|
||||
text: "组件扩展",
|
||||
icon: "code",
|
||||
link: "extension",
|
||||
},
|
||||
{
|
||||
text: "API 参考",
|
||||
icon: "api",
|
||||
link: "apiref",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
text: "技术信息",
|
||||
icon: "blog",
|
||||
link: "posts/develop/technology-info",
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -1 +0,0 @@
|
||||
$font-family: '"LXGW WenKai", sans-serif';
|
||||
@@ -1,12 +0,0 @@
|
||||
// place your custom styles here
|
||||
// .vuepress/styles/index.scss
|
||||
|
||||
// 覆盖代码块背景色
|
||||
#app {
|
||||
--text-color-light: #000;
|
||||
|
||||
html[data-theme="dark"] & {
|
||||
--text-color-light: #ffffff;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
// you can change colors here
|
||||
// $theme-colors: #367cc0 !default;
|
||||
//$font-family: 'Playpen Sans,ZCOOL XiaoWei';
|
||||
|
||||
$theme-color: #2d89e4;
|
||||
@@ -1,201 +0,0 @@
|
||||
import { hopeTheme } from "vuepress-theme-hope";
|
||||
import { cut } from "nodejs-jieba";
|
||||
import navbar from "./navbar.js";
|
||||
import sidebar from "./sidebar.js";
|
||||
|
||||
export default hopeTheme({
|
||||
hostname: "https://qchatgpt.rockchin.top/",
|
||||
|
||||
author: {
|
||||
name: "Lazy",
|
||||
url: "https://github.com/the-lazy-me",
|
||||
},
|
||||
|
||||
iconAssets: "iconfont",
|
||||
|
||||
logo: "/logo.png",
|
||||
|
||||
repo: "https://github.com/the-lazy-me/QChatGPT-Wiki",
|
||||
|
||||
docsDir: "src",
|
||||
|
||||
// navbar
|
||||
navbar,
|
||||
|
||||
// sidebar
|
||||
sidebar,
|
||||
|
||||
footer: "QChatGPT项目文档",
|
||||
|
||||
displayFooter: true,
|
||||
encrypt: {
|
||||
config: {
|
||||
"/demo/encrypt.html": ["qchatgpt"],
|
||||
},
|
||||
},
|
||||
|
||||
// page meta
|
||||
metaLocales: {
|
||||
editLink: "在 GitHub 上编辑此页",
|
||||
},
|
||||
|
||||
// 如果想要实时查看任何改变,启用它。注: 这对更新性能有很大负面影响
|
||||
// hotReload: true,
|
||||
|
||||
// 在这里配置主题提供的插件
|
||||
plugins: {
|
||||
// 你应该自行生成自己的评论服务
|
||||
// comment: {
|
||||
// provider: "Giscus",
|
||||
// repo: "vuepress-theme-hope/giscus-discussions",
|
||||
// repoId: "R_kgDOG_Pt2A",
|
||||
// category: "Announcements",
|
||||
// categoryId: "DIC_kwDOG_Pt2M4COD69",
|
||||
// },
|
||||
|
||||
searchPro: {
|
||||
indexContent: true,
|
||||
indexLocaleOptions: {
|
||||
"/zh/": {
|
||||
// 使用 nodejs-jieba 进行分词
|
||||
tokenize: (text, fieldName) =>
|
||||
fieldName === "id" ? [text] : cut(text, true),
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
components: {
|
||||
components: ["Badge", "VPCard", "BiliBili", "Share"],
|
||||
},
|
||||
|
||||
// 此处开启了很多功能用于演示,你应仅保留用到的功能。
|
||||
mdEnhance: {
|
||||
align: true,
|
||||
hint: true,
|
||||
attrs: true,
|
||||
codetabs: true,
|
||||
component: true,
|
||||
demo: true,
|
||||
figure: true,
|
||||
imgLazyload: true,
|
||||
imgSize: true,
|
||||
include: true,
|
||||
mark: true,
|
||||
stylize: [
|
||||
{
|
||||
matcher: "Recommended",
|
||||
replacer: ({ tag }) => {
|
||||
if (tag === "em")
|
||||
return {
|
||||
tag: "Badge",
|
||||
attrs: { type: "tip" },
|
||||
content: "Recommended",
|
||||
};
|
||||
},
|
||||
},
|
||||
],
|
||||
sub: true,
|
||||
sup: true,
|
||||
tabs: true,
|
||||
vPre: true,
|
||||
|
||||
// 在启用之前安装 chart.js
|
||||
// chart: true,
|
||||
|
||||
// insert component easily
|
||||
|
||||
// 在启用之前安装 echarts
|
||||
// echarts: true,
|
||||
|
||||
// 在启用之前安装 flowchart.ts
|
||||
// flowchart: true,
|
||||
|
||||
// gfm requires mathjax-full to provide tex support
|
||||
// gfm: true,
|
||||
|
||||
// 在启用之前安装 katex
|
||||
// katex: true,
|
||||
|
||||
// 在启用之前安装 mathjax-full
|
||||
// mathjax: true,
|
||||
|
||||
// 在启用之前安装 mermaid
|
||||
// mermaid: true,
|
||||
|
||||
// playground: {
|
||||
// presets: ["ts", "vue"],
|
||||
// },
|
||||
|
||||
// 在启用之前安装 reveal.js
|
||||
// revealJs: {
|
||||
// plugins: ["highlight", "math", "search", "notes", "zoom"],
|
||||
// },
|
||||
|
||||
// 在启用之前安装 @vue/repl
|
||||
// vuePlayground: true,
|
||||
|
||||
// install sandpack-vue3 before enabling it
|
||||
// sandpack: true,
|
||||
},
|
||||
|
||||
sitemap: true,
|
||||
catalog: true,
|
||||
|
||||
// 如果你需要 PWA。安装 vuepress-plugin-pwa2 并取消下方注释
|
||||
// pwa: {
|
||||
// favicon: "/favicon.ico",
|
||||
// cacheHTML: true,
|
||||
// cachePic: true,
|
||||
// appendBase: true,
|
||||
// apple: {
|
||||
// icon: "/assets/icon/apple-icon-152.png",
|
||||
// statusBarColor: "black",
|
||||
// },
|
||||
// msTile: {
|
||||
// image: "/assets/icon/ms-icon-144.png",
|
||||
// color: "#ffffff",
|
||||
// },
|
||||
// manifest: {
|
||||
// icons: [
|
||||
// {
|
||||
// src: "/assets/icon/chrome-mask-512.png",
|
||||
// sizes: "512x512",
|
||||
// purpose: "maskable",
|
||||
// type: "image/png",
|
||||
// },
|
||||
// {
|
||||
// src: "/assets/icon/chrome-mask-192.png",
|
||||
// sizes: "192x192",
|
||||
// purpose: "maskable",
|
||||
// type: "image/png",
|
||||
// },
|
||||
// {
|
||||
// src: "/assets/icon/chrome-512.png",
|
||||
// sizes: "512x512",
|
||||
// type: "image/png",
|
||||
// },
|
||||
// {
|
||||
// src: "/assets/icon/chrome-192.png",
|
||||
// sizes: "192x192",
|
||||
// type: "image/png",
|
||||
// },
|
||||
// ],
|
||||
// shortcuts: [
|
||||
// {
|
||||
// name: "Demo",
|
||||
// short_name: "Demo",
|
||||
// url: "/demo/",
|
||||
// icons: [
|
||||
// {
|
||||
// src: "/assets/icon/guide-maskable.png",
|
||||
// sizes: "192x192",
|
||||
// purpose: "maskable",
|
||||
// type: "image/png",
|
||||
// },
|
||||
// ],
|
||||
// },
|
||||
// ],
|
||||
// },
|
||||
// },
|
||||
},
|
||||
});
|
||||
@@ -1,78 +0,0 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: 😎高稳定性、🧩支持插件、🦄多模态的 LLM QQ / QQ频道 / OneBot 机器人 / Agent 平台
|
||||
home: true
|
||||
icon: home
|
||||
title: 项目主页
|
||||
heroImage: /logo.png
|
||||
# bgImage: https://theme-hope-assets.vuejs.press/bg/6-light.svg
|
||||
# bgImageDark: https://theme-hope-assets.vuejs.press/bg/6-dark.svg
|
||||
# bgImageStyle:
|
||||
# background-attachment: fixed
|
||||
heroText: QChatGPT
|
||||
tagline: 😎高稳定性、🧩支持插件、🦄多模态的 LLM QQ / QQ频道 / OneBot 机器人 / Agent 平台
|
||||
actions:
|
||||
- text: 🚀 快速上手
|
||||
link: ./posts/deploy/
|
||||
type: primary
|
||||
|
||||
- text: 查看源码
|
||||
link: https://github.com/RockChinQ/QChatGPT
|
||||
|
||||
highlights:
|
||||
- header: 功能概览
|
||||
# image: /assets/image/features.svg
|
||||
# bgImage: https://theme-hope-assets.vuejs.press/bg/1-light.svg
|
||||
# bgImageDark: https://theme-hope-assets.vuejs.press/bg/1-dark.svg
|
||||
features:
|
||||
- title: 丰富生态
|
||||
icon: plugin
|
||||
details: 支持事件监听、AI Agent 等插件扩展方式,具有多种插件或相关支持项目
|
||||
|
||||
- title: 功能直观
|
||||
icon: type
|
||||
details: 集成黑名单、限速、选择响应、上下文控制、Prompt 管理等多种常用功能
|
||||
|
||||
- title: 多种模型
|
||||
icon: stack
|
||||
details: 适配 OpenAI、Moonshot、Anthropic 等多个提供商的接口,同时深度支持 OneAPI
|
||||
|
||||
- title: 高稳定性
|
||||
icon: code
|
||||
details: 采用主流的设计思想,架构清晰,具有高测试覆盖率
|
||||
|
||||
- title: 生产就绪
|
||||
icon: module
|
||||
details: 符合生产环境的高可用性要求,已被多家公司商用部署
|
||||
|
||||
- title: 持续维护
|
||||
icon: cycle
|
||||
details: 长期维护、迭代,持续跟进大模型领域的最新应用实践
|
||||
|
||||
- header: 链接
|
||||
description:
|
||||
# image: /assets/image/blog.svg
|
||||
# bgImage: https://theme-hope-assets.vuejs.press/bg/5-light.svg
|
||||
# bgImageDark: https://theme-hope-assets.vuejs.press/bg/5-dark.svg
|
||||
features:
|
||||
|
||||
- title: 源码仓库
|
||||
icon: github
|
||||
details: QChatGPT 的仓库页
|
||||
link: https://github.com/RockChinQ/QChatGPT
|
||||
|
||||
- title: 文档仓库
|
||||
icon: file
|
||||
details: 此文档的仓库页
|
||||
link: https://github.com/the-lazy-me/QChatGPT-Wiki/graphs/contributors
|
||||
|
||||
- title: 插件列表
|
||||
icon: plugin
|
||||
details: QChatGPT 插件列表
|
||||
link: https://github.com/stars/RockChinQ/lists/qchatgpt-%E6%8F%92%E4%BB%B6
|
||||
|
||||
copyright: false
|
||||
footer: <a href="https://github.com/RockChinQ/QChatGPT" target="_blank">QChatGPT</a> 项目的Wiki页 | MIT 协议, 版权所有 © 2023-present Lazy <br/> <br/> <a href="http://beian.miit.gov.cn/" target="_blank" rel="nofollow noopener">津 ICP 备 2023007711 号</a> <a href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=12011102001610" rel="nofollow noopener" class="beian-police" target="_blank">津公网安备12011102001610号</a>
|
||||
---
|
||||
@@ -1,63 +0,0 @@
|
||||
---
|
||||
title: QChatGPT的命令讲解
|
||||
icon: context
|
||||
# 这是侧边栏的顺序
|
||||
order: 3
|
||||
# 设置作者
|
||||
author: RockChinQ
|
||||
# 设置写作时间
|
||||
date: 2024-02-13
|
||||
category:
|
||||
- 使用指南
|
||||
tag:
|
||||
- 配置方法
|
||||
- 使用指南
|
||||
---
|
||||
|
||||
|
||||
:::info 目录
|
||||
[[toc]]
|
||||
:::
|
||||
|
||||
|
||||
> `<>` 中的为必填参数,使用时请不要包含`<>`
|
||||
> `[]` 中的为可选参数,使用时请不要包含`[]`
|
||||
|
||||
以下是默认情况下的权限分类,可以根据下方的命令权限控制进行修改
|
||||
|
||||
> 这里只简单列举命令,具体使用方式请使用 `!cmd` 命令查看
|
||||
|
||||
## 用户级别命令
|
||||
|
||||
任何对象可使用
|
||||
|
||||
```
|
||||
!help 显示自定义的帮助信息(可在配置文件中更改)
|
||||
!cmd [命令名称] 显示命令列表或指定命令的详细信息
|
||||
!list [页数] 列出本对象的历史会话列表
|
||||
!del <序号> 删除指定的历史记录,可以通过 !list 查看序号
|
||||
!del all 删除本会话对象的所有历史记录
|
||||
!last 切换到前一次会话
|
||||
!next 切换到后一次会话
|
||||
!reset 重置当前会话
|
||||
!prompt 查看当前会话的所有记录
|
||||
!version 查看当前版本并检查更新
|
||||
!resend 回滚前一次请求
|
||||
!plugin 用法请查看插件介绍页的`管理`章节
|
||||
!default 查看可用的情景预设值
|
||||
```
|
||||
|
||||
## 管理员命令
|
||||
|
||||
仅管理员私聊机器人时可使用,必须先在`data/config/system.json`里设置管理员
|
||||
|
||||
```
|
||||
!update 进行程序自动更新
|
||||
!default set <情景预设名称> 会话!reset时的默认情景预设
|
||||
!ollama [show|pull|del] [模型名称] 显示、拉取或删除模型的 Ollama 模型数据
|
||||
!model [show|set] [模型名称] 显示或设置当前使用的模型
|
||||
```
|
||||
|
||||
## 命令权限控制
|
||||
|
||||
您可以编辑`data/config/command.json`来设置命令节点的权限,当命令被发起时,若用户的权限级别(管理员为`2`,普通用户为`1`)大于等于命令节点的权限级别,命令即可被成功执行。具体配置方式请查看配置文件详解页。
|
||||
@@ -1,13 +0,0 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: ChatGPT QQ机器人教程,QChatGPT项目部署教程
|
||||
title: 配置文件详解
|
||||
icon: config
|
||||
author: Lazy
|
||||
date: 2024-02-18
|
||||
index: false
|
||||
---
|
||||
|
||||
配置文件均位于 `data/config/` 目录下,请点击左侧目录查看各个文件的详细配置项。
|
||||
@@ -1,54 +0,0 @@
|
||||
---
|
||||
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": [
|
||||
"!",
|
||||
"!",
|
||||
"#"
|
||||
]
|
||||
```
|
||||
@@ -1,211 +0,0 @@
|
||||
---
|
||||
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`为最多保留多少回合的历史消息
|
||||
@@ -1,147 +0,0 @@
|
||||
---
|
||||
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接口出现异常时,会返回一个错误的提示给用户。而把报错详情输出在控制台。
|
||||
|
||||
@@ -1,178 +0,0 @@
|
||||
---
|
||||
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#人格预设合集)
|
||||
@@ -1,103 +0,0 @@
|
||||
---
|
||||
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 命令时的输出
|
||||
@@ -1,48 +0,0 @@
|
||||
---
|
||||
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)
|
||||
@@ -1,187 +0,0 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: ChatGPT QQ机器人教程,QChatGPT项目部署教程
|
||||
title: 填写配置信息
|
||||
icon: class
|
||||
author: Lazy
|
||||
date: 2024-02-18
|
||||
---
|
||||
|
||||
修改以下配置文件即可启用 QChatGPT 的基本功能,当你阅读完此页面后,建议查看[配置详解](../config/),以了解更多的配置项详解
|
||||
|
||||
- `data/config/platform.json`
|
||||
- `data/config/provider.json`
|
||||
- `data/config/system.json`
|
||||
|
||||
## platform.json
|
||||
|
||||
修改此配置文件以指定需要连接的消息平台,只需要关注`platform-adapters`字段。
|
||||
目前支持 `mirai`、`go-cqhttp`、`aiocqhttp`、`qq-botpy` 四种消息平台适配器,也可以同时启用多个同种类或不同种类的平台适配器
|
||||
|
||||
### aiocqhttp 适配器
|
||||
|
||||
如果你刚刚已经在 QChatGPT 的配置文件中启用了 aiocqhttp 适配器,那么你可以跳过这一步。
|
||||
用于接入 Lagrange 等兼容 OneBot 协议的机器人框架(仅支持反向ws)。
|
||||
|
||||
```json
|
||||
{
|
||||
"adapter": "aiocqhttp",
|
||||
"enable": false,
|
||||
"host": "127.0.0.1",
|
||||
"port": 8080,
|
||||
"access-token": ""
|
||||
},
|
||||
```
|
||||
|
||||
`"adapter": "aiocqhttp"`,无需改动。
|
||||
|
||||
`enable`:是否启用,配置完成后请将其设为`true`
|
||||
|
||||
`host`:监听的 IP 地址,使用 aiocqhttp 时,QChatGPT 作为服务端被动等待框架连接,请在 Shamrock 等框架中设置`被动 ws 地址`或者`反向 ws 地址`(具体视框架而定)为 QChatGPT 监听的地址,且路径为`/ws`,例如:`ws://127.0.0.1:8080/ws`。
|
||||
|
||||
`port`:设置监听的端口,默认8080,需在 Shamrock 等框架中设置为与此处一致的端口
|
||||
|
||||
`access-token`:设置访问密钥,与 Shamrock 等框架中设置的保持一致
|
||||
|
||||
### qq-botpy 适配器
|
||||
|
||||
用于接入 QQ 官方机器人 API。
|
||||
|
||||
```json
|
||||
{
|
||||
"adapter": "qq-botpy",
|
||||
"enable": false,
|
||||
"appid": "",
|
||||
"secret": "",
|
||||
"intents": [
|
||||
"public_guild_messages",
|
||||
"direct_message"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
`"adapter": "qq-botpy"`,无需动,表明是接入`QQ官方机器人`的配置
|
||||
|
||||
`enable`:是否启用,配置完成后请将其设为`true`
|
||||
|
||||
`appid`:申请到的QQ官方机器人的appid
|
||||
|
||||
`secret`:申请到的QQ官方机器人的secret
|
||||
|
||||
`intents`:控制监听的事件类型,需要填写才能接收到对应消息,目前支持的事件类型有:
|
||||
|
||||
- `public_guild_messages` QQ 频道消息
|
||||
- `direct_message` QQ 频道私聊消息
|
||||
- `public_messages` Q群消息(需要权限,具体请查看[QQ官方机器人API文档](https://q.qq.com/))
|
||||
|
||||
### YiriMirai 适配器
|
||||
|
||||
用于接入 Mirai。
|
||||
|
||||
```json
|
||||
{
|
||||
"adapter": "yiri-mirai",
|
||||
"enable": false,
|
||||
"host": "127.0.0.1",
|
||||
"port": 8080,
|
||||
"verifyKey": "yirimirai",
|
||||
"qq": 123456789
|
||||
},
|
||||
```
|
||||
|
||||
`"adapter": "yiri-mirai"`,无需动,表明是接入`mirai`的配置
|
||||
|
||||
`enable`:是否启用,配置完成后请将其设为`true`
|
||||
|
||||
`host`:运行 mirai 的主机地址,一般不改动
|
||||
|
||||
`port`:设置端口,默认8080,与`mirai-api-http`里面设置的保持一致
|
||||
|
||||
`verifyKey`:密钥,默认yirimirai,与`mirai-api-http`里面设置的保持一致
|
||||
|
||||
`qq`:设置机器人QQ号,与当前mirai登录的机器人的QQ号保持一致
|
||||
|
||||
### Nakuru 适配器
|
||||
|
||||
用于接入 go-cqhttp。
|
||||
|
||||
```json
|
||||
{
|
||||
"adapter": "nakuru",
|
||||
"enable": false,
|
||||
"host": "127.0.0.1",
|
||||
"ws_port": 8080,
|
||||
"http_port": 5700,
|
||||
"token": ""
|
||||
},
|
||||
```
|
||||
|
||||
`"adapter": "nakuru"`,无需动,表明是接入`go-cqhttp`的配置
|
||||
|
||||
`enable`:是否启用,配置完成后请将其设为`true`
|
||||
|
||||
`host`:运行 go-cqhttp 的主机地址,一般不改动
|
||||
|
||||
`ws_port`:正向WS服务器监听地址,与`go-cqhttp`的`config.yml`里面的保持一致
|
||||
|
||||
`http_port`:http服务器监听地址,与`go-cqhttp`的`config.yml`里面的保持一致
|
||||
|
||||
`token`:验证密钥,,与`go-cqhttp`的`config.yml`里面的保持一致
|
||||
|
||||
## provider.json
|
||||
|
||||
修改此配置文件以设置所连接的 AI 提供商的相关信息,目前支持 `openai(GPT)`, `anthropic(claude)`, `moonshot(月之暗面)` 三种接口及对应模型。
|
||||
|
||||
> 如果你没有OpenAI API Key,你可以[在此获取](https://ai.lazyshare.top/)
|
||||
|
||||
以下仅讲解启用 OpenAI 接口的方式,具体设置方法请查看 [配置详解模块的`provider.json` 页](../config/provider.md)。
|
||||
|
||||
编辑 `data/provider.json`,在`keys`->`openai`中添加你的 OpenAI API Key,例如:
|
||||
|
||||
```json
|
||||
"keys": {
|
||||
"openai": [
|
||||
"sk-AAAAAAAAAAAABBBBBBBBBBBBCCCCCCCCCCCCCDDDDDDDDD"
|
||||
],
|
||||
"anthropic": [],
|
||||
"moonshot": [],
|
||||
"deepseek": []
|
||||
},
|
||||
```
|
||||
|
||||
如果你使用的是中转站,或者其他兼容 OpenAI 格式的平台,请将`requester`->`openai-chat-completions`->`base-url`设置为你的中转站地址。例如:
|
||||
|
||||
地址后记得加`/v1`。
|
||||
|
||||
```json
|
||||
"openai-chat-completions": {
|
||||
"base-url": "https://api.example.com/v1",
|
||||
"args": {},
|
||||
"timeout": 120
|
||||
},
|
||||
```
|
||||
|
||||
最后,将`model`改为你想要使用的模型,例如:
|
||||
|
||||
```json
|
||||
"model": "gpt-4o",
|
||||
```
|
||||
|
||||
## system.json
|
||||
|
||||
在 `data/system.json` 中修改 `admin-sessions`,添加 `person_你的QQ号` 把你设置为管理员,例如:
|
||||
|
||||
```json
|
||||
"admin-sessions": [
|
||||
"person_1010553892"
|
||||
],
|
||||
```
|
||||
|
||||
::: tip
|
||||
|
||||
阅读并完成以上教程后,你应该可以成功使用QChatGPT了,如果不能请再次阅读(你或许漏做或错做某些步骤),如果完全阅读并充分理解本文档后仍然确实无法使用,你可以在[这里](./README.md)找到交流群
|
||||
|
||||
:::
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: ChatGPT QQ机器人教程,QChatGPT项目部署教程
|
||||
title: 消息平台部署教程
|
||||
icon: merge
|
||||
author: Lazy
|
||||
date: 2023-02-17
|
||||
index: false
|
||||
---
|
||||
|
||||
:::info 目录
|
||||
[[toc]]
|
||||
:::
|
||||
|
||||
## 可选的平台适配器
|
||||
|
||||
QChatGPT 需要一个中间程序,处理 QQ 等 IM 的协议(大部分是逆向工程)。
|
||||
以下平台任选,也可以配置多个,QChatGPT支持同时接入一个或多个平台:
|
||||
|
||||
### 推荐
|
||||
|
||||
- aiocqhttp(QQ):[aiocqhttp适配器教程](aiocqhttp/)
|
||||
- QQ官方API(QQ群、QQ频道):[QQ 官方 API 部署教程](official.md)
|
||||
|
||||
### 不推荐
|
||||
|
||||
以前流行的框架,现在长期不再维护或被腾讯严重围追堵截,不推荐使用:
|
||||
|
||||
- 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))
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: Lagrange的部署教程
|
||||
title: aiocqhttp适配器系列教程
|
||||
icon: mobile
|
||||
order: 4
|
||||
author: RockChinQ,ikun0014
|
||||
date: 2024-05-05
|
||||
---
|
||||
|
||||
## OneBot 11 协议
|
||||
|
||||
OneBot 是用于接入多种消息平台的标准化协议,详细介绍:[https://onebot.dev/](https://onebot.dev/)
|
||||
|
||||
以下消息框架可以通过 OneBot 11 协议接入,需选择使用`aiocqhttp`作为适配器,修改`data/platform.json`配置文件,在`platform-adapters`字段中添加以下内容(如果已经有aiocqhttp的适配器,可以直接将其enable改为true):
|
||||
|
||||
```json
|
||||
{
|
||||
"adapter": "aiocqhttp",
|
||||
"enable": true,
|
||||
"host": "0.0.0.0",
|
||||
"port": 8080,
|
||||
"access-token": ""
|
||||
}
|
||||
```
|
||||
|
||||

|
||||
|
||||
当前可用的OneBot 11标准消息平台,你可以选择下方任意
|
||||
|
||||
- [Lagrange.OneBot的教程](lagrange.md)
|
||||
- [LiteLoaderQQNT的教程](llonebot.md)
|
||||
- [NapCat的教程](napcat.md)
|
||||
- [shamrock的教程](shamrock.md)
|
||||
@@ -1,158 +0,0 @@
|
||||
---
|
||||
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 适配器接入。
|
||||
@@ -1,69 +0,0 @@
|
||||
---
|
||||
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`
|
||||
@@ -1,19 +0,0 @@
|
||||
---
|
||||
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
|
||||
|
||||

|
||||
@@ -1,45 +0,0 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: NapCat的部署教程
|
||||
title: 部署消息平台NapCat的教程
|
||||
icon: software
|
||||
order: 3
|
||||
author: Lazy
|
||||
date: 2024-05-13
|
||||
---
|
||||
|
||||
::: tip
|
||||
|
||||
复活赛已打赢,继续使用
|
||||
|
||||
:::
|
||||
|
||||
## NapCat介绍
|
||||
|
||||
NapCat 是一个 QQNT 协议逆向工程框架。
|
||||
|
||||
可选平台:
|
||||
|
||||
- Windows
|
||||
- Linux Docker
|
||||
- Linux 非 Docker
|
||||
|
||||
## NapCat安装教程
|
||||
|
||||
按照 [NapCat 官方文档安装](https://napneko.github.io/zh-CN/guide/getting-started)
|
||||
|
||||
运行后扫码登录
|
||||
|
||||
## NapCat配置教程
|
||||
|
||||
登录后,可以在config文件夹中,找到并修改文件(数字对应机器人QQ号):
|
||||
|
||||
参考下图红框修改内容,确保地址中 IP地址 是 QChatGPT 运行的主机的地址(若在同一网络内运行则为 127.0.0.1),后缀须为`/ws`:
|
||||
|
||||

|
||||
|
||||
然后重新运行登录即可,看到提示:
|
||||
|
||||

|
||||
@@ -1,84 +0,0 @@
|
||||
---
|
||||
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 适配器接入。
|
||||
|
||||

|
||||
@@ -1,164 +0,0 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: Yiri-mirai的部署教程
|
||||
title: 部署消息平台mirai的教程
|
||||
icon: warn
|
||||
order: 3
|
||||
author: Lazy
|
||||
date: 2023-12-18
|
||||
category:
|
||||
- 部署教程
|
||||
---
|
||||
|
||||
> 本文档仅为基本步骤,详细操作、答疑解惑及最新信息请前往[Mirai官方代码库](https://github.com/mamoe/mirai)、[Mirai官方论坛](https://mirai.mamoe.net/)
|
||||
|
||||
::: warning
|
||||
|
||||
此消息平台不稳定,不要使用
|
||||
|
||||
:::
|
||||
|
||||
## 准备工作
|
||||
|
||||
> 注意:由于网络环境多样复杂,很多步骤中,有可能需要使用网络魔法,懂的都懂
|
||||
|
||||
1. 创建文件夹
|
||||
|
||||
在你的任意盘(D,E,F什么都都可以)里面新建一个文件夹(例如命名qqbot)
|
||||
|
||||
2. 创建子文件夹
|
||||
|
||||
双击进入刚刚创建的文件夹,分别新建两个文件夹(建议命名保持一致):mirai、QChatGPT
|
||||
|
||||
## 安装 mirai-console
|
||||
|
||||
在 [mcl-installer 的 releases 页面](https://github.com/iTXTech/mcl-installer/releases)下载对应版本的安装包,找到最新的安装包,即有“Latest”标志的安装包,点击`show all 14 assets`,下载 mcl-installer-X.X.X-windows-amd64.exe,如图,则下载`mcl-installer-1.0.7-windows-amd64.exe`,保存在刚才创建的`mirai文件夹`中
|
||||

|
||||
|
||||

|
||||
|
||||
双击打开,一路回车。然后,你可以看到多出来一些文件。
|
||||
|
||||

|
||||
|
||||
继续点击`mcl.cmd`,看不到文件后缀的,参考这个文章来显示文件后缀名:[如何查看文件后缀](https://jingyan.baidu.com/article/9158e0004c6cbea2541228da.html)
|
||||
|
||||
双击后会显示如下图所示的类似界面,当出现`Enter to continue`时,表明你需要按回车健
|
||||
|
||||

|
||||

|
||||
当出现上面的一行绿字时,说明安装完成,到这里输入 exit,回车退出
|
||||
|
||||
## 安装 mirai-api-http
|
||||
|
||||
打开 `mcl.cmd`,输入`mcl --update-package net.mamoe:mirai-api-http --channel stable-v2 --type plugin` ,回车
|
||||
|
||||

|
||||
|
||||
再次打开`mcl.cmd`,一路回车,直至退出。
|
||||
|
||||
再打开 mcl.cmd,看到如以下界面,说明成功
|
||||

|
||||
键盘按下`Ctrl+C`,退出。
|
||||
找到mira/config/net.mamoe.mirai-api-http/setting.yml文件,右键用记事本打开
|
||||
|
||||

|
||||
|
||||
把内容全部删掉,换成
|
||||
|
||||
```yml
|
||||
adapters:
|
||||
- ws
|
||||
debug: true
|
||||
enableVerify: true
|
||||
verifyKey: yirimirai
|
||||
singleMode: false
|
||||
cacheSize: 4096
|
||||
adapterSettings:
|
||||
ws:
|
||||
host: localhost
|
||||
port: 8080
|
||||
reservedSyncId: -1
|
||||
```
|
||||
|
||||
再打开 `mcl.cmd`,可以看到输出
|
||||

|
||||
则 mirai-api-http 安装成功。
|
||||
|
||||
## 配置签名服务
|
||||
|
||||
在这个链接下载qsign一键签名包,点击下载最新的那个zip压缩包,如下图的`qsign-1.2.1-beta-dev-d62ddce-all.zip`【写于2023年12月19日】,[点我跳转下载页面](https://github.com/MrXiaoM/qsign/releases)
|
||||
|
||||

|
||||
|
||||
下载完成后,解压得到如图文件
|
||||
|
||||

|
||||
|
||||
将两个文件复制到mirai文件夹中
|
||||
|
||||

|
||||
|
||||
打开`txlib`文件夹,发现有若干数字命名的文件夹,记录下最大的那个
|
||||
|
||||

|
||||
|
||||
然后,双击运行`mcl.cmd`,稍等一会儿后,当提示`mirai-console started successfully`时,qsign就安装上了
|
||||
|
||||
之后,打开`mirai/config/top.mrxiaom.qsign`下的`config.yml`文件,用记事本打开
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
然后,按下`Ctrl+S`保存
|
||||
|
||||
然后,再次双击运行`mcl.cmd`,可以看到类似提示,如图
|
||||
|
||||

|
||||
|
||||
## 运行mirai
|
||||
|
||||
到这里,你已经安装并配置成功了,接下来,你就可以登录机器人QQ了
|
||||
|
||||
输入,其中 123456 是替换为你机器人的 QQ 号,67890 替换为你机器人 QQ 的密码
|
||||
|
||||
```bash
|
||||
login 12345 67890
|
||||
```
|
||||
|
||||
然后,可以看到提示
|
||||
|
||||

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

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

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

|
||||
|
||||
然后回车,如果运气好的话,会提示你要收验证码,输入yes并回车,之后把验证码输入上去,然后回车即可成功登录了
|
||||
|
||||
如果运气不好,报错code=237了,建议换号
|
||||
|
||||
## 后续步骤
|
||||
|
||||
查看填写配置信息页,通过 YiriMirai 适配器接入。
|
||||
@@ -1,163 +0,0 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: Go-cqhttp的部署教程
|
||||
title: 部署消息平台go-cqhttp的教程
|
||||
icon: state
|
||||
order: 3
|
||||
author: Anonymous
|
||||
date: 2023-12-21
|
||||
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
|
||||
|
||||
解压并运行,首次运行会询问需要开放的网络协议,**请填入`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,26 +0,0 @@
|
||||
---
|
||||
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 频道机器人。
|
||||
|
||||
## 获取凭证
|
||||
|
||||
注册完成后,前往机器人控制台,找到 开发设置,获取 `AppId(机器人ID)` 和 `AppSecret(机器人密钥)`,接下来进入填写配置信息步骤。
|
||||
@@ -1,24 +0,0 @@
|
||||
---
|
||||
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)
|
||||
@@ -1,61 +0,0 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: ChatGPT QQ机器人教程,QChatGPT项目部署教程
|
||||
title: Docker部署(仅推荐在Linux上使用)
|
||||
icon: stack
|
||||
order: 4
|
||||
author: Lazy,ikun
|
||||
date: 2023-10-28
|
||||
---
|
||||
|
||||
|
||||
:::info 目录
|
||||
[[toc]]
|
||||
:::
|
||||
|
||||
:::warning
|
||||
请您确保您**确实**需要 Docker 部署,您**必须**具有以下能力:
|
||||
- 了解 `Docker` 和 `Docker Compose` 的使用
|
||||
- 了解容器间网络通信配置方式
|
||||
- 了解容器文件挂载机制
|
||||
- 了解容器调试操作
|
||||
- 动手能力强、资料查找能力强
|
||||
|
||||
若您不完全具有以上能力,请勿使用 Docker 部署,由于误操作导致的配置不正确,我们将不会解答您的问题并不负任何责任。
|
||||
**不建议**您在除 Linux 之外的系统上使用 Docker 进行部署。
|
||||
:::
|
||||
|
||||
:::note
|
||||
请先确保 Docker 和 Docker Compose 已安装
|
||||
:::
|
||||
|
||||
以下是推荐的`docker-compose.yaml`模板,您可以根据自己的需求进行修改。
|
||||
|
||||
```yaml
|
||||
version: "3"
|
||||
|
||||
services:
|
||||
qchatgpt:
|
||||
image: rockchin/qchatgpt:latest
|
||||
volumes:
|
||||
- ./data:/app/data
|
||||
- ./plugins:/app/plugins
|
||||
restart: on-failure
|
||||
# 根据具体环境配置网络
|
||||
```
|
||||
|
||||
保存到一个目录的`docker-compose.yaml`,运行命令:
|
||||
|
||||
```bash
|
||||
docker compose up
|
||||
```
|
||||
|
||||
无报错即为启动成功,请查看`部署消息平台`部分以配置消息平台框架。
|
||||
|
||||
## 注意
|
||||
|
||||
- 安装的插件都会保存在`plugins`(映射到本目录`plugins`),安装插件时可能会自动安装相应的依赖,此时若`重新创建`容器,已安装的插件将被加载,但所需的增量依赖并未安装,会导致引入问题。您可以删除插件目录后重启,再次安装插件,以便程序可以自动安装插件所需依赖。
|
||||
|
||||
|
||||
@@ -1,80 +0,0 @@
|
||||
---
|
||||
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)
|
||||
:::
|
||||
|
||||
:::info 目录
|
||||
[[toc]]
|
||||
:::
|
||||
|
||||
|
||||
|
||||
## 安装主程序
|
||||
|
||||
1. 克隆此项目(按照下方命令,需要安装 Git) 或 前往[Release](https://github.com/RockChinQ/QChatGPT/releases)页面下载最新版本的压缩包(推荐)并解压
|
||||
|
||||
```bash
|
||||
git clone https://github.com/RockChinQ/QChatGPT
|
||||
cd QChatGPT
|
||||
```
|
||||
|
||||
2. 安装依赖
|
||||
|
||||
```bash
|
||||
pip3 install -r requirements.txt
|
||||
```
|
||||
|
||||
或者使用清华源
|
||||
|
||||
```bash
|
||||
pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
|
||||
```
|
||||
|
||||
3. 运行一次主程序,生成配置文件
|
||||
|
||||
```bash
|
||||
python3 main.py
|
||||
```
|
||||
|
||||
> 如果输入上面的指令无反应,并且你确认你已经装了python,则可以尝试使用`python main.py`,总之`python`是你启动的python的命令,可以使用 `python --version` 查看你的python版本。下同。
|
||||
|
||||
提示如下信息
|
||||
|
||||
```
|
||||
|
||||
___ ___ _ _ ___ ___ _____
|
||||
/ _ \ / __| |_ __ _| |_ / __| _ \_ _|
|
||||
| (_) | (__| ' \/ _` | _| (_ | _/ | |
|
||||
\__\_\\___|_||_\__,_|\__|\___|_| |_|
|
||||
|
||||
⭐️开源地址: https://github.com/RockChinQ/QChatGPT
|
||||
📖文档地址: https://q.rkcn.top
|
||||
|
||||
以下文件不存在,已自动生成,请按需修改配置文件后重启:
|
||||
- plugins/__init__.py
|
||||
- plugins/plugins.json
|
||||
- data/config/command.json
|
||||
- data/config/pipeline.json
|
||||
- data/config/platform.json
|
||||
- data/config/provider.json
|
||||
- data/config/system.json
|
||||
- data/config/sensitive-words.json
|
||||
- data/scenario/default.json
|
||||
```
|
||||
|
||||
接下来请查看[部署消息平台](../platforms/)页。
|
||||
|
||||
当你部署消息平台和填写配置文件后,再次运行
|
||||
```bash
|
||||
python3 main.py
|
||||
```
|
||||
@@ -1,33 +0,0 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: Python的安装教程
|
||||
title: Python的安装教程(QChatGPT)
|
||||
icon: support
|
||||
order: 3
|
||||
author: Lazy
|
||||
date: 2023-12-18
|
||||
---
|
||||
|
||||
## 第一步:安装Python
|
||||
|
||||
打开这个网址,[点我跳转](https://www.python.org/downloads/release/python-3109/)
|
||||
|
||||
翻到最下边,点击这个下载python安装器
|
||||
|
||||

|
||||
|
||||
然后,双击打开你刚才下载的,记得勾选下面的
|
||||
|
||||

|
||||
|
||||
然后,所有项保持默认即可
|
||||
|
||||
## 第二步:检测Python是否安装成功
|
||||
|
||||
按win+R键,输入cmd,回车,在输入python,回车
|
||||
|
||||

|
||||
|
||||
提示如图时,表明安装成功了
|
||||
@@ -1,121 +0,0 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: QChatGPT插件开发教程
|
||||
title: 技术信息
|
||||
icon: code
|
||||
author: RockChinQ
|
||||
date: 2023-09-30
|
||||
category:
|
||||
- 技术信息
|
||||
index: false
|
||||
---
|
||||
以下是QChatGPT实现原理等技术信息,贡献之前请仔细阅读
|
||||
|
||||
> 此文档为 QChatGPT 2.x 的技术文档,已过时,3.x 版本请直接查看源码。
|
||||
> 请先阅读OpenAI API的相关文档 https://beta.openai.com/docs/ ,以下信息假定您已了解OpenAI模型的相关特性及其接口的调用方法。
|
||||
|
||||
## 术语
|
||||
|
||||
包含OpenAI API涉及的术语和项目中的概念的命名
|
||||
括号中是程序中相应术语的命名,无括号的为抽象概念
|
||||
|
||||
### 模型(model)
|
||||
|
||||
AI模型,程序调用OpenAI的接口获取的内容均为OpenAI的模型生成的内容。
|
||||
|
||||
### 字符(tokens)
|
||||
|
||||
OpenAI定义的字符,ASCII字符为1 token,其他为2 token。
|
||||
|
||||
### 提示符(prompt)
|
||||
|
||||
i. 调用OpenAI的文字补全模型时的提示语,模型接口会根据提示语返回回复内容。程序底层会将对话内容进行封装生成提示符。调用文字补全模型时的提示符均由`user_name`(默认为`You`,可在配置文件修改)和`bot_name`(默认为`Bot`,可在配置文件修改)标记对话角色以供模型识别,以下是实例:
|
||||
|
||||
```
|
||||
You:今天天气真不错
|
||||
Bot:很高兴你喜欢今天的天气:)
|
||||
You:谢谢你
|
||||
Bot:不客气:)
|
||||
```
|
||||
补全模型调用的程序实现请查看下文`实现`节。
|
||||
|
||||
ii. 调用OpenAI的绘图模型时的提示语,模型会根据提示语进行绘图并返回图片URL。
|
||||
|
||||
### 对象
|
||||
|
||||
程序将单个人或单个QQ群视为一个对象,对象和模型是一次会话中的对话双方。
|
||||
|
||||
### 会话(session)
|
||||
|
||||
会话只对文字补全功能有效,绘图功能无会话概念。每个对象使用同一个会话,会话中仅有对象和模型两个角色,故群内所有的人都将被视为同一个角色与模型进行对话。
|
||||
|
||||
程序获取回复的本质是`文字补全`。
|
||||
由于对话需要实现联系上下文,故程序会将模型与对象的对话历史记录作为`提示符`发送给OpenAI的接口以获取符合前文的回复。
|
||||
而OpenAI的文字补全接口的提示符具有长度限制(默认使用的`text-davinci-003`限制为4096 tokens),
|
||||
所以增加`会话`概念以管理向接口发送的提示符内容。
|
||||
|
||||
会话的存活时间可以在`config.py`中设置,默认为20分钟。会话过期之后会被存入数据库并重置。下一次该对象发起对话时将重启新的会话。
|
||||
|
||||
### 预设值、人格(default_prompt)
|
||||
|
||||
每个会话的预设对话信息,可在`config.py`中设置,程序会在每个会话创建时向提示符写入以下内容:
|
||||
|
||||
```
|
||||
You:<预设信息>
|
||||
Bot:好的
|
||||
```
|
||||
|
||||
## 实现
|
||||
|
||||
### QQ机器人
|
||||
|
||||
> 程序路径:
|
||||
> pkg.qqbot
|
||||
|
||||
- `pkg.qqbot.manager`中的`QQBotManager`实现了接收消息、调用OpenAI模块处理消息、报告审计模块记录使用量等功能,并提供通知管理员、发送消息等方法供其他模块调用。
|
||||
- `pkg.qqbot.filter`提供了敏感词过滤的相关操作。
|
||||
- `pkg.qqbot.process`提供了私聊消息和群聊消息的统一处理逻辑。
|
||||
|
||||
使用mirai及YiriMirai作为Python与QQ交互的框架,详细请见其文档。
|
||||
在启动时会调用YiriMirai的函数以创建一个bot对象,用于程序通过mirai与QQ进行交互,在上层程序调用此bot对象的方法进行消息处理。
|
||||
由于YiriMirai暂时无法关闭机器人,故在热重载前后维持同一个bot对象,这意味着QQ机器人的相关配置(QQ号、适配器等)信息不支持热重载。
|
||||
|
||||
### 数据库
|
||||
|
||||
> 程序路径:
|
||||
> pkg.database
|
||||
|
||||
- `pkg.database.manager`中的`DatabaseManager`封装了诸多调用数据库的方法以供其他模块调用。
|
||||
|
||||
使用SQLite作为数据库,储存所有对象的历史会话信息、api-key的费用情况、api-key的使用量情况。
|
||||
|
||||
### OpenAI交互
|
||||
|
||||
> 程序路径:
|
||||
> pkg.openai
|
||||
|
||||
- `pkg.openai.manager`中的`OpenAIInteract`类封装了OpenAI的文字补全`Completion`API和绘图API供机器人模块调用,并在接口调用成功之后向审计模块报告当前使用的api-key的使用量信息。
|
||||
- `pkg.openai.keymgr`实现了多api-key的管理,其中以`exceeded`变量在运行时记录api-key的超额报错记录,并提供根据超额记录进行的api-key切换功能。
|
||||
- `pkg.openai.pricing`记录各个模型的费用信息,供调用接口时估算费用,费用估算功能不再与api-key的切换挂钩,api-key仅在调用接口报错超额时进行切换。
|
||||
- `pkg.openai.session`中的`Session`进行会话管理。
|
||||
|
||||
### utils模块
|
||||
|
||||
#### context模块
|
||||
|
||||
保存前述模块中的对象,并允许各个模块从此处获取其他模块的对象以调用其方法。
|
||||
|
||||
#### 热重载功能
|
||||
|
||||
> pkg.utils.reloader
|
||||
|
||||
重载前保存context中的所有对象,执行`main.py`中的程序关闭流程,使用`importlib`的`reload`函数重载所有模块(包含配置文件,包含新增的模块),重载后将context恢复,并执行程序启动流程。
|
||||
所有模块都会重新创建对象,但QQ机器人模块中的bot对象不会被重新创建,这是因为YiriMirai提供的shutdown方法无法使用,这意味着`config.py`中关于QQ机器人的配置不支持热重载。
|
||||
|
||||
#### 热更新功能
|
||||
|
||||
> pkg.utils.updater
|
||||
|
||||
使用`dulwich`库执行pull操作拉取远程仓库的最新源码,并进行一次热重载加载最新代码。
|
||||
@@ -1,37 +0,0 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: QChatGPT的常见问题
|
||||
title: QChatGPT的常见问题
|
||||
icon: info
|
||||
author: Lazy
|
||||
date: 2024-06-10
|
||||
---
|
||||
|
||||
## Q1:如何接入 OneAPI、LinkAI 等第三方 OpenAI 格式接口?
|
||||
|
||||
文章:[📖 QChatGPT 实践:接入 OneAPI、LinkAI、中转站 等第三方 OpenAI 格式接口以使用 Gemini、Qwen 等模型](https://rockchin.top/?p=295)
|
||||
|
||||
## Q2:官方机器人 IP 白名单怎么填?
|
||||
|
||||
如果你是在自己电脑上运行机器人:打开[IP138](https://ip38.com/) 这个网址获取自己网络的出网 IP,填写这个 IP 如图
|
||||
|
||||

|
||||
|
||||
如果不是在自己电脑上(如云服务器),请自行检查主机的公网 IP。
|
||||
|
||||
## Q3:各种请求失败报错案例:
|
||||
|
||||
|
||||
1. 你的模型 api key 未填或者不正确
|
||||
|
||||

|
||||
|
||||
2. 中转站没有额度了
|
||||
|
||||

|
||||
|
||||
## Q4:插件安装失败?
|
||||
|
||||
尝试在主机上开启网络代理,Linux 需要设置环境变量 http_proxy 和 https_proxy。
|
||||
@@ -1,131 +0,0 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: QChatGPT的模型一览功能介绍
|
||||
title: 模型一览和功能点
|
||||
icon: enum
|
||||
author: RockChinQ
|
||||
date: 2023-12-20
|
||||
category:
|
||||
- 部署教程
|
||||
---
|
||||
## 模型一览
|
||||
|
||||
### 文字对话
|
||||
|
||||
- OpenAI API:GPT-3.5 / GPT-4 系列
|
||||
- Moonshot / Deepseek 等支持 OpenAI API 的大模型提供商接口
|
||||
- Anthropic:Claude 系列
|
||||
- [OneAPI](https://github.com/songquanpeng/one-api)接口聚合平台:Google Gemini Pro / Azure / Anthropic Claude / 智谱 ChatGLM / 百度文心一言 / 讯飞星火认知 / 阿里通义千问 / 360 智脑等市面上所有 LLM 官方接口
|
||||
- [free-one-api](https://github.com/RockChinQ/free-one-api)逆向工程库聚合平台:ChatGPT / Claude / Google Bard / gpt4free / 通义千问
|
||||
|
||||
## 功能点列举
|
||||
|
||||
<details>
|
||||
<summary>✅回复符合上下文</summary>
|
||||
|
||||
- 程序向模型发送近几次对话内容,模型根据上下文生成回复
|
||||
|
||||
</details>
|
||||
<br>
|
||||
<details>
|
||||
<summary>✅支持敏感词过滤,避免账号风险</summary>
|
||||
|
||||
- 难以监测机器人与用户对话时的内容,故引入此功能以减少机器人风险
|
||||
|
||||
</details>
|
||||
<br>
|
||||
|
||||
<details>
|
||||
<summary>✅群内多种响应规则,不必at</summary>
|
||||
|
||||
- 默认回复`ai`作为前缀或`@`机器人的消息
|
||||
|
||||
</details>
|
||||
<br>
|
||||
|
||||
<details>
|
||||
<summary>✅使用官方api,稳定快捷</summary>
|
||||
|
||||
- 不使用ChatGPT逆向接口,而使用官方的Completion API,稳定性高
|
||||
|
||||
</details>
|
||||
<br>
|
||||
|
||||
<details>
|
||||
<summary>✅组件少,部署方便,提供一键安装器及Docker安装</summary>
|
||||
|
||||
- 手动部署步骤少
|
||||
- 提供自动安装器及docker方式,详见安装步骤
|
||||
</details>
|
||||
<br>
|
||||
|
||||
<details>
|
||||
<summary>✅支持预设文字</summary>
|
||||
|
||||
- 支持以自然语言预设文字,自定义机器人人格等信息
|
||||
|
||||
</details>
|
||||
<br>
|
||||
|
||||
<details>
|
||||
<summary>✅支持插件加载🧩</summary>
|
||||
|
||||
- 自行实现插件加载器及相关支持
|
||||
- 详细查看插件介绍页
|
||||
</details>
|
||||
<br>
|
||||
|
||||
<details>
|
||||
<summary>✅私聊、群聊黑名单机制</summary>
|
||||
|
||||
- 支持将人或群聊加入黑名单以忽略其消息
|
||||
|
||||
</details>
|
||||
<br>
|
||||
|
||||
<details>
|
||||
<summary>✅回复速度限制</summary>
|
||||
|
||||
- 支持限制单会话内每分钟可进行的对话次数
|
||||
- 具有“等待”和“丢弃”两种策略
|
||||
- “等待”策略:在获取到回复后,等待直到此次响应时间达到对话响应时间均值
|
||||
- “丢弃”策略:此分钟内对话次数达到限制时,丢弃之后的对话
|
||||
|
||||
</details>
|
||||
<br>
|
||||
|
||||
## 限制
|
||||
|
||||
- ❗OpenAI 官方关于模型生成内容的警告:
|
||||
- May occasionally generate incorrect information(可能会生成不正确的信息)
|
||||
- May occasionally produce harmful instructions or biased content(可能会产生有害说明或有偏见的内容)
|
||||
- Limited knowledge of world and events after 2021(对2021年后的世界和事件的了解有限)
|
||||
- ❗模型无思维能力,仅针对传入的上下文根据数据集生成内容,请勿过于信任其输出
|
||||
- ❗模型不了解其运行平台及其使用的模型版本,任何针对其实现原理的问题答案均视为无效,请以项目文档为准
|
||||
|
||||
以上是关于此程序的限制的最高优先级描述,其他方式(如询问机器人相关信息)获得的描述均应被视为无效
|
||||
由于模型生成的内容导致的一切损失,本项目概不负责
|
||||
|
||||
## 使用方式
|
||||
|
||||
对话及绘图功能均直接调用OpenAI的模型进行处理,与机器人程序无关,这意味着模型并不了解此项目的相关信息(如实现方式、技术栈、运行平台等),除非在预设值中写入相关信息。
|
||||
|
||||
### 基础对话
|
||||
|
||||
#### 私聊使用
|
||||
|
||||
1. 添加机器人QQ为好友
|
||||
2. 发送消息给机器人,机器人即会自动回复
|
||||
3. 可以通过`!help`查看帮助信息
|
||||
|
||||

|
||||
|
||||
#### 群聊使用
|
||||
|
||||
1. 将机器人拉进群
|
||||
2. at机器人并发送消息,机器人即会自动回复
|
||||
3. at机器人并发送`!help`查看帮助信息
|
||||
|
||||

|
||||
@@ -1,14 +0,0 @@
|
||||
---
|
||||
head:
|
||||
- - meta
|
||||
- name: keywords
|
||||
content: ChatGPT QQ机器人教程,QChatGPT项目部署教程
|
||||
title: 元数据配置详解
|
||||
icon: config
|
||||
author: RockChinQ
|
||||
date: 2024-03-20
|
||||
index: false
|
||||
---
|
||||
|
||||
元数据配置是程序运行期间生成的,用于描述某些数据的数据文件,比如:大语言模型数据、敏感词库、QQ 官方 API 的 ID 映射关系等,这些数据相比于配置文件较为复杂,一般不需要用户手动修改。
|
||||
元数据文件均位于 `data/metadata/` 目录下,请点击左侧目录查看各个文件的详细配置项。
|
||||
@@ -1,33 +0,0 @@
|
||||
---
|
||||
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。
|
||||