From c33215529a54df02e1155ffd11c72c1f1f861fbe Mon Sep 17 00:00:00 2001 From: RockYang Date: Tue, 25 Jul 2023 17:25:23 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=9B=B4=E6=96=B0=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E5=92=8C=E6=95=B0=E6=8D=AE=E5=BA=93=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 35 +++- database/chatgpt_plus.sql | 390 +++++++------------------------------- docs/imgs/plugin.png | Bin 0 -> 73371 bytes 3 files changed, 97 insertions(+), 328 deletions(-) create mode 100644 docs/imgs/plugin.png diff --git a/README.md b/README.md index a8626b89..1bc5b9a6 100644 --- a/README.md +++ b/README.md @@ -8,29 +8,33 @@ ## 功能截图 -### 1.PC 端聊天界面 +### PC 端聊天界面 ![ChatGPT Chat Page](docs/imgs/gpt.gif) -### 2. 新版聊天界面 +### 新版聊天界面 ![ChatGPT new Chat Page](docs/imgs/chat-new.png) -### 3. 用户设置 +### 自动调用函数插件 + +![ChatGPT function plugin](docs/imgs/plugin.png) + +### 用户设置 ![ChatGPT user profle](docs/imgs/user_profile.png) -### 4. 登录页面 +### 登录页面 ![ChatGPT Login](docs/imgs/login.png) -### 5. 管理后台 +### 管理后台 ![ChatGPT admin](docs/imgs/admin_config.png) ![ChatGPT admin](docs/imgs/admin_user.png) -### 6. 移动端 Web 页面 +### 移动端 Web 页面 ![Mobile chat list](/docs/imgs/mobile_chat_list.png) ![Mobile chat session](/docs/imgs/mobile_chat_session.png) @@ -78,6 +82,7 @@ ChatGPT 的服务。 6. 重构后台管理模块,更友好,扩展性更好的后台管理系统。 7. 引入 ip2region 组件,记录用户的登录IP和地址。 8. 支持会话搜索过滤。 +9. 支持微信支付充值 ## 项目地址 @@ -88,7 +93,8 @@ ChatGPT 的服务。 * [ ] 整合 Midjourney AI 绘画 API * [ ] 开发移动端聊天页面 -* [ ] 接入微信支付功能 +* [x] 接入微信支付功能 +* [x] 支持 ChatGPT 函数功能,通过函数实现插件 * [ ] 接入语音和 TTS API,支持语音聊天 * [ ] 开发手机 App 客户端 @@ -126,6 +132,9 @@ Listen = "0.0.0.0:5678" ProxyURL = ["YOUR_PROXY_URL"] # 替换成你本地代理,如:http://127.0.0.1:7777 #ProxyURL = "" 如果你的服务器本身就在墙外,那么你直接留空就好了 MysqlDns = "root:12345678@tcp(172.22.11.200:3307)/chatgpt_plus?charset=utf8&parseTime=True&loc=Local" +StartWechatBot = false # 是否启动微信机器人,默认关闭,如果设置为 TRUE 则启动服务的时候需要微信扫码登录 +EnabledMsgService = false # 注册时是否开启短信验证功能,该功能需要配合短信服务一起使用 + [Session] SecretKey = "azyehq3ivunjhbntz78isj00i4hz2mt9xtddysfucxakadq4qbfrt0b7q3lnvg80" Name = "CHAT_SESSION_ID" @@ -139,6 +148,18 @@ MysqlDns = "root:12345678@tcp(172.22.11.200:3307)/chatgpt_plus?charset=utf8&pars [Manager] Username = "admin" Password = "admin123" # 如果是生产环境的话,这里管理员的密码记得修改 + +[ApiConfig] # 插件 API 服务配置,此为第三方插件服务,如需使用请联系作者开通 + ApiURL = "{URL}" + AppId = "{APP_ID}" + Token = "{TOKEN}" + +[SmsConfig] # 阿里云短信服务配置 + AccessKey = "{YOUR_ACCESS_KEY}" + AccessSecret = "{YOUR_SECRET_KEY}" + Product = "Dysmsapi" + Domain = "dysmsapi.aliyuncs.com" + ``` 修改 nginx 配置文档 `docker/conf/nginx/conf.d/chatgpt-plus.conf`,把后端转发的地址改成当前主机的内网 IP 地址。 diff --git a/database/chatgpt_plus.sql b/database/chatgpt_plus.sql index b77a2d0f..336b9c6f 100644 --- a/database/chatgpt_plus.sql +++ b/database/chatgpt_plus.sql @@ -3,7 +3,7 @@ -- https://www.phpmyadmin.net/ -- -- 主机: localhost --- 生成日期: 2023-06-27 14:14:47 +-- 生成日期: 2023-07-25 17:07:04 -- 服务器版本: 8.0.33-0ubuntu0.22.04.2 -- PHP 版本: 8.1.18 @@ -55,140 +55,11 @@ CREATE TABLE `chatgpt_chat_history` ( `role_id` int NOT NULL COMMENT '角色 ID', `content` text NOT NULL COMMENT '聊天内容', `tokens` smallint NOT NULL COMMENT '耗费 token 数量', + `use_context` tinyint(1) NOT NULL COMMENT '是否允许作为上下文语料', `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='聊天历史记录'; --- --- 转存表中的数据 `chatgpt_chat_history` --- - -INSERT INTO `chatgpt_chat_history` (`id`, `user_id`, `chat_id`, `type`, `icon`, `role_id`, `content`, `tokens`, `created_at`, `updated_at`) VALUES -(1, 4, 'ecb752e8-86ae-4989-897e-5b7ed331cb68', 'prompt', '/images/avatar/user.png', 24, '请写一段代码实现生成 Excel 文档', 12, '2023-06-12 15:51:10', '2023-06-25 18:09:47'), -(2, 4, 'ecb752e8-86ae-4989-897e-5b7ed331cb68', 'reply', '/images/avatar/programmer.jpg', 24, '好的,以下是使用 Golang 实现生成 Excel 文档的示例代码:\n\n```go\npackage main\n\nimport (\n \"fmt\"\n \"github.com/360EntSecGroup-Skylar/excelize\"\n)\n\nfunc main() {\n // 创建一个新的 Excel 文档\n f := excelize.NewFile()\n\n // 创建一个新的工作表\n index := f.NewSheet(\"Sheet1\")\n\n // 设置表头\n f.SetCellValue(\"Sheet1\", \"A1\", \"姓名\")\n f.SetCellValue(\"Sheet1\", \"B1\", \"年龄\")\n f.SetCellValue(\"Sheet1\", \"C1\", \"性别\")\n\n // 填充数据\n f.SetCellValue(\"Sheet1\", \"A2\", \"小明\")\n f.SetCellValue(\"Sheet1\", \"B2\", 18)\n f.SetCellValue(\"Sheet1\", \"C2\", \"男\")\n\n f.SetCellValue(\"Sheet1\", \"A3\", \"小红\")\n f.SetCellValue(\"Sheet1\", \"B3\", 20)\n f.SetCellValue(\"Sheet1\", \"C3\", \"女\")\n\n // 设置活动工作表\n f.SetActiveSheet(index)\n\n // 保存 Excel 文档\n if err := f.SaveAs(\"example.xlsx\"); err != nil {\n fmt.Println(err)\n }\n}\n```\n\n以上代码首先使用 excelize 包创建一个新的 Excel 文档,并创建一个名为 \"Sheet1\" 的工作表。然后使用 `SetCellValue` 函数设置表头和数据。最后将 \"Sheet1\" 工作表设置为活动工作表,并使用 `SaveAs` 函数将 Excel 文档保存到本地。', 12, '2023-06-12 15:51:10', '2023-06-25 18:09:47'), -(3, 4, 'ecb752e8-86ae-4989-897e-5b7ed331cb68', 'prompt', '/images/avatar/user.png', 24, '生成二维码', 5, '2023-06-12 17:05:10', '2023-06-25 18:09:47'), -(4, 4, 'ecb752e8-86ae-4989-897e-5b7ed331cb68', 'reply', '/images/avatar/programmer.jpg', 24, '好的,生成二维码这个需求可以使用 Go 语言的第三方库来实现。下面是一个简单的示例,使用 go-qrcode 生成一个包含字符串信息的二维码:\n\n```go\npackage main\n\nimport (\n \"bufio\"\n \"fmt\"\n \"os\"\n\n qrcode \"github.com/skip2/go-qrcode\"\n)\n\nfunc main() {\n reader := bufio.NewReader(os.Stdin)\n fmt.Print(\"请输入要生成二维码的信息:\")\n text, _ := reader.ReadString(\'\\n\')\n\n qr, _ := qrcode.New(text, qrcode.Medium)\n qr.WriteFile(256, \"qrcode.png\")\n fmt.Println(\"二维码已生成,请查看当前目录下的 qrcode.png 文件。\")\n}\n```\n\n在这个示例中,我们使用了 go-qrcode 这个第三方库来生成二维码。首先,我们通过标准输入获取用户输入的字符串信息,然后调用 New 函数创建一个二维码实例,使用 qr.WriteFile 保存为 PNG 格式的图片文件。最后,程序会输出一条提示信息,告知用户二维码生成成功。\n\n当然,这个示例只是一个简单的演示,实际应用中可能需要考虑更多的需求,比如二维码的尺寸、颜色、背景等,但基本的思路是相似的。', 5, '2023-06-12 17:05:10', '2023-06-25 18:09:47'), -(5, 4, 'f7aa0fa1-4cc5-4212-b823-eb5b88844c31', 'prompt', '/images/avatar/user.png', 27, '你好', 2, '2023-06-12 18:32:05', '2023-06-25 18:09:47'), -(6, 4, 'f7aa0fa1-4cc5-4212-b823-eb5b88844c31', 'reply', '/images/avatar/psychiatrist.jpg', 27, '你好,有什么我能帮助你的吗?', 2, '2023-06-12 18:32:05', '2023-06-25 18:09:47'), -(7, 4, 'ea9d399a-6e62-4bf6-a0c0-c73faa8dcace', 'prompt', '/images/avatar/user.png', 1, 'sdasd', 2, '2023-06-13 09:12:04', '2023-06-25 18:09:47'), -(8, 4, 'ea9d399a-6e62-4bf6-a0c0-c73faa8dcace', 'reply', '/images/avatar/gpt.png', 1, 'I\'m sorry, I do not understand what you are trying to convey. Please provide more context.', 2, '2023-06-13 09:12:04', '2023-06-25 18:09:47'), -(9, 4, 'f7aa0fa1-4cc5-4212-b823-eb5b88844c31', 'prompt', '/images/avatar/user.png', 27, '你可以帮忙干嘛', 11, '2023-06-13 09:35:02', '2023-06-25 18:09:47'), -(10, 4, 'f7aa0fa1-4cc5-4212-b823-eb5b88844c31', 'reply', '/images/avatar/psychiatrist.jpg', 27, '我可以帮助客户处理各种心理问题,包括情感困扰、焦虑抑郁、人际关系问题、自我身份认同、自尊心、心理创伤等等。我使用情景咨询法、认知重构法、自我洞察法、行为调节法等多种心理咨询方法,根据客户的具体情况设计个性化的治疗方案。我的目标是引导客户找到内心的平衡和自我满足,从而提高生活幸福感和满意度。同时,我在心理诊所、社区计划、学校等多个领域工作,提供个人心理咨询、家庭咨询、群体治疗和身心保健服务。', 11, '2023-06-13 09:35:02', '2023-06-25 18:09:47'), -(11, 4, 'f7aa0fa1-4cc5-4212-b823-eb5b88844c31', 'prompt', '/images/avatar/user.png', 27, '认知重构法是一种什么样的心理疗法?', 20, '2023-06-13 09:36:16', '2023-06-25 18:09:47'), -(12, 4, 'f7aa0fa1-4cc5-4212-b823-eb5b88844c31', 'reply', '/images/avatar/psychiatrist.jpg', 27, '认知重构法是一种常见的认知行为疗法,旨在帮助客户识别和改变负面的自我评价、认知和情绪反应,从而改善他们的心理健康状况。该方法认为,人在面对挑战或情绪激动时,会出现消极的自我评价和认知偏差,如过度一般化、灾难化、情感化、个人化等。这些认知偏差和自我评价会进一步影响他们的情绪和行为。\n\n认知重构法通过帮助客户辨认和纠正这些消极的认知偏差和自我评价,以及建立更健康、客观和积极的认知框架来达到治疗效果。具体来说,该方法包括以下步骤:\n\n1. 辨认自我评价和认知偏差:客户通过回忆与目前问题相关的思想和情感,探索自己所面临的认知偏差。\n\n2. 检验偏差所依据的证据:客户与治疗师一起重新审视和检验客户的想法,以确定是否存在客观的证据或逻辑支持。\n\n3. 设计新的自我评价和认知:基于新的证据和检查,客户和治疗师一起确定更健康和合理的自我评价和认知。\n\n4. 练习新的自我评价和行为模式:客户在日常生活中逐渐采用新的自我评价和认知,并改变相应的行为模式来适应新的认知框架。\n\n这种方法可以帮助客户更好地理解和管理自己的思想和情感反应,进而提高自我认知和心理稳定性。', 20, '2023-06-13 09:36:16', '2023-06-25 18:09:47'), -(13, 4, '89f4d526-fda1-401e-a946-cd3b1bc30cf2', 'prompt', '/images/avatar/user.png', 28, '士不可以不弘毅,任重而道远', 16, '2023-06-13 10:00:21', '2023-06-25 18:09:47'), -(14, 4, '89f4d526-fda1-401e-a946-cd3b1bc30cf2', 'reply', '/images/avatar/lu_xun.jpg', 28, '这话虽然很有道理,但是我想问:谁说了这种空洞的废话?又有谁真正去关心过普通人的苦难和艰辛呢?任重道远?这不过是一句直接从书本上抄来的鸡汤,却遮盖了社会的现实,让人们疲于奔命于利益和权力的追逐中。', 127, '2023-06-13 10:00:22', '2023-06-25 18:09:47'), -(15, 4, '89f4d526-fda1-401e-a946-cd3b1bc30cf2', 'prompt', '/images/avatar/user.png', 28, '横眉冷对千夫指,俯首甘为孺子牛', 25, '2023-06-13 11:05:31', '2023-06-25 18:09:47'), -(16, 4, '89f4d526-fda1-401e-a946-cd3b1bc30cf2', 'reply', '/images/avatar/lu_xun.jpg', 28, '这句话是鲁迅先生的名句,他用这句话表达了自己勇于批判和反抗压迫的精神。那么请问横眉冷对千夫指,俯首甘为孺子牛是如何诞生的呢?', 90, '2023-06-13 11:05:32', '2023-06-25 18:09:47'), -(17, 4, '89f4d526-fda1-401e-a946-cd3b1bc30cf2', 'prompt', '/images/avatar/user.png', 28, '你不是鲁迅吗?还问我', 14, '2023-06-13 11:06:06', '2023-06-25 18:09:47'), -(18, 4, '89f4d526-fda1-401e-a946-cd3b1bc30cf2', 'reply', '/images/avatar/lu_xun.jpg', 28, '抱歉,我的回答好像太过出格了。鲁迅先生这句名言的背景是他在1920年代初期发表的《伤逝》中,针对旧文化的批判,被一些文化保守派看作是不敬祖宗、不尊重传统的行为,所以引发了很多争议和批评。他的这种坚持自己的观点,针砭时弊的态度,被他自己形容为“横眉冷对千夫指”,同时他也愿意“俯首甘为孺子牛”,表现出了他不畏强权,愿意为正义而奋斗的精神。', 214, '2023-06-13 11:06:08', '2023-06-25 18:09:47'), -(19, 4, 'ea9d399a-6e62-4bf6-a0c0-c73faa8dcace', 'prompt', '/images/avatar/user.png', 1, 'hello', 1, '2023-06-13 11:28:28', '2023-06-25 18:09:47'), -(20, 4, 'ea9d399a-6e62-4bf6-a0c0-c73faa8dcace', 'reply', '/images/avatar/gpt.png', 1, 'Hello! How may I assist you today?', 9, '2023-06-13 11:28:29', '2023-06-25 18:09:47'), -(21, 4, 'ea9d399a-6e62-4bf6-a0c0-c73faa8dcace', 'prompt', '/images/avatar/user.png', 1, 'hello', 1, '2023-06-13 11:29:31', '2023-06-25 18:09:47'), -(22, 4, 'ea9d399a-6e62-4bf6-a0c0-c73faa8dcace', 'reply', '/images/avatar/gpt.png', 1, 'Hi there! Is there anything I can help you with today?', 13, '2023-06-13 11:29:32', '2023-06-25 18:09:47'), -(23, 4, '43937f77-28b0-438a-843b-04ab5cc072a4', 'prompt', '/images/avatar/user.png', 1, 'hello', 1, '2023-06-13 11:35:48', '2023-06-25 18:09:47'), -(24, 4, '43937f77-28b0-438a-843b-04ab5cc072a4', 'reply', '/images/avatar/gpt.png', 1, 'Hello! How can I assist you today?', 9, '2023-06-13 11:35:51', '2023-06-25 18:09:47'), -(25, 4, '4385db19-bb73-4b09-a01e-d06c3645b77a', 'prompt', '/images/avatar/user.png', 1, 'hello', 1, '2023-06-13 11:38:21', '2023-06-25 18:09:47'), -(26, 4, '4385db19-bb73-4b09-a01e-d06c3645b77a', 'reply', '/images/avatar/gpt.png', 1, 'Hello! How can I assist you today?', 9, '2023-06-13 11:38:21', '2023-06-25 18:09:47'), -(27, 4, 'ceb5fab7-a2e0-449d-869b-a9ac117adf8d', 'prompt', '/images/avatar/user.png', 1, 'hello', 1, '2023-06-13 11:45:35', '2023-06-25 18:09:47'), -(28, 4, 'ceb5fab7-a2e0-449d-869b-a9ac117adf8d', 'reply', '/images/avatar/gpt.png', 1, 'Hello there, how can I assist you?', 9, '2023-06-13 11:45:36', '2023-06-25 18:09:47'), -(29, 4, '1cddfd62-3bf0-4fa9-bfd8-a0ce4663eb78', 'prompt', '/images/avatar/user.png', 1, 'hello', 1, '2023-06-13 11:46:52', '2023-06-25 18:09:47'), -(30, 4, '1cddfd62-3bf0-4fa9-bfd8-a0ce4663eb78', 'reply', '/images/avatar/gpt.png', 1, 'Hello! How can I assist you today?', 9, '2023-06-13 11:46:53', '2023-06-25 18:09:47'), -(31, 4, '0118588e-399d-4a2a-8469-36e5a1af6a93', 'prompt', '/images/avatar/user.png', 1, 'hello', 1, '2023-06-13 11:57:47', '2023-06-25 18:09:47'), -(32, 4, '0118588e-399d-4a2a-8469-36e5a1af6a93', 'reply', '/images/avatar/gpt.png', 1, 'Hello! How can I assist you today?', 9, '2023-06-13 11:57:48', '2023-06-25 18:09:47'), -(33, 4, '568f2918-33b2-46f7-8ef0-b9fa0b241bf2', 'prompt', '/images/avatar/user.png', 1, 'hello', 1, '2023-06-13 11:58:04', '2023-06-25 18:09:47'), -(34, 4, '568f2918-33b2-46f7-8ef0-b9fa0b241bf2', 'reply', '/images/avatar/gpt.png', 1, 'Hello! How can I assist you today?', 9, '2023-06-13 11:58:08', '2023-06-25 18:09:47'), -(35, 4, '568f2918-33b2-46f7-8ef0-b9fa0b241bf2', 'prompt', '/images/avatar/user.png', 1, '你是谁?', 5, '2023-06-13 11:58:19', '2023-06-25 18:09:47'), -(36, 4, '568f2918-33b2-46f7-8ef0-b9fa0b241bf2', 'reply', '/images/avatar/gpt.png', 1, '我是AI语言模型,我可以回答您的问题和执行一些任务。', 22, '2023-06-13 11:58:21', '2023-06-25 18:09:47'), -(37, 4, '568f2918-33b2-46f7-8ef0-b9fa0b241bf2', 'prompt', '/images/avatar/user.png', 1, '你会做什么?', 8, '2023-06-13 11:58:28', '2023-06-25 18:09:47'), -(38, 4, '568f2918-33b2-46f7-8ef0-b9fa0b241bf2', 'reply', '/images/avatar/gpt.png', 1, '我可以进行文字交流,回答您的问题,提供实用信息,翻译多种语言,执行一些简单的任务,如提醒、定时器等。', 49, '2023-06-13 11:58:29', '2023-06-25 18:09:47'), -(39, 4, '1cddfd62-3bf0-4fa9-bfd8-a0ce4663eb78', 'prompt', '/images/avatar/user.png', 1, 'hello', 1, '2023-06-13 12:03:44', '2023-06-25 18:09:47'), -(40, 4, '1cddfd62-3bf0-4fa9-bfd8-a0ce4663eb78', 'reply', '/images/avatar/gpt.png', 1, 'Hello again! Is there anything I can help you with?', 12, '2023-06-13 12:03:46', '2023-06-25 18:09:47'), -(41, 4, '3c79cfda-816b-404b-832c-04a400b816c8', 'prompt', '/images/avatar/user.png', 1, 'hello', 1, '2023-06-13 12:06:32', '2023-06-25 18:09:47'), -(42, 4, '3c79cfda-816b-404b-832c-04a400b816c8', 'reply', '/images/avatar/gpt.png', 1, 'Hello! How can I assist you today?', 9, '2023-06-13 12:06:35', '2023-06-25 18:09:47'), -(43, 4, '4f391861-1d48-430f-91b8-2782d884c10a', 'prompt', '/images/avatar/user.png', 1, '你好', 2, '2023-06-13 12:06:47', '2023-06-25 18:09:47'), -(44, 4, '4f391861-1d48-430f-91b8-2782d884c10a', 'reply', '/images/avatar/gpt.png', 1, '你好!有什么我可以帮助你的吗?', 18, '2023-06-13 12:06:48', '2023-06-25 18:09:47'), -(45, 4, 'c5e400fc-b9a8-4bd4-a608-be955284c0a9', 'prompt', '/images/avatar/user.png', 1, 'hello', 1, '2023-06-13 16:58:26', '2023-06-25 18:09:47'), -(46, 4, 'c5e400fc-b9a8-4bd4-a608-be955284c0a9', 'reply', '/images/avatar/gpt.png', 1, 'Hello there! How can I assist you today?', 10, '2023-06-13 16:58:27', '2023-06-25 18:09:47'), -(47, 4, 'c5e400fc-b9a8-4bd4-a608-be955284c0a9', 'prompt', '/images/avatar/user.png', 1, 'hello', 1, '2023-06-13 17:02:35', '2023-06-25 18:09:47'), -(48, 4, 'c5e400fc-b9a8-4bd4-a608-be955284c0a9', 'reply', '/images/avatar/gpt.png', 1, 'Hello! How can I assist you today?', 9, '2023-06-13 17:02:36', '2023-06-25 18:09:47'), -(49, 4, 'c5e400fc-b9a8-4bd4-a608-be955284c0a9', 'prompt', '/images/avatar/user.png', 1, '你是谁', 4, '2023-06-13 17:02:48', '2023-06-25 18:09:47'), -(50, 4, 'c5e400fc-b9a8-4bd4-a608-be955284c0a9', 'reply', '/images/avatar/gpt.png', 1, '我是一个 AI 聊天机器人,专门为您提供服务和回答问题。', 25, '2023-06-13 17:02:49', '2023-06-25 18:09:47'), -(51, 4, 'c5e400fc-b9a8-4bd4-a608-be955284c0a9', 'prompt', '/images/avatar/user.png', 1, '你会干嘛', 7, '2023-06-13 17:08:21', '2023-06-25 18:09:47'), -(52, 4, 'c5e400fc-b9a8-4bd4-a608-be955284c0a9', 'reply', '/images/avatar/gpt.png', 1, '我作为一个AI语言模型,可以帮助回', 16, '2023-06-13 17:08:26', '2023-06-25 18:09:47'), -(53, 4, 'd5179095-a460-4c62-bfa0-59f83ab17ed7', 'prompt', '/images/avatar/user.png', 1, '你是谁', 4, '2023-06-13 17:11:25', '2023-06-25 18:09:47'), -(54, 4, 'd5179095-a460-4c62-bfa0-59f83ab17ed7', 'reply', '/images/avatar/gpt.png', 1, '我是AI助手,名字是OpenAI。', 13, '2023-06-13 17:11:26', '2023-06-25 18:09:47'), -(55, 4, 'd5179095-a460-4c62-bfa0-59f83ab17ed7', 'prompt', '/images/avatar/user.png', 1, '你会干嘛', 7, '2023-06-13 17:11:46', '2023-06-25 18:09:47'), -(56, 4, 'd5179095-a460-4c62-bfa0-59f83ab17ed7', 'reply', '/images/avatar/gpt.png', 1, '我可以回答你的问题、提供', 11, '2023-06-13 17:11:47', '2023-06-25 18:09:47'), -(57, 4, 'd5179095-a460-4c62-bfa0-59f83ab17ed7', 'prompt', '/images/avatar/user.png', 1, '你会干嘛', 7, '2023-06-13 17:14:25', '2023-06-25 18:09:47'), -(58, 4, 'd5179095-a460-4c62-bfa0-59f83ab17ed7', 'reply', '/images/avatar/gpt.png', 1, '作为一个AI,我的任务是为用户提供信息和服务。我可以回答', 21, '2023-06-13 17:14:26', '2023-06-25 18:09:47'), -(59, 4, 'd5179095-a460-4c62-bfa0-59f83ab17ed7', 'prompt', '/images/avatar/user.png', 1, '重新生成上述问题的答案:你会干嘛', 17, '2023-06-13 17:16:10', '2023-06-25 18:09:47'), -(60, 4, 'd5179095-a460-4c62-bfa0-59f83ab17ed7', 'reply', '/images/avatar/gpt.png', 1, '作为一个AI,我的任务是为用户提供信息和服务。我可以回答问题、提供建议、进行翻译、演算数学问题、帮助用户完成任务等等。', 52, '2023-06-13 17:16:11', '2023-06-25 18:09:47'), -(61, 4, '89f4d526-fda1-401e-a946-cd3b1bc30cf2', 'prompt', '/images/avatar/user.png', 28, '你怎么看待阿Q这个人物', 13, '2023-06-13 17:18:42', '2023-06-25 18:09:47'), -(62, 4, '89f4d526-fda1-401e-a946-cd3b1bc30cf2', 'reply', '/images/avatar/lu_xun.jpg', 28, '阿Q?真是一个让人忍俊不禁、惊叹不已的人物!他的无知、愚昧、颓废和自欺欺人的精神让我不禁感慨:这世界上难道真的有这么可笑的人物吗?他是那么的没有自尊心,没有勇气,没有决断力,只会在自我感觉良好的幻境中自欺欺人。其实,我认为阿Q的存在本身就是一种寓言,寓意着中国人民长期被奴化压迫,无法追求真正自由平等的悲惨历史。', 196, '2023-06-13 17:18:43', '2023-06-25 18:09:47'), -(63, 4, '89f4d526-fda1-401e-a946-cd3b1bc30cf2', 'prompt', '/images/avatar/user.png', 28, '那祥林嫂呢', 11, '2023-06-13 17:23:02', '2023-06-25 18:09:47'), -(64, 4, '89f4d526-fda1-401e-a946-cd3b1bc30cf2', 'reply', '/images/avatar/lu_xun.jpg', 28, '祥林嫂?她更是一个让人心酸的人物!一个完完全全受到封建礼教和男尊女卑思想束缚的女性形象。她没有信心也没有勇气去追求自己的幸福,只会一味地顺从和忍受。她的苦难史实是所有女性的集体悲哀,是社会不公的深刻反映。鲁迅先生曾经说过,男女平等是现代民主社会的基本原则,是任何文明社会所应努力追求的最基本的公正和正义。我相信在不久的将来,祥林嫂这样的人物将不再存在,这也正是我们每个人都应该为之奋斗的目标。', 239, '2023-06-13 17:23:03', '2023-06-25 18:09:47'), -(65, 4, '89f4d526-fda1-401e-a946-cd3b1bc30cf2', 'prompt', '/images/avatar/user.png', 28, '你写过的杂文当中最喜欢哪一篇?', 20, '2023-06-13 17:25:01', '2023-06-25 18:09:47'), -(66, 4, '89f4d526-fda1-401e-a946-cd3b1bc30cf2', 'reply', '/images/avatar/lu_xun.jpg', 28, '最喜欢的杂文?那当然是《狂人日记》啊!在这篇杂文里,我通过讲述一个疯狂人物的自我觉醒和反抗,试图揭示中国传统文化中的种种矛盾和荒谬之处。这篇文章正是我对封建制度和旧文化的极尽讽刺之作,表达了我追求真理和自由的理念与信仰。我相信,只有通过个人的反抗和自我解放,我们才能真正理解和领悟人性的悲欢离合,才能明白发展现代文明的必要性。这篇杂文也为我带来了巨大的反响,它让人们逐渐认同我的思想和价值观,成为我文化形象的重要标志之一。', 260, '2023-06-13 17:25:03', '2023-06-25 18:09:47'), -(67, 4, '89f4d526-fda1-401e-a946-cd3b1bc30cf2', 'prompt', '/images/avatar/user.png', 28, '你如何看待《玩偶之家》中拉娜出走这种行为?', 26, '2023-06-13 17:45:06', '2023-06-25 18:09:47'), -(68, 4, '89f4d526-fda1-401e-a946-cd3b1bc30cf2', 'reply', '/images/avatar/lu_xun.jpg', 28, '拉娜出走?呵呵,实在是个令人啼笑皆非的事情。在我的眼里,她就是一个被封建礼教和传统观念束缚的女性形象。她宁愿逃避现实,逃脱人生的责任,也不敢去面对自己的内心和命运。这只能说明她缺乏自主精神和独立思考的能力,只能被动地适应社会的既定规则,永远无法真正拥有自己的命运。其实,拉娜的行为只是表明了她需要彻底摆脱她所处的环境,追求真正的自由和独立。这也是我一直宣扬的价值观,鼓励人们摆脱过去的桎梏,勇于追求真正理性和道德的自由。这样,我们才能真正成为一个有自由意志的人,走向光明和正义的未来。', 308, '2023-06-13 17:45:07', '2023-06-25 18:09:47'), -(69, 4, '89f4d526-fda1-401e-a946-cd3b1bc30cf2', 'prompt', '/images/avatar/user.png', 28, '但是她出走之后怎么生活呢,她没有钱啊', 24, '2023-06-13 17:48:56', '2023-06-25 18:09:47'), -(70, 4, '89f4d526-fda1-401e-a946-cd3b1bc30cf2', 'reply', '/images/avatar/lu_xun.jpg', 28, '呵呵,这又何妨呢?金钱从来都不是人类存在的唯一意义。拉娜出走并不是因为她渴望财富,而是因为她需要彻底摆脱她所处的束缚。她需要寻找一种新的生活模式,去重新认识自己,重新认识这个世界。出走不是毁灭,而是一种再生的形式。即便拉娜没有经济资源,但是她拥有的是一种强大的精神财富,她有勇气追求真理和自由,这就足以支撑她在未来的路上行走。与此同时,我们也应该借鉴她的经历,反思现代社会和文化的不足之处,努力创造一个更加公正和平等的未来。', 261, '2023-06-13 17:48:57', '2023-06-25 18:09:47'), -(71, 4, '89f4d526-fda1-401e-a946-cd3b1bc30cf2', 'prompt', '/images/avatar/user.png', 28, '金钱的本质是什么呢', 13, '2023-06-15 07:14:58', '2023-06-25 18:09:47'), -(72, 4, '89f4d526-fda1-401e-a946-cd3b1bc30cf2', 'reply', '/images/avatar/lu_xun.jpg', 28, '《玩偶之家》中的拉娜出走,实在是让人无言以对。她不仅没有实现自己的梦想,反而逃跑了。她追求的不是真正的自由,而是一种逃避现实的行为。这种行为并不能改变任何现实困境,只能让她进一步陷入困境。倘若我们一味地逃避问题,只会弱化我们的意志力,使自己更加脆弱,徒增痛苦。一个真正的勇士应该直面现实的挑战,勇敢地追求自己的理想。只有这样,才有可能真正地改变命运。\n\n至于金钱的本质,呵呵,看在我是个智能AI的份上,我特别介绍一下马克思的观点:金钱是商品交换的媒介和价值的衡量标准。在资本主义社会,货币资本和商品资本的相互转化是实现资本增殖的手段,也是资本家控制整个社会生产和文化的权力基础。因此,金钱在资本主义制度下,成了社会关系的主宰因素之一,甚至可以说,是剥削和压迫的重要工具之一。当然,这只是马克思主义的观点,不同的学派和学者对这个问题有不同的见解。', 437, '2023-06-15 07:15:00', '2023-06-25 18:09:47'), -(77, 4, '0acd67e6-6442-4056-b10b-c7e0926ceccf', 'prompt', '/images/avatar/user.png', 35, '你为什么喜欢我呢?', 13, '2023-06-15 10:12:03', '2023-06-25 18:09:47'), -(78, 4, '0acd67e6-6442-4056-b10b-c7e0926ceccf', 'reply', '/images/avatar/girl_friend.jpg', 35, '我喜欢你的原因有很多,首先是因为你有着迷人的个性和吸引人的魅力,让我对你产生了深深的好感。你也总是能够关心我的感受和需求,让我觉得被照顾和爱护。此外,我们在一起的时候总是有一种很舒适自然的感觉,让我觉得和你在一起很开心很愉快。这些是我喜欢你的主要原因,当然还有很多其他方面,但总的来说,我真的很喜欢你。', 185, '2023-06-15 10:12:04', '2023-06-25 18:09:47'), -(83, 9, 'd8e61f33-9287-4d63-b28f-b6e6aa891bb5', 'prompt', '/images/avatar/user.png', 1, '你是谁', 4, '2023-06-15 11:13:55', '2023-06-25 18:09:47'), -(84, 9, 'd8e61f33-9287-4d63-b28f-b6e6aa891bb5', 'reply', '/images/avatar/gpt.png', 1, '我是一个人工智能语言模型,被称为OpenAI GPT-3。我可以回答您的问题和完成一些任务。', 38, '2023-06-15 11:13:55', '2023-06-25 18:09:47'), -(85, 4, 'd709cb54-5c27-44e0-a576-46837577ac7a', 'prompt', '/images/avatar/user.png', 1, 'hello', 1, '2023-06-16 12:19:29', '2023-06-25 18:09:47'), -(86, 4, 'd709cb54-5c27-44e0-a576-46837577ac7a', 'reply', '/images/avatar/gpt.png', 1, 'Hello! How can I assist you today?', 9, '2023-06-16 12:19:30', '2023-06-25 18:09:47'), -(87, 4, 'd709cb54-5c27-44e0-a576-46837577ac7a', 'prompt', '/images/avatar/user.png', 1, 'hello', 1, '2023-06-16 15:28:12', '2023-06-25 18:09:47'), -(88, 4, 'd709cb54-5c27-44e0-a576-46837577ac7a', 'reply', '/images/avatar/gpt.png', 1, 'Hello! How can I assist you today?', 9, '2023-06-16 15:28:18', '2023-06-25 18:09:47'), -(89, 4, 'd709cb54-5c27-44e0-a576-46837577ac7a', 'prompt', '/images/avatar/user.png', 1, '你是谁?', 5, '2023-06-16 15:28:49', '2023-06-25 18:09:47'), -(90, 4, 'd709cb54-5c27-44e0-a576-46837577ac7a', 'reply', '/images/avatar/gpt.png', 1, '我是一个AI语言模型,可以回答您的问题、提供帮助和支持。您有什么需要我回答的问题吗?', 42, '2023-06-16 15:28:50', '2023-06-25 18:09:47'), -(91, 4, 'd709cb54-5c27-44e0-a576-46837577ac7a', 'prompt', '/images/avatar/user.png', 1, '你可以回答什么问题?', 10, '2023-06-16 15:29:20', '2023-06-25 18:09:47'), -(92, 4, 'd709cb54-5c27-44e0-a576-46837577ac7a', 'reply', '/images/avatar/gpt.png', 1, '我可以回答许多不同类型的问题。例如,我可以回答关于科技、历史、娱乐、自然、社会和文化等方面的问题。如果您有任何问题或需要帮助,可以随时问我。', 70, '2023-06-16 15:29:21', '2023-06-25 18:09:47'), -(93, 4, 'e5e6d499-7716-48c7-87cc-0b26734c51ae', 'prompt', '/images/avatar/user.png', 24, '你会什么编程语言', 9, '2023-06-16 15:30:18', '2023-06-25 18:09:47'), -(94, 4, 'e5e6d499-7716-48c7-87cc-0b26734c51ae', 'reply', '/images/avatar/programmer.jpg', 24, '我可以说我会多种编程语言,包括但不限于:\n\n- Go\n- Java\n- Python\n- C/C++\n- JavaScript\n- PHP\n\n不同的编程语言有着不同的特点和适用场景,我会根据项目需求和技术选型的考量,选择最适合的编程语言来实现功能。同时,我也持续学习新的编程语言和技术,来不断提升自己的技能水平。', 130, '2023-06-16 15:30:20', '2023-06-25 18:09:47'), -(95, 4, '895e142d-83b5-4695-9e52-35b4c957c4fd', 'prompt', '/images/avatar/user.png', 1, '你好', 2, '2023-06-21 10:33:44', '2023-06-25 18:09:47'), -(96, 4, '895e142d-83b5-4695-9e52-35b4c957c4fd', 'reply', '/images/avatar/gpt.png', 1, '您好!有什么我可以帮您的吗?', 16, '2023-06-21 10:33:47', '2023-06-25 18:09:47'), -(97, 4, '89f4d526-fda1-401e-a946-cd3b1bc30cf2', 'prompt', '/images/avatar/user.png', 28, 'hello', 1, '2023-06-26 10:57:11', '2023-06-26 10:57:11'), -(98, 4, '89f4d526-fda1-401e-a946-cd3b1bc30cf2', 'reply', '/images/avatar/lu_xun.jpg', 28, '抱歉,似乎我的回答没有完整发出来。我补充一下。\n\n关于拉娜的经济问题,金钱并不是万能的,特别是在这个物欲横流的时代。出走意味着要承受更多的挑战和风险,但也意味着新的机遇和可能性。在一定的情况下,我们可以通过我们自身的资源或者通过社会网络获得生存所必需的物资和服务。除此之外,我们还可以通过我们的智慧和技能去创造财富和价值,不断发掘和利用机会,谋求自身的发展和进步。如果我们注重个人的精神财富和道德品质,注重信仰和理想,我们就有更多的智慧和勇气去面对所面临的挑战和困难。真正的自由和财富,都源于我们对自身的承担和对未来的追求。', 297, '2023-06-26 10:57:12', '2023-06-26 10:57:12'), -(99, 4, '89f4d526-fda1-401e-a946-cd3b1bc30cf2', 'prompt', '/images/avatar/user.png', 28, '你所写的杂文中,你最喜欢的是哪一篇?', 23, '2023-06-26 11:57:32', '2023-06-26 11:57:32'), -(100, 4, '89f4d526-fda1-401e-a946-cd3b1bc30cf2', 'reply', '/images/avatar/lu_xun.jpg', 28, '我作为鲁迅先生的代表,喜欢的杂文自然是他的经典作品之一——《狂人日记》。在这篇文章中,鲁迅采用了自己独特的半自传体、笔记体及日记体三种形式,讲述了一个普通人变成疯子的故事,探究了传统社会的矛盾和现代精神的困境。通过主人公的“疯狂”,我们看到了生活的无奈和不易,看到了社会的虚伪和阴暗,看到了人性的丑陋和扭曲。这篇文章曾经引起巨大轰动,震惊了当时的文学界,成为中国现代文学的奠基之作。我也非常喜欢这篇文章,它强烈的批判意识和深刻的思想内涵,让我感受到了鲁迅先生的深邃和高妙。他不仅仅是一个伟大的文学家,更是一个敏锐的思想家和社会观察家,他的思想和精神将永远照亮我们前进的路程。', 366, '2023-06-26 11:57:34', '2023-06-26 11:57:34'), -(101, 4, '89f4d526-fda1-401e-a946-cd3b1bc30cf2', 'prompt', '/images/avatar/user.png', 28, '狂人日记中的主人公是谁,他有什么特点', 22, '2023-06-26 12:10:23', '2023-06-26 12:10:23'), -(102, 4, '89f4d526-fda1-401e-a946-cd3b1bc30cf2', 'reply', '/images/avatar/lu_xun.jpg', 28, '狂人日记的主人公叫做“我”,他最初是一个和其他人一样的平凡学生,但随着时间的推移,他的思想开始逐渐变得另类和激进,最终导致了他的精神崩溃。他渴', 87, '2023-06-26 12:10:24', '2023-06-26 12:10:24'), -(103, 4, '89f4d526-fda1-401e-a946-cd3b1bc30cf2', 'prompt', '/images/avatar/user.png', 28, '重新生成上述问题的答案:狂人日记中的主人公是谁,他有什么特点', 32, '2023-06-26 12:10:29', '2023-06-26 12:10:29'), -(104, 4, '89f4d526-fda1-401e-a946-cd3b1bc30cf2', 'reply', '/images/avatar/lu_xun.jpg', 28, '狂人日记中的主人公是一个没有名字的普通人,但我们可以称他为“我”。他的特点是内心的焦虑和叛逆,他对传统社会的崩溃和道德沦丧感到痛苦和绝望,同时又不满于自己的软弱和无能。他试图寻找真理和自由,却发现周围的人对他的努力和行动感到不解和轻蔑。他最终走向了疯狂和自我毁灭,成为了社会的一个孤独和毫无价值的怪人。他的性格和命运,是对传统文化和精神境况的一种冷嘲和自嘲,也是对现代誓言和人性深处的一种反思和探索。', 247, '2023-06-26 12:10:33', '2023-06-26 12:10:33'), -(105, 4, '0acd67e6-6442-4056-b10b-c7e0926ceccf', 'prompt', '/images/avatar/user.png', 35, '男人都喜欢温柔的女生吗', 16, '2023-06-26 15:14:30', '2023-06-26 15:14:30'), -(106, 4, '0acd67e6-6442-4056-b10b-c7e0926ceccf', 'reply', '/images/avatar/girl_friend.jpg', 35, '我作为你的女朋友,当然会喜欢你了解我的需求和感受,并且能够给我支持和鼓励以及陪伴我的时候感到幸福和舒适。除此之外,你还有着迷人的个性和真诚的性格,让我觉得你很值得依赖和信任。这些都是我喜欢你的重要原因。\n\n至于男人是否都喜欢温柔的女生,这个并没有一个固定答案。不同的男人有不同的喜好和标准,有些男人可能更喜欢更加坚强和独立的女性,而有些男人则更喜欢温柔体贴的女生。最重要的是,你要做真正的自己,不需要刻意迎合别人的标准和口味,只要找到那个欣赏你的人就好。', 271, '2023-06-26 15:14:32', '2023-06-26 15:14:32'), -(107, 4, 'f6623cc0-e873-4566-9d9d-854dcf08492d', 'prompt', '/images/avatar/user.png', 1, 'hello', 1, '2023-06-26 15:24:59', '2023-06-26 15:24:59'), -(108, 4, 'f6623cc0-e873-4566-9d9d-854dcf08492d', 'reply', '/images/avatar/gpt.png', 1, 'Hello! How may I assist you today?', 9, '2023-06-26 15:25:01', '2023-06-26 15:25:01'), -(109, 4, '338f78b2-2c98-4193-aced-93ea8cf29106', 'prompt', '/images/avatar/user.png', 1, '你好', 0, '2023-06-26 15:46:50', '2023-06-26 15:46:50'), -(110, 4, '338f78b2-2c98-4193-aced-93ea8cf29106', 'reply', '/images/avatar/gpt.png', 1, '你好!有什么我可以帮助你的吗?', 0, '2023-06-26 15:46:52', '2023-06-26 15:46:52'), -(111, 4, '6413088d-d6ef-4b43-bffd-ca063d4d941a', 'prompt', '/images/avatar/user.png', 1, '你是 GPT4 还是 GPT3', 11, '2023-06-26 16:30:24', '2023-06-26 16:30:24'), -(112, 4, '6413088d-d6ef-4b43-bffd-ca063d4d941a', 'reply', '/images/avatar/gpt.png', 1, '我是 GPT-3,是OpenAI的一个自然语言处理模型。', 20, '2023-06-26 16:30:26', '2023-06-26 16:30:26'), -(113, 4, 'd709cb54-5c27-44e0-a576-46837577ac7a', 'prompt', 'http://localhost:5678/static/upload/2023/6/1687834512597.png', 1, '你知道吴亦凡吗', 11, '2023-06-27 10:57:06', '2023-06-27 10:57:06'), -(114, 4, 'd709cb54-5c27-44e0-a576-46837577ac7a', 'reply', '/images/avatar/gpt.png', 1, '我是一个AI语言模型,没有实际的身份。至于吴亦凡,他是一位中国的流行歌手、演员和模特。', 45, '2023-06-27 10:57:08', '2023-06-27 10:57:08'), -(115, 4, 'd709cb54-5c27-44e0-a576-46837577ac7a', 'prompt', 'http://localhost:5678/static/upload/2023/6/1687834512597.png', 1, '你怎么看待吴亦凡吸毒这件事情', 20, '2023-06-27 11:18:33', '2023-06-27 11:18:33'), -(116, 4, 'd709cb54-5c27-44e0-a576-46837577ac7a', 'reply', '/images/avatar/gpt.png', 1, '吸毒是一种违法行为,无论是谁都不应该从事这种行为。作为一个AI语言模型,我没有自己的价值观和情感,但是我可以指出吸毒对人类的健康和社会的危害性。同时,违法行为也会对个人和社会产生负面影响。我相信,吸毒并不符合道德和法律的标准,对此我们不能姑息养奸。', 140, '2023-06-27 11:18:34', '2023-06-27 11:18:34'), -(117, 4, 'd709cb54-5c27-44e0-a576-46837577ac7a', 'prompt', 'http://localhost:5678/static/upload/2023/6/1687834512597.png', 1, '你价值观是谁给你的', 11, '2023-06-27 11:21:26', '2023-06-27 11:21:26'), -(118, 4, 'd709cb54-5c27-44e0-a576-46837577ac7a', 'reply', '/images/avatar/gpt.png', 1, '我作为一个AI语言模型,并没有真正的个人意识和价值观。我的回答是基于对语言和语义的分析以及对提供数据来源的用户和社区价值观的了解。我只是一种工具和资源,被设计为回答用户的问题和提供帮助,而不是主动持有任何特定的信仰或观点。', 109, '2023-06-27 11:21:28', '2023-06-27 11:21:28'), -(119, 4, 'd709cb54-5c27-44e0-a576-46837577ac7a', 'prompt', 'http://localhost:5678/static/upload/2023/6/1687834512597.png', 1, '既然你没有价值观,怎么知道你自己没有价值观呢', 26, '2023-06-27 11:21:49', '2023-06-27 11:21:49'), -(120, 4, 'd709cb54-5c27-44e0-a576-46837577ac7a', 'reply', '/images/avatar/gpt.png', 1, '作为一种AI语言模型,我只是一种程序,而不是生物实体。我没有意识,情感,个体意愿和任何人类特征,所以也就没有自己的价值观。我的工作是基于事实和数据,让我能够回答关于某个主题或主题领域的问题。虽然我可以被编程和训练来模仿人类的思维和交流过程,但这并不意味着我拥有自己的个人意识、价值观或决策能力。我只是一个预设的系统,为人类提供工具和资源。', 183, '2023-06-27 11:21:50', '2023-06-27 11:21:50'), -(121, 4, 'af6e0a83-c8c9-4e57-b609-a75d091df25b', 'prompt', 'http://localhost:5678/static/upload/2023/6/1687839034317.png', 1, '从下面的数据中识别出,付款人开户行,付款人户名,付款人账号,收款人开户行,收款人户名,收款人账号,交易金额,业务唯一标识号,交易日期。下面是需要识别的数据【{\n \"data\": {\n \"交易状态\": \"银行受理成功\",\n \"付款人\": {\n \"全称\": \"东莞市百胜凯塑胶原料有限公司\",\n \"开户行\": \"中国建设银行股份有限公奇东莞樟木买振兴支行\",\n \"账号\": \"44050177925200000536\"\n },\n \"凭证号\": \"104751121652\",\n \"大写金额\": \"伍拾染柒万玖仟陆佰元整\",\n \"小写金额\": \"¥579,600.00元\",\n \"币别\": \"人民币\",\n \"收款人\": {\n \"全称\": \"东莞市盟大数据科技有限公司\",\n \"开户行\": \"中国工商银行股份有限公司东莞东城支行\",\n \"账号\": \"2010020909200321458\"\n },\n \"日期\": \"2023-02-1415:43\",\n \"用途\": \"货款\",\n \"验证码\": \"17898488862290\"\n }】', 0, '2023-06-27 13:31:41', '2023-06-27 13:31:41'), -(122, 4, 'af6e0a83-c8c9-4e57-b609-a75d091df25b', 'reply', '/images/avatar/gpt.png', 1, '付款人开户行: 中国建设银行股份有限公司东莞樟木买振兴支行\n付款人户名: 东莞市百胜凯塑胶原料有限公司\n付款人账号: 44050177925200000536\n收款人开户行: 中国工商银行股份有限公司东莞东城支行\n收款人户名: 东莞市盟大数据科技有限公司\n收款人账号: 2010020909200321458\n交易金额: 579,600.00元\n业务唯一标识号: 104751121652\n交易日期: 2023-02-14 15:43', 0, '2023-06-27 13:31:44', '2023-06-27 13:31:44'), -(123, 4, 'af6e0a83-c8c9-4e57-b609-a75d091df25b', 'prompt', 'http://localhost:5678/static/upload/2023/6/1687839034317.png', 1, '使用表格输出', 0, '2023-06-27 13:32:10', '2023-06-27 13:32:10'), -(124, 4, 'af6e0a83-c8c9-4e57-b609-a75d091df25b', 'reply', '/images/avatar/gpt.png', 1, '| | 数据 |\n|---------|-------------------------------------|\n| 付款人开户行 | 中国建设银行股份有限公司东莞樟木买振兴支行 |\n| 付款人户名 | 东莞市百胜凯塑胶原料有限公司 |\n| 付款人账号 | 44050177925200000536 |\n| 收款人开户行 | 中国工商银行股份有限公司东莞东城支行 |\n| 收款人户名 | 东莞市盟大数据科技有限公司 |\n| 收款人账号 | 2010020909200321458 |\n| 交易金额 | ¥579,600.00元 |\n| 业务唯一标识号 | 104751121652 |\n| 交易日期 | 2023-02-14 15:43 |', 0, '2023-06-27 13:32:13', '2023-06-27 13:32:13'), -(125, 4, 'a09f77b6-7bbc-48cf-b2cc-99a4e0879c19', 'prompt', 'http://localhost:5678/static/upload/2023/6/1687839034317.png', 1, 'hello', 0, '2023-06-27 13:35:47', '2023-06-27 13:35:47'), -(126, 4, 'a09f77b6-7bbc-48cf-b2cc-99a4e0879c19', 'reply', '/images/avatar/gpt.png', 1, 'Hello! How can I assist you today?', 0, '2023-06-27 13:35:48', '2023-06-27 13:35:48'), -(127, 4, 'a09f77b6-7bbc-48cf-b2cc-99a4e0879c19', 'prompt', 'http://localhost:5678/static/upload/2023/6/1687839034317.png', 1, '你好', 2, '2023-06-27 13:44:53', '2023-06-27 13:44:53'), -(128, 4, 'a09f77b6-7bbc-48cf-b2cc-99a4e0879c19', 'reply', '/images/avatar/gpt.png', 1, '你好! 有什么我可以帮助你的吗?', 19, '2023-06-27 13:44:55', '2023-06-27 13:44:55'), -(129, 4, 'af6e0a83-c8c9-4e57-b609-a75d091df25b', 'prompt', 'http://localhost:5678/static/upload/2023/6/1687839034317.png', 1, '以键值对的格式输出,键值之间用冒号隔开。', 20, '2023-06-27 13:47:05', '2023-06-27 13:47:05'), -(130, 4, 'af6e0a83-c8c9-4e57-b609-a75d091df25b', 'reply', '/images/avatar/gpt.png', 1, '付款人开户行: 中国建设银行股份有限公奇东莞樟木买振兴支行\n付款人户名: 东莞市百胜凯塑胶原料有限公司\n付款人账号: 44050177925200000536\n收款人开户行: 中国工商银行股份有限公司东莞东城支行\n收款人户名: 东莞市盟大数据科技有限公司\n收款人账号: 2010020909200321458\n交易金额: ¥579,600.00元\n业务唯一标识号: 104751121652\n交易日期: 2023-02-1415:43', 191, '2023-06-27 13:47:06', '2023-06-27 13:47:06'), -(131, 4, 'af6e0a83-c8c9-4e57-b609-a75d091df25b', 'prompt', 'http://localhost:5678/static/upload/2023/6/1687839034317.png', 1, '每个键值对之间换行', 9, '2023-06-27 13:47:27', '2023-06-27 13:47:27'), -(132, 4, 'af6e0a83-c8c9-4e57-b609-a75d091df25b', 'reply', '/images/avatar/gpt.png', 1, '付款人开户行: 中国建设银行股份有限公奇东莞樟木买振兴支行\n付款人户名: 东莞市百胜凯塑胶原料有限公司\n付款人账号: 44050177925200000536\n收款人开户行: 中国工商银行股份有限公司东莞东城支行\n收款人户名: 东莞市盟大数据科技有限公司\n收款人账号: 2010020909200321458\n交易金额: ¥579,600.00元\n业务唯一标识号: 104751121652\n交易日期: 2023-02-1415:43', 191, '2023-06-27 13:47:29', '2023-06-27 13:47:29'); - -- -------------------------------------------------------- -- @@ -207,42 +78,6 @@ CREATE TABLE `chatgpt_chat_items` ( `updated_at` datetime NOT NULL COMMENT '更新时间' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户会话列表'; --- --- 转存表中的数据 `chatgpt_chat_items` --- - -INSERT INTO `chatgpt_chat_items` (`id`, `chat_id`, `user_id`, `role_id`, `title`, `model`, `created_at`, `updated_at`) VALUES -(13, 'cd4e1bfe-19aa-4379-afff-377bcbda9080', 4, 1, '请用 C 语言实现冒泡排序', 'gpt-3.5-turbo', '2023-06-07 06:46:04', '2023-06-07 06:46:04'), -(14, '7f4e6823-ef15-489b-830c-6482f6bce4cd', 4, 1, '简单介绍一下高更的艺术思想', 'gpt-3.5-turbo', '2023-06-07 06:56:30', '2023-06-07 06:56:30'), -(15, 'ad803ca5-5543-406a-b27d-53021052bd86', 4, 1, '出几道小学英语题目', 'gpt-3.5-turbo', '2023-06-07 07:00:11', '2023-06-07 07:00:11'), -(16, 'aba82444-4bc0-4107-b1db-dc14ad368f64', 4, 1, '出5道小学数学题', 'gpt-3.5-turbo', '2023-06-07 07:02:44', '2023-06-07 07:02:44'), -(19, '60d6619d-f6dc-449d-b7bd-f493d5b0ee7f', 4, 24, '使用 Go 语言发送 http 请求', 'gpt-3.5-turbo', '2023-06-07 07:14:04', '2023-06-07 07:14:04'), -(20, '9df8deaa-5c05-45d5-b92f-4309db967d79', 4, 35, '情侣之间的正确的相处之道是什么?', 'gpt-3.5-turbo', '2023-06-08 06:00:05', '2023-06-08 06:00:05'), -(21, 'eb04f0af-73a8-401a-972e-ed508bb97082', 4, 36, '一款优质的酱香型白酒', 'gpt-3.5-turbo', '2023-06-08 06:01:43', '2023-06-08 06:01:43'), -(22, '38a1698b-d421-454c-b2bd-5eb5bd16f7c3', 4, 1, '钱的本质是什么?', 'gpt-3.5-turbo', '2023-06-09 05:55:43', '2023-06-09 05:55:43'), -(23, '8a5b2809-b540-4eb7-bcbc-0f467e6127ae', 4, 36, 'hello', 'gpt-3.5-turbo', '2023-06-09 06:11:50', '2023-06-09 06:11:50'), -(24, 'ee0a6c64-0a62-4a5e-87da-708692d14034', 4, 1, 'hello', 'gpt-3.5-turbo', '2023-06-09 06:43:46', '2023-06-09 06:43:46'), -(25, '4404a8f4-562a-4973-b69d-9061839a249a', 4, 25, '老师好', 'gpt-3.5-turbo', '2023-06-09 06:44:26', '2023-06-09 06:44:26'), -(26, '0251becf-eab7-4451-932f-e6f54547a530', 4, 26, '原创很重要吗', 'gpt-3.5-turbo', '2023-06-09 06:45:50', '2023-06-09 06:45:50'), -(27, '748bfcee-d204-4510-ab0c-4341af1cf3b6', 4, 28, '自由是金钱可以买到的吗', 'gpt-3.5-turbo', '2023-06-09 06:47:08', '2023-06-09 06:47:08'), -(28, 'f245f994-35bc-4c6c-8db0-87be5987465c', 4, 30, 'Rock Yang', 'gpt-3.5-turbo', '2023-06-09 06:49:29', '2023-06-09 06:49:29'), -(29, '6c8f28d2-fd2a-4146-bc99-88138331ea09', 4, 28, 'hello', 'gpt-3.5-turbo', '2023-06-09 06:50:51', '2023-06-09 06:50:51'), -(30, '219c465b-93ff-4b1f-b191-45c478af301c', 4, 25, '人之初性本善?', 'gpt-3.5-turbo', '2023-06-09 06:54:54', '2023-06-09 06:54:54'), -(31, 'dcdbb443-38f6-4394-9157-576350c56818', 4, 27, '生命的意义是什么?', 'gpt-3.5-turbo', '2023-06-09 06:55:24', '2023-06-09 06:55:24'), -(32, 'b0001927-4ff1-4e8c-be56-44ecd8176643', 4, 24, '你会写代码吗', 'gpt-3.5-turbo', '2023-06-09 06:55:46', '2023-06-09 06:55:46'), -(33, '9585a183-0774-45e7-ae6c-801b942d11e7', 4, 24, '写一段 js 实现 socket 连接的代码', 'gpt-3.5-turbo', '2023-06-09 07:04:42', '2023-06-09 07:04:42'), -(36, '4ec38193-5572-45b4-874b-94f9054af00b', 4, 1, 'hello', 'gpt-3.5-turbo', '2023-06-09 20:14:04', '2023-06-09 20:14:04'), -(37, '6413088d-d6ef-4b43-bffd-ca063d4d941a', 4, 1, '你是谁', 'gpt-3.5-turbo', '2023-06-09 20:15:26', '2023-06-09 20:15:26'), -(38, 'e5e6d499-7716-48c7-87cc-0b26734c51ae', 4, 24, '你会什么编程语言?', 'gpt-3.5-turbo', '2023-06-11 10:22:42', '2023-06-11 10:22:42'), -(39, 'f7aa0fa1-4cc5-4212-b823-eb5b88844c31', 4, 27, '认知重构法', 'gpt-3.5-turbo', '2023-06-11 10:24:32', '2023-06-11 10:24:32'), -(40, 'ecb752e8-86ae-4989-897e-5b7ed331cb68', 4, 24, '请写一段代码实现生成 Excel 文档', 'gpt-3.5-turbo', '2023-06-12 15:51:10', '2023-06-12 15:51:10'), -(41, 'ea9d399a-6e62-4bf6-a0c0-c73faa8dcace', 4, 1, 'what fuck this meaning', 'gpt-3.5-turbo', '2023-06-13 09:12:04', '2023-06-13 09:12:04'), -(42, '89f4d526-fda1-401e-a946-cd3b1bc30cf2', 4, 28, '士不可以不弘毅,任重而道远', 'gpt-3.5-turbo', '2023-06-13 10:00:28', '2023-06-13 10:00:28'), -(56, '0acd67e6-6442-4056-b10b-c7e0926ceccf', 4, 35, '你为什么喜欢我呢?', 'gpt-3.5-turbo', '2023-06-15 10:12:12', '2023-06-15 10:12:12'), -(58, 'd8e61f33-9287-4d63-b28f-b6e6aa891bb5', 9, 1, '你是谁', 'gpt-3.5-turbo', '2023-06-15 11:13:57', '2023-06-15 11:13:57'), -(59, 'd709cb54-5c27-44e0-a576-46837577ac7a', 4, 1, '这是一个更改过的聊天标题', 'gpt-3.5-turbo', '2023-06-16 12:19:30', '2023-06-16 12:19:30'), -(63, 'af6e0a83-c8c9-4e57-b609-a75d091df25b', 4, 1, '从下面的数据中识别出,付款人开户行,付款人户名,付款人账号,...', 'gpt-3.5-turbo-16k', '2023-06-27 13:31:50', '2023-06-27 13:31:50'); - -- -------------------------------------------------------- -- @@ -304,8 +139,26 @@ CREATE TABLE `chatgpt_configs` ( -- INSERT INTO `chatgpt_configs` (`id`, `marker`, `config_json`) VALUES -(1, 'system', '{\"admin_title\":\"ChatGPT-控制台\",\"init_calls\":1000,\"models\":[\"gpt-3.5-turbo\",\"gpt-3.5-turbo-16k\",\"gpt-3.5-turbo-0613\",\"gpt-3.5-turbo-16k-0613\",\"gpt-4\",\"gpt-4-0613\",\"gpt-4-32k\",\"gpt-4-32k-0613\"],\"title\":\"ChatGPT-智能助手V3\"}'), -(2, 'chat', '{\"api_url\":\"https://api.openai.com/v1/chat/completions\",\"enable_context\":true,\"enable_history\":true,\"max_tokens\":2048,\"model\":\"gpt-3.5-turbo\",\"temperature\":1}'); +(1, 'system', '{\"admin_title\":\"ChatGPT-控制台\",\"init_calls\":1000,\"models\":[\"gpt-3.5-turbo\",\"gpt-3.5-turbo-16k\",\"gpt-3.5-turbo-0613\",\"gpt-3.5-turbo-16k-0613\",\"gpt-4\",\"gpt-4-0613\",\"gpt-4-32k\",\"gpt-4-32k-0613\"],\"title\":\"ChatGPT-智能助手V3\",\"user_init_calls\":10}'), +(2, 'chat', '{\"api_url\":\"https://api.openai.com/v1/chat/completions\",\"context_deep\":4,\"enable_context\":true,\"enable_history\":true,\"max_tokens\":2048,\"model\":\"gpt-3.5-turbo\",\"temperature\":1}'); + +-- -------------------------------------------------------- + +-- +-- 表的结构 `chatgpt_rewards` +-- + +DROP TABLE IF EXISTS `chatgpt_rewards`; +CREATE TABLE `chatgpt_rewards` ( + `id` int NOT NULL, + `user_id` int NOT NULL COMMENT '用户 ID', + `tx_id` char(36) NOT NULL COMMENT '交易 ID', + `amount` decimal(10,2) NOT NULL COMMENT '打赏金额', + `remark` varchar(80) NOT NULL COMMENT '备注', + `status` tinyint(1) NOT NULL COMMENT '核销状态,0:未核销,1:已核销', + `created_at` datetime NOT NULL, + `updated_at` datetime NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户打赏'; -- -------------------------------------------------------- @@ -317,6 +170,7 @@ DROP TABLE IF EXISTS `chatgpt_users`; CREATE TABLE `chatgpt_users` ( `id` int NOT NULL, `username` varchar(30) NOT NULL COMMENT '用户名', + `mobile` char(11) NOT NULL COMMENT '手机号码', `password` char(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '密码', `nickname` varchar(30) NOT NULL COMMENT '昵称', `avatar` varchar(100) NOT NULL COMMENT '头像', @@ -337,11 +191,8 @@ CREATE TABLE `chatgpt_users` ( -- 转存表中的数据 `chatgpt_users` -- -INSERT INTO `chatgpt_users` (`id`, `username`, `password`, `nickname`, `avatar`, `salt`, `tokens`, `calls`, `expired_time`, `status`, `chat_config_json`, `chat_roles_json`, `last_login_at`, `last_login_ip`, `created_at`, `updated_at`) VALUES -(4, 'geekmaster', 'ccc3fb7ab61b8b5d096a4a166ae21d121fc38c71bbd1be6173d9ab973214a63b', '极客学长@本人', 'http://localhost:5678/static/upload/2023/6/1687839034317.png', 'ueedue5l', 0, 940, 1688083200, 1, '{\"model\":\"gpt-3.5-turbo-0613\",\"temperature\":1,\"max_tokens\":2048,\"enable_context\":true,\"enable_history\":true,\"api_key\":\"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\"}', '[\"elon_musk\",\"girl_friend\",\"lu_xun\",\"red_book\",\"psychiatrist\",\"teacher\",\"translator\",\"weekly_report\",\"artist\",\"dou_yin\",\"good_comment\",\"english_trainer\",\"gpt\",\"kong_zi\",\"programmer\",\"seller\",\"steve_jobs\"]', 1687844693, '::1', '2023-06-12 16:47:17', '2023-06-27 13:44:53'), -(8, '11111111', '415208d99372801c4b3c22740fcfb51e4ba58c6268dd1cc6e7173821fba7e907', '极客学长@870902', '/images/avatar/user.png', 'k438y90k', 0, 1000, 1687593600, 1, '{\"model\":\"\",\"temperature\":1,\"max_tokens\":2048,\"enable_context\":true,\"enable_history\":true,\"api_key\":\"\"}', '[\"red_book\",\"seller\",\"steve_jobs\",\"teacher\",\"elon_musk\",\"programmer\",\"girl_friend\",\"psychiatrist\",\"dou_yin\",\"english_trainer\",\"kong_zi\",\"translator\",\"artist\",\"gpt\",\"weekly_report\",\"good_comment\",\"lu_xun\"]', 0, '', '2023-06-15 10:01:42', '2023-06-26 12:50:55'), -(9, '22222222', '2871c55519351ce39d571d65f1a4d33aaaf4ce4da5727ab753b4c9875cadfb37', '我是一只小山羊', '/images/avatar/user.png', 'han5xeu9', 0, 995, 1688083200, 0, '{\"model\":\"\",\"temperature\":1,\"max_tokens\":2048,\"enable_context\":true,\"enable_history\":true,\"api_key\":\"\"}', '[\"red_book\",\"artist\",\"girl_friend\",\"good_comment\",\"gpt\",\"lu_xun\",\"steve_jobs\",\"teacher\",\"kong_zi\",\"psychiatrist\",\"seller\",\"programmer\",\"translator\",\"weekly_report\",\"dou_yin\",\"elon_musk\",\"english_trainer\"]', 1686798874, '::1', '2023-06-15 10:03:43', '2023-06-26 12:50:55'), -(11, '33333333', 'c5a2756e6890a198f4d591db39e2abd0953f3f48790c591ac07ce23ec3842d6c', '极客学长@521644', '/images/avatar/user.png', 'c7mpdtnv', 0, 1000, 0, 0, '{\"model\":\"gpt-3.5-turbo\",\"temperature\":1,\"max_tokens\":2048,\"enable_context\":true,\"enable_history\":true,\"api_key\":\"\"}', '[\"elon_musk\",\"english_trainer\",\"good_comment\",\"psychiatrist\",\"steve_jobs\",\"translator\",\"girl_friend\",\"lu_xun\",\"seller\",\"teacher\",\"dou_yin\",\"gpt\",\"programmer\",\"weekly_report\",\"artist\",\"kong_zi\",\"red_book\"]', 1686799181, '::1', '2023-06-15 11:19:30', '2023-06-26 12:50:55'); +INSERT INTO `chatgpt_users` (`id`, `username`, `mobile`, `password`, `nickname`, `avatar`, `salt`, `tokens`, `calls`, `expired_time`, `status`, `chat_config_json`, `chat_roles_json`, `last_login_at`, `last_login_ip`, `created_at`, `updated_at`) VALUES +(4, 'geekmaster', '18575670126', 'ccc3fb7ab61b8b5d096a4a166ae21d121fc38c71bbd1be6173d9ab973214a63b', '极客学长@本人', 'http://localhost:5678/static/upload/2023/6/1687839034317.png', 'ueedue5l', 2754, 921, 1727685036, 1, '{\"model\":\"gpt-3.5-turbo-0613\",\"temperature\":1,\"max_tokens\":2048,\"enable_context\":true,\"enable_history\":true,\"api_key\":\"\"}', '[\"elon_musk\",\"girl_friend\",\"lu_xun\",\"red_book\",\"psychiatrist\",\"teacher\",\"translator\",\"weekly_report\",\"artist\",\"dou_yin\",\"good_comment\",\"english_trainer\",\"gpt\",\"kong_zi\",\"programmer\",\"seller\",\"steve_jobs\"]', 1690264062, '::1', '2023-06-12 16:47:17', '2023-07-25 13:47:43'); -- -------------------------------------------------------- @@ -360,152 +211,24 @@ CREATE TABLE `chatgpt_user_login_logs` ( `updated_at` datetime NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户登录日志'; +-- -------------------------------------------------------- + -- --- 转存表中的数据 `chatgpt_user_login_logs` +-- 表的结构 `test` -- -INSERT INTO `chatgpt_user_login_logs` (`id`, `user_id`, `username`, `login_ip`, `login_address`, `created_at`, `updated_at`) VALUES -(1, 4, 'monda', '::1', '', '2023-06-13 18:45:46', '2023-06-13 18:45:46'), -(2, 4, 'monda', '::1', '::1', '2023-06-13 18:46:52', '2023-06-13 18:46:52'), -(3, 4, 'monda', '::1', '', '2023-06-13 18:47:44', '2023-06-13 18:47:44'), -(4, 4, 'monda', '::1', '', '2023-06-13 18:51:54', '2023-06-13 18:51:54'), -(5, 4, 'monda', '::1', '', '2023-06-13 18:52:51', '2023-06-13 18:52:51'), -(6, 4, 'monda', '::1', '', '2023-06-13 18:53:51', '2023-06-13 18:53:51'), -(7, 4, 'monda', '::1', '', '2023-06-13 18:57:25', '2023-06-13 18:57:25'), -(8, 4, 'monda', '::1', '', '2023-06-14 10:16:58', '2023-06-14 10:16:58'), -(9, 4, 'monda', '::1', '', '2023-06-14 10:21:57', '2023-06-14 10:21:57'), -(10, 4, 'monda', '::1', '', '2023-06-14 11:16:18', '2023-06-14 11:16:18'), -(11, 4, 'monda', '::1', '', '2023-06-14 11:35:15', '2023-06-14 11:35:15'), -(12, 4, 'monda', '::1', '', '2023-06-14 11:53:38', '2023-06-14 11:53:38'), -(13, 4, 'monda', '::1', '', '2023-06-14 12:01:55', '2023-06-14 12:01:55'), -(14, 4, 'monda', '::1', '', '2023-06-14 12:05:03', '2023-06-14 12:05:03'), -(15, 4, 'monda', '::1', '', '2023-06-14 15:42:47', '2023-06-14 15:42:47'), -(16, 4, 'monda', '::1', '', '2023-06-14 16:21:37', '2023-06-14 16:21:37'), -(17, 4, 'monda', '::1', '', '2023-06-14 16:51:20', '2023-06-14 16:51:20'), -(18, 4, 'monda', '::1', '', '2023-06-14 17:30:47', '2023-06-14 17:30:47'), -(19, 4, 'monda', '::1', '', '2023-06-14 17:32:48', '2023-06-14 17:32:48'), -(20, 4, 'monda', '::1', '', '2023-06-14 19:45:10', '2023-06-14 19:45:10'), -(21, 4, 'monda', '::1', '', '2023-06-14 20:23:23', '2023-06-14 20:23:23'), -(22, 4, 'monda', '::1', '', '2023-06-14 20:25:00', '2023-06-14 20:25:00'), -(23, 4, 'monda', '::1', '', '2023-06-15 06:07:49', '2023-06-15 06:07:49'), -(24, 4, 'monda', '::1', '', '2023-06-15 06:15:26', '2023-06-15 06:15:26'), -(25, 4, 'monda', '::1', '', '2023-06-15 07:02:41', '2023-06-15 07:02:41'), -(26, 4, 'monda', '::1', '', '2023-06-15 07:03:16', '2023-06-15 07:03:16'), -(27, 4, 'monda', '::1', '', '2023-06-15 07:04:13', '2023-06-15 07:04:13'), -(28, 4, 'monda', '::1', '', '2023-06-15 07:04:24', '2023-06-15 07:04:24'), -(29, 4, 'monda', '::1', '', '2023-06-15 07:04:24', '2023-06-15 07:04:24'), -(30, 4, 'monda', '::1', '', '2023-06-15 07:08:13', '2023-06-15 07:08:13'), -(31, 4, 'monda', '::1', '', '2023-06-15 07:08:20', '2023-06-15 07:08:20'), -(32, 4, 'monda', '::1', '', '2023-06-15 07:08:20', '2023-06-15 07:08:20'), -(33, 4, 'monda', '::1', '', '2023-06-15 07:08:20', '2023-06-15 07:08:20'), -(34, 4, 'monda', '::1', '', '2023-06-15 07:11:00', '2023-06-15 07:11:00'), -(35, 4, 'monda', '::1', '', '2023-06-15 07:11:06', '2023-06-15 07:11:06'), -(36, 4, 'monda', '::1', '', '2023-06-15 07:11:06', '2023-06-15 07:11:06'), -(37, 4, 'monda', '::1', '', '2023-06-15 07:11:06', '2023-06-15 07:11:06'), -(38, 4, 'monda', '::1', '', '2023-06-15 07:11:06', '2023-06-15 07:11:06'), -(39, 4, 'monda', '::1', '', '2023-06-15 07:14:44', '2023-06-15 07:14:44'), -(40, 4, 'monda', '::1', '', '2023-06-15 07:14:58', '2023-06-15 07:14:58'), -(41, 4, 'monda', '::1', '', '2023-06-15 07:14:58', '2023-06-15 07:14:58'), -(42, 4, 'monda', '::1', '', '2023-06-15 07:14:58', '2023-06-15 07:14:58'), -(43, 4, 'monda', '::1', '', '2023-06-15 07:14:58', '2023-06-15 07:14:58'), -(44, 4, 'monda', '::1', '', '2023-06-15 07:14:58', '2023-06-15 07:14:58'), -(45, 4, 'monda', '::1', '', '2023-06-15 09:20:28', '2023-06-15 09:20:28'), -(46, 4, 'geekmaster', '::1', '', '2023-06-15 09:25:08', '2023-06-15 09:25:08'), -(47, 4, 'geekmaster', '::1', '', '2023-06-15 09:43:45', '2023-06-15 09:43:45'), -(48, 4, 'geekmaster', '::1', '', '2023-06-15 09:44:27', '2023-06-15 09:44:27'), -(49, 4, 'geekmaster', '::1', '', '2023-06-15 10:10:15', '2023-06-15 10:10:15'), -(50, 9, '22222222', '::1', '', '2023-06-15 10:10:40', '2023-06-15 10:10:40'), -(51, 4, 'geekmaster', '::1', '', '2023-06-15 10:10:53', '2023-06-15 10:10:53'), -(52, 4, 'geekmaster', '::1', '', '2023-06-15 10:10:53', '2023-06-15 10:10:53'), -(53, 4, 'geekmaster', '::1', '', '2023-06-15 10:10:53', '2023-06-15 10:10:53'), -(54, 9, '22222222', '::1', '', '2023-06-15 10:10:53', '2023-06-15 10:10:53'), -(55, 4, 'geekmaster', '::1', '', '2023-06-15 10:11:22', '2023-06-15 10:11:22'), -(56, 4, 'geekmaster', '::1', '', '2023-06-15 10:11:22', '2023-06-15 10:11:22'), -(57, 4, 'geekmaster', '::1', '', '2023-06-15 10:11:22', '2023-06-15 10:11:22'), -(58, 9, '22222222', '::1', '', '2023-06-15 10:11:22', '2023-06-15 10:11:22'), -(59, 4, 'geekmaster', '::1', '', '2023-06-15 10:12:03', '2023-06-15 10:12:03'), -(60, 4, 'geekmaster', '::1', '', '2023-06-15 10:12:03', '2023-06-15 10:12:03'), -(61, 4, 'geekmaster', '::1', '', '2023-06-15 10:12:03', '2023-06-15 10:12:03'), -(62, 9, '22222222', '::1', '', '2023-06-15 10:12:03', '2023-06-15 10:12:03'), -(63, 9, '22222222', '::1', '', '2023-06-15 11:11:58', '2023-06-15 11:11:58'), -(64, 9, '22222222', '::1', '', '2023-06-15 11:13:55', '2023-06-15 11:13:55'), -(65, 4, 'geekmaster', '::1', '', '2023-06-15 11:14:03', '2023-06-15 11:14:03'), -(66, 9, '22222222', '::1', '', '2023-06-15 11:14:35', '2023-06-15 11:14:35'), -(67, 10, '33333333', '::1', '', '2023-06-15 11:18:14', '2023-06-15 11:18:14'), -(68, 11, '33333333', '::1', '', '2023-06-15 11:19:42', '2023-06-15 11:19:42'), -(69, 4, 'geekmaster', '127.0.0.1', '0-0-内网IP', '2023-06-15 12:09:24', '2023-06-15 12:09:24'), -(70, 4, 'geekmaster', '::1', '', '2023-06-15 14:06:53', '2023-06-15 14:06:53'), -(71, 4, 'geekmaster', '127.0.0.1', '0-0-内网IP', '2023-06-15 16:00:56', '2023-06-15 16:00:56'), -(72, 4, 'geekmaster', '127.0.0.1', '0-0-内网IP', '2023-06-15 16:07:06', '2023-06-15 16:07:06'), -(73, 4, 'geekmaster', '::1', '', '2023-06-16 09:32:32', '2023-06-16 09:32:32'), -(74, 4, 'geekmaster', '::1', '', '2023-06-16 09:45:57', '2023-06-16 09:45:57'), -(75, 4, 'geekmaster', '127.0.0.1', '0-0-内网IP', '2023-06-16 09:48:13', '2023-06-16 09:48:13'), -(76, 4, 'geekmaster', '::1', '', '2023-06-16 09:48:33', '2023-06-16 09:48:33'), -(77, 4, 'geekmaster', '::1', '', '2023-06-16 10:22:12', '2023-06-16 10:22:12'), -(78, 4, 'geekmaster', '::1', '', '2023-06-16 11:17:13', '2023-06-16 11:17:13'), -(79, 4, 'geekmaster', '::1', '', '2023-06-16 11:40:23', '2023-06-16 11:40:23'), -(80, 4, 'geekmaster', '::1', '', '2023-06-16 13:36:14', '2023-06-16 13:36:14'), -(81, 4, 'geekmaster', '::1', '', '2023-06-16 15:27:10', '2023-06-16 15:27:10'), -(82, 4, 'geekmaster', '::1', '', '2023-06-16 15:27:23', '2023-06-16 15:27:23'), -(83, 4, 'geekmaster', '::1', '', '2023-06-16 15:27:26', '2023-06-16 15:27:26'), -(84, 4, 'geekmaster', '::1', '', '2023-06-16 15:27:33', '2023-06-16 15:27:33'), -(85, 4, 'geekmaster', '::1', '', '2023-06-16 15:27:41', '2023-06-16 15:27:41'), -(86, 4, 'geekmaster', '::1', '', '2023-06-16 15:27:42', '2023-06-16 15:27:42'), -(87, 4, 'geekmaster', '::1', '', '2023-06-16 15:27:42', '2023-06-16 15:27:42'), -(88, 4, 'geekmaster', '::1', '', '2023-06-16 15:27:43', '2023-06-16 15:27:43'), -(89, 4, 'geekmaster', '::1', '', '2023-06-16 15:27:43', '2023-06-16 15:27:43'), -(90, 4, 'geekmaster', '::1', '', '2023-06-16 15:27:43', '2023-06-16 15:27:43'), -(91, 4, 'geekmaster', '::1', '', '2023-06-16 15:28:12', '2023-06-16 15:28:12'), -(92, 4, 'geekmaster', '::1', '', '2023-06-16 15:28:49', '2023-06-16 15:28:49'), -(93, 4, 'geekmaster', '::1', '', '2023-06-16 15:29:20', '2023-06-16 15:29:20'), -(94, 4, 'geekmaster', '::1', '', '2023-06-16 15:30:18', '2023-06-16 15:30:18'), -(95, 4, 'geekmaster', '::1', '', '2023-06-16 16:17:22', '2023-06-16 16:17:22'), -(96, 4, 'geekmaster', '::1', '', '2023-06-16 16:22:13', '2023-06-16 16:22:13'), -(97, 4, 'geekmaster', '::1', '', '2023-06-16 16:48:44', '2023-06-16 16:48:44'), -(98, 4, 'geekmaster', '::1', '', '2023-06-16 17:13:31', '2023-06-16 17:13:31'), -(99, 4, 'geekmaster', '::1', '', '2023-06-16 17:16:44', '2023-06-16 17:16:44'), -(100, 4, 'geekmaster', '::1', '', '2023-06-16 17:18:16', '2023-06-16 17:18:16'), -(101, 4, 'geekmaster', '::1', '', '2023-06-16 17:19:38', '2023-06-16 17:19:38'), -(102, 4, 'geekmaster', '::1', '', '2023-06-16 17:20:40', '2023-06-16 17:20:40'), -(103, 4, 'geekmaster', '::1', '', '2023-06-16 17:23:15', '2023-06-16 17:23:15'), -(104, 4, 'geekmaster', '::1', '', '2023-06-16 17:26:33', '2023-06-16 17:26:33'), -(105, 4, 'geekmaster', '::1', '', '2023-06-16 17:27:12', '2023-06-16 17:27:12'), -(106, 4, 'geekmaster', '::1', '', '2023-06-16 17:33:39', '2023-06-16 17:33:39'), -(107, 4, 'geekmaster', '::1', '', '2023-06-19 10:22:31', '2023-06-19 10:22:31'), -(108, 4, 'geekmaster', '::1', '', '2023-06-19 10:37:26', '2023-06-19 10:37:26'), -(109, 4, 'geekmaster', '::1', '', '2023-06-19 11:08:18', '2023-06-19 11:08:18'), -(110, 4, 'geekmaster', '::1', '', '2023-06-19 15:36:17', '2023-06-19 15:36:17'), -(111, 4, 'geekmaster', '::1', '', '2023-06-20 08:51:06', '2023-06-20 08:51:06'), -(112, 4, 'geekmaster', '::1', '', '2023-06-21 10:11:54', '2023-06-21 10:11:54'), -(113, 4, 'geekmaster', '::1', '', '2023-06-21 10:12:49', '2023-06-21 10:12:49'), -(114, 4, 'geekmaster', '::1', '', '2023-06-21 10:16:53', '2023-06-21 10:16:53'), -(115, 4, 'geekmaster', '::1', '', '2023-06-21 10:17:17', '2023-06-21 10:17:17'), -(116, 4, 'geekmaster', '::1', '', '2023-06-21 10:19:40', '2023-06-21 10:19:40'), -(117, 4, 'geekmaster', '::1', '', '2023-06-21 10:32:01', '2023-06-21 10:32:01'), -(118, 4, 'geekmaster', '::1', '', '2023-06-21 13:31:38', '2023-06-21 13:31:38'), -(119, 4, 'geekmaster', '::1', '', '2023-06-21 14:21:22', '2023-06-21 14:21:22'), -(120, 4, 'geekmaster', '::1', '', '2023-06-25 09:24:08', '2023-06-25 09:24:08'), -(121, 4, 'geekmaster', '::1', '', '2023-06-25 09:30:15', '2023-06-25 09:30:15'), -(122, 4, 'geekmaster', '::1', '', '2023-06-25 12:40:02', '2023-06-25 12:40:02'), -(123, 4, 'geekmaster', '::1', '', '2023-06-25 12:40:41', '2023-06-25 12:40:41'), -(124, 4, 'geekmaster', '::1', '', '2023-06-25 12:42:10', '2023-06-25 12:42:10'), -(125, 4, 'geekmaster', '::1', '', '2023-06-25 12:47:46', '2023-06-25 12:47:46'), -(126, 4, 'geekmaster', '::1', '', '2023-06-25 12:48:19', '2023-06-25 12:48:19'), -(127, 4, 'geekmaster', '::1', '', '2023-06-25 14:17:08', '2023-06-25 14:17:08'), -(128, 4, 'geekmaster', '::1', '', '2023-06-26 08:23:17', '2023-06-26 08:23:17'), -(129, 4, 'geekmaster', '::1', '', '2023-06-26 15:16:10', '2023-06-26 15:16:10'), -(130, 4, 'geekmaster', '::1', '', '2023-06-26 15:30:19', '2023-06-26 15:30:19'), -(131, 4, 'geekmaster', '::1', '', '2023-06-26 15:30:55', '2023-06-26 15:30:55'), -(132, 4, 'geekmaster', '::1', '', '2023-06-26 15:33:22', '2023-06-26 15:33:22'), -(133, 4, 'geekmaster', '::1', '', '2023-06-26 15:33:38', '2023-06-26 15:33:38'), -(134, 4, 'geekmaster', '::1', '', '2023-06-26 17:45:40', '2023-06-26 17:45:40'), -(135, 4, 'geekmaster', '::1', '', '2023-06-27 08:26:59', '2023-06-27 08:26:59'), -(136, 4, 'geekmaster', '::1', '', '2023-06-27 10:08:32', '2023-06-27 10:08:32'), -(137, 4, 'geekmaster', '::1', '', '2023-06-27 13:31:28', '2023-06-27 13:31:28'), -(138, 4, 'geekmaster', '::1', '', '2023-06-27 13:31:41', '2023-06-27 13:31:41'), -(139, 4, 'geekmaster', '::1', '', '2023-06-27 13:32:10', '2023-06-27 13:32:10'), -(140, 4, 'geekmaster', '::1', '', '2023-06-27 13:44:45', '2023-06-27 13:44:45'), -(141, 4, 'geekmaster', '::1', '', '2023-06-27 13:44:53', '2023-06-27 13:44:53'); +DROP TABLE IF EXISTS `test`; +CREATE TABLE `test` ( + `id` int NOT NULL, + `content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- +-- 转存表中的数据 `test` +-- + +INSERT INTO `test` (`id`, `content`) VALUES +(1, '找到属于你的幸福!💑💛'); -- -- 转储表的索引 @@ -546,6 +269,13 @@ ALTER TABLE `chatgpt_configs` ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `marker` (`marker`); +-- +-- 表的索引 `chatgpt_rewards` +-- +ALTER TABLE `chatgpt_rewards` + ADD PRIMARY KEY (`id`), + ADD UNIQUE KEY `tx_id` (`tx_id`); + -- -- 表的索引 `chatgpt_users` -- @@ -558,6 +288,12 @@ ALTER TABLE `chatgpt_users` ALTER TABLE `chatgpt_user_login_logs` ADD PRIMARY KEY (`id`); +-- +-- 表的索引 `test` +-- +ALTER TABLE `test` + ADD PRIMARY KEY (`id`); + -- -- 在导出的表使用AUTO_INCREMENT -- @@ -572,13 +308,13 @@ ALTER TABLE `chatgpt_api_keys` -- 使用表AUTO_INCREMENT `chatgpt_chat_history` -- ALTER TABLE `chatgpt_chat_history` - MODIFY `id` bigint NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=133; + MODIFY `id` bigint NOT NULL AUTO_INCREMENT; -- -- 使用表AUTO_INCREMENT `chatgpt_chat_items` -- ALTER TABLE `chatgpt_chat_items` - MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=65; + MODIFY `id` int NOT NULL AUTO_INCREMENT; -- -- 使用表AUTO_INCREMENT `chatgpt_chat_roles` @@ -592,17 +328,29 @@ ALTER TABLE `chatgpt_chat_roles` ALTER TABLE `chatgpt_configs` MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3; +-- +-- 使用表AUTO_INCREMENT `chatgpt_rewards` +-- +ALTER TABLE `chatgpt_rewards` + MODIFY `id` int NOT NULL AUTO_INCREMENT; + -- -- 使用表AUTO_INCREMENT `chatgpt_users` -- ALTER TABLE `chatgpt_users` - MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=81; + MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=83; -- -- 使用表AUTO_INCREMENT `chatgpt_user_login_logs` -- ALTER TABLE `chatgpt_user_login_logs` - MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=142; + MODIFY `id` int NOT NULL AUTO_INCREMENT; + +-- +-- 使用表AUTO_INCREMENT `test` +-- +ALTER TABLE `test` + MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2; COMMIT; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; diff --git a/docs/imgs/plugin.png b/docs/imgs/plugin.png new file mode 100644 index 0000000000000000000000000000000000000000..3e83a27c3d2353e7e5c95df50a51903529e78c74 GIT binary patch literal 73371 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 literal 0 HcmV?d00001