diff --git a/api/config.sample.toml b/api/config.sample.toml index 3978b2df..1f7849d5 100644 --- a/api/config.sample.toml +++ b/api/config.sample.toml @@ -1,6 +1,6 @@ Listen = "0.0.0.0:5678" ProxyURL = "" # 如 http://127.0.0.1:7777 -MysqlDns = "root:12345678@tcp(172.22.11.200:3307)/chatgpt_plus?charset=utf8&parseTime=True&loc=Local" +MysqlDns = "root:12345678@tcp(172.22.11.200:3307)/chatgpt_plus?charset=utf8mb4&collation=utf8mb4_unicode_ci&parseTime=True&loc=Local" StaticDir = "./static" # 静态资源的目录 StaticUrl = "/static" # 静态资源访问 URL AesEncryptKey = "" @@ -64,24 +64,16 @@ WeChatBot = false SubDir = "" Domain = "" -[[MjConfigs]] - Enabled = false - UserToken = "" - BotToken = "" - GuildId = "" - ChanelId = "" - UseCDN = false #是否使用反向代理访问,设置为true下面的设置才会生效 - DiscordAPI = "" # discord API 反代地址 - DiscordCDN = "" # mj 图片反代地址 - DiscordGateway = "" # discord 机器人反代地址 +[[MjProxyConfigs]] + Enabled = true + ApiURL = "http://midjourney-proxy:8082" + ApiKey = "sk-geekmaster" [[MjPlusConfigs]] Enabled = false ApiURL = "https://api.chat-plus.net" - CdnURL = "" # CND 加速的 URL,如果有的话就设置 Mode = "fast" # MJ 绘画模式,可选值 relax/fast/turbo ApiKey = "sk-xxx" - NotifyURL = "https://ai.r9it.com/api/mj/notify" # 这里需要改成你的域名 [[SdConfigs]] Enabled = false diff --git a/api/go.mod b/api/go.mod index 30947c4b..ff63a4a6 100644 --- a/api/go.mod +++ b/api/go.mod @@ -25,8 +25,6 @@ require ( require github.com/xxl-job/xxl-job-executor-go v1.2.0 -require github.com/bg5t/mydiscordgo v0.28.1 - require ( github.com/mojocn/base64Captcha v1.3.1 github.com/shopspring/decimal v1.3.1 diff --git a/api/go.sum b/api/go.sum index ad58bfcd..b94c92a0 100644 --- a/api/go.sum +++ b/api/go.sum @@ -7,8 +7,6 @@ github.com/aliyun/aliyun-oss-go-sdk v2.2.9+incompatible/go.mod h1:T/Aws4fEfogEE9 github.com/andybalholm/brotli v1.0.4 h1:V7DdXeJtZscaqfNuAdSRuRFzuiKlHSC/Zh3zl9qY3JY= github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= -github.com/bg5t/mydiscordgo v0.28.1 h1:mVH0ZWstVdJffCi/EXJAYQDtXwIKAJYVXLmECu1hEK8= -github.com/bg5t/mydiscordgo v0.28.1/go.mod h1:n3aba73N18k1DzM0t0mGE8rwW3Z+vwTvI8pcsBgxN/8= github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM= github.com/bytedance/sonic v1.9.1 h1:6iJ6NqdoxCDr6mbY8h18oSO+cShGSMRGCEo7F2h0x8s= github.com/bytedance/sonic v1.9.1/go.mod h1:i736AoUSYt75HyZLoJW9ERYxcy6eaN6h4BZXU064P/U= @@ -78,7 +76,6 @@ github.com/google/pprof v0.0.0-20230602150820-91b7bce49751 h1:hR7/MlvK23p6+lIw9S github.com/google/pprof v0.0.0-20230602150820-91b7bce49751/go.mod h1:Jh3hGz2jkYak8qXPD19ryItVnUgpgeqzdkY/D0EaeuA= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -225,7 +222,6 @@ golang.org/x/arch v0.3.0 h1:02VY4/ZcO/gBOH6PUaoiptASxtXU10jazRCP865E97k= golang.org/x/arch v0.3.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= diff --git a/deploy/conf/config.toml b/deploy/conf/config.toml index 31add5a9..bb400251 100644 --- a/deploy/conf/config.toml +++ b/deploy/conf/config.toml @@ -1,6 +1,6 @@ Listen = "0.0.0.0:5678" ProxyURL = "" # 如 http://127.0.0.1:7777 -MysqlDns = "root:12345678@tcp(chatgpt-plus-mysql:3306)/chatgpt_plus?charset=utf8&parseTime=True&loc=Local" +MysqlDns = "root:12345678@tcp(chatgpt-plus-mysql:3306)/chatgpt_plus?charset=utf8mb4&collation=utf8mb4_unicode_ci&parseTime=True&loc=Local" StaticDir = "./static" # 静态资源的目录 StaticUrl = "/static" # 静态资源访问 URL WeChatBot = false @@ -67,29 +67,21 @@ WeChatBot = false SubDir = "" Domain = "" -[[MjConfigs]] - Enabled = false - UserToken = "" - BotToken = "" - GuildId = "" - ChanelId = "" - UseCDN = false - ImgCdnURL = "" - DiscordAPI = "" - DiscordGateway = "" +[[MjProxyConfigs]] + Enabled = true + ApiURL = "http://midjourney-proxy:8082" + ApiKey = "sk-geekmaster" [[MjPlusConfigs]] Enabled = false ApiURL = "https://api.chat-plus.net" Mode = "fast" ApiKey = "sk-xxx" - NotifyURL = "https://ai.r9it.com/api/mj/notify" # 这里需要把 ai.r9it.com 改成你自己的域名或者 IP:端口 [[SdConfigs]] Enabled = false ApiURL = "" ApiKey = "" - Txt2ImgJsonPath = "res/sd/text2img.json" [XXLConfig] # xxl-job 配置,需要你部署 XXL-JOB 定时任务工具,用来定期清理未支付订单和清理过期 VIP,如果你没有启用支付服务,则该服务也无需启动 Enabled = true # 是否启用 XXL JOB 服务 diff --git a/deploy/conf/mj-proxy/application.yml b/deploy/conf/mj-proxy/application.yml new file mode 100644 index 00000000..dac62155 --- /dev/null +++ b/deploy/conf/mj-proxy/application.yml @@ -0,0 +1,17 @@ +mj: + task-store: + type: in_memory + timeout: 30d + translate-way: null + api-secret: "sk-geekmaster" # API 密钥,要跟 chatgpt-plus 应用 config.toml 配置对应上,否则 API 调用会失败 + + ng-discord: # 这里必须配置反代,否则无法访问 Discord API + server: "" # Discord API 反代 + cdn: "" # Discord 图片 CDN 反代 + wss: "" # Discord 网关反代 + + accounts: # MJ 账号,配置配置多个 + - guild-id: "" + channel-id: "" + user-token: "" + user-agent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36" \ No newline at end of file diff --git a/deploy/data/mysql/init.d/chatgpt_plu-v4.0.0.sql b/deploy/data/mysql/init.d/chatgpt_plus-v4.0.0.sql similarity index 92% rename from deploy/data/mysql/init.d/chatgpt_plu-v4.0.0.sql rename to deploy/data/mysql/init.d/chatgpt_plus-v4.0.0.sql index 63559a79..c69f85c2 100644 --- a/deploy/data/mysql/init.d/chatgpt_plu-v4.0.0.sql +++ b/deploy/data/mysql/init.d/chatgpt_plus-v4.0.0.sql @@ -3,7 +3,7 @@ -- https://www.phpmyadmin.net/ -- -- 主机: localhost:3307 --- 生成日期: 2024-03-22 11:20:17 +-- 生成日期: 2024-03-28 17:27:20 -- 服务器版本: 8.0.33 -- PHP 版本: 8.1.18 @@ -47,7 +47,7 @@ CREATE TABLE `chatgpt_admin_users` ( -- INSERT INTO `chatgpt_admin_users` (`id`, `username`, `password`, `salt`, `status`, `last_login_at`, `last_login_ip`, `created_at`, `updated_at`) VALUES -(1, 'admin', '6d17e80c87d209efb84ca4b2e0824f549d09fac8b2e1cc698de5bb5e1d75dfd0', 'mmrql75o', 1, 1711000963, '172.22.11.200', '2024-03-11 16:30:20', '2024-03-21 14:02:44'), +(1, 'admin', '6d17e80c87d209efb84ca4b2e0824f549d09fac8b2e1cc698de5bb5e1d75dfd0', 'mmrql75o', 1, 1711594316, '172.22.11.200', '2024-03-11 16:30:20', '2024-03-28 10:51:57'), (108, 'test', '9ed720ce03e0a69885455271b4b3e1710bff79434f2a95d0de6406dd88cc9f79', '4b9orqjh', 0, 1710396975, '::1', '2024-03-13 16:06:43', '2024-03-21 15:15:04'); -- -------------------------------------------------------- @@ -71,6 +71,21 @@ CREATE TABLE `chatgpt_api_keys` ( `updated_at` datetime NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='OpenAI API '; +-- +-- 转存表中的数据 `chatgpt_api_keys` +-- + +INSERT INTO `chatgpt_api_keys` (`id`, `platform`, `name`, `value`, `type`, `last_used_at`, `api_url`, `enabled`, `proxy_url`, `created_at`, `updated_at`) VALUES +(11, 'ChatGLM', '智普', 'c3694f748a33d4d163bfa4b77ec1a153.p6s2NUZf5kAb0M6w', 'chat', 1710498745, 'https://open.bigmodel.cn/api/paas/v3/model-api/{model}/sse-invoke', 1, '', '2023-09-04 16:25:54', '2024-03-15 13:54:00'), +(14, 'Baidu', '千帆', 'Wdpi8o3T8UWrxgVqjtq7HODS|SeseBNp9Y5rQdwlVG60isEofEMT8y9zz', 'chat', 1699519822, 'https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/{model}', 0, '', '2023-10-10 18:11:50', '2024-03-15 13:53:54'), +(15, 'XunFei', '星火', 'b54dd11b|dbdcf59c74f8ea05e1792cad54409065|MTAxNjQ1MTVlODliNWM0NTVkOWM2ZTVm', 'chat', 1710497804, 'wss://spark-api.xf-yun.com/{version}/chat', 1, '', '2023-10-11 15:10:09', '2024-03-15 13:54:13'), +(22, 'OpenAI', '官方', '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', 'img', 0, 'https://api.openai.com/v1/images/generations', 0, 'http://127.0.0.1:7777', '2023-12-07 11:48:36', '2024-03-18 15:32:58'), +(24, 'OpenAI', '官方', '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', 'chat', 1710747118, 'https://api.openai.com/v1/chat/completions', 0, 'http://127.0.0.1:7777', '2024-01-04 10:10:58', '2024-03-18 15:32:59'), +(25, 'OpenAI', '极客学长', 'sk-qR5kdnAhTPuiXf2r7d9bEbBdD6F64d9e81Dd9c75D716BdD4', 'chat', 1711586301, 'https://api.chat-plus.net/v1/chat/completions', 1, '', '2024-01-04 15:58:30', '2024-03-18 15:33:02'), +(26, 'OpenAI', '极客学长', 'sk-n3JghlwzY6JaTIbv7064F94155F942D386F3F685F6Bd3b97', 'img', 1711007339, 'https://gpt.bemore.lol/v1/images/generations', 1, '', '2024-01-05 14:31:45', '2024-03-18 15:33:03'), +(27, 'QWen', '通义千问', 'sk-6241c622828c44b1a2c70f495b16efac', 'chat', 1711334875, 'https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation', 1, '', '2024-01-19 10:39:22', '2024-03-15 11:55:02'), +(28, 'OpenAI', '丈母娘', 'sk-tAKgJwKbi9cHzFMdC9C34f0207B74225977256F65972Fb94', 'img', 1708593118, 'https://www.jiujiuai.net/v1/images/generations', 0, '', '2024-02-22 17:06:02', '2024-02-23 09:29:26'); + -- -------------------------------------------------------- -- @@ -220,7 +235,7 @@ CREATE TABLE `chatgpt_configs` ( -- INSERT INTO `chatgpt_configs` (`id`, `marker`, `config_json`) VALUES -(1, 'system', '{\"title\":\"ChatPlus AI 智能助手\",\"admin_title\":\"ChatPlus 控制台\",\"logo\":\"http://localhost:5678/static/upload/2024/3/1710732653645531.png\",\"init_power\":100,\"daily_power\":99,\"invite_power\":10,\"vip_month_power\":1000,\"register_ways\":[\"mobile\",\"username\",\"email\"],\"enabled_register\":true,\"reward_img\":\"http://localhost:5678/static/upload/2024/3/1710753716309668.jpg\",\"enabled_reward\":true,\"power_price\":0.1,\"order_pay_timeout\":1800,\"default_models\":[11,7,1,10,12,19,18,17,3],\"mj_power\":20,\"sd_power\":5,\"dall_power\":15,\"wechat_card_url\":\"/images/wx.png\",\"enable_context\":true,\"context_deep\":4}'), +(1, 'system', '{\"title\":\"ChatPlus AI 智能助手\",\"admin_title\":\"ChatPlus 控制台\",\"logo\":\"http://localhost:5678/static/upload/2024/3/1711334798556619.png\",\"init_power\":100,\"daily_power\":99,\"invite_power\":10,\"vip_month_power\":1000,\"register_ways\":[\"mobile\",\"username\",\"email\"],\"enabled_register\":true,\"reward_img\":\"http://localhost:5678/static/upload/2024/3/1710753716309668.jpg\",\"enabled_reward\":true,\"power_price\":0.1,\"order_pay_timeout\":1800,\"vip_info_text\":\"月度会员,年度会员每月赠送 1000 点算力,赠送算力当月有效当月没有消费完的算力不结余到下个月。 点卡充值的算力长期有效。\",\"default_models\":[11,7,1,10,12,19,18,17,3],\"mj_power\":20,\"mj_action_power\":10,\"sd_power\":5,\"dall_power\":15,\"wechat_card_url\":\"/images/wx.png\",\"enable_context\":true,\"context_deep\":4}'), (3, 'notice', '{\"content\":\"注意:当前站点仅为开源项目 \\u003ca style=\\\"color: #F56C6C\\\" href=\\\"https://github.com/yangjian102621/chatgpt-plus\\\" target=\\\"_blank\\\"\\u003eChatPlus\\u003c/a\\u003e 的演示项目,本项目单纯就是给大家体验项目功能使用。\\n体验额度用完之后请不要在当前站点进行任何充值操作!!!\\n体验额度用完之后请不要在当前站点进行任何充值操作!!!\\n体验额度用完之后请不要在当前站点进行任何充值操作!!!\\n 如果觉得好用你就花几分钟自己部署一套,没有API KEY 的同学可以去 \\u003ca href=\\\"https://gpt.bemore.lol\\\" target=\\\"_blank\\\"\\n style=\\\"font-size: 20px;color:#F56C6C\\\"\\u003ehttps://gpt.bemore.lol\\u003c/a\\u003e 购买,现在有超级优惠,价格远低于 OpenAI 官方。\\nGPT-3.5,GPT-4,DALL-E3 绘图......你都可以随意使用,无需魔法。\\nMidJourney API 购买地址:\\u003ca href=\\\"https://api.chat-plus.net\\\" target=\\\"_blank\\\"\\n style=\\\"font-size: 20px;color:#F56C6C\\\"\\u003ehttps://api.chat-plus.net\\u003c/a\\u003e\\n接入教程: \\u003ca href=\\\"https://ai.r9it.com/docs/install/\\\" target=\\\"_blank\\\"\\n style=\\\"font-size: 20px;color:#F56C6C\\\"\\u003ehttps://ai.r9it.com/docs/install/\\u003c/a\\u003e\\n本项目源码地址:\\u003ca href=\\\"https://github.com/yangjian102621/chatgpt-plus\\\" target=\\\"_blank\\\"\\u003ehttps://github.com/yangjian102621/chatgpt-plus\\u003c/a\\u003e\",\"updated\":true}'); -- -------------------------------------------------------- @@ -264,7 +279,7 @@ CREATE TABLE `chatgpt_functions` ( -- INSERT INTO `chatgpt_functions` (`id`, `name`, `label`, `description`, `parameters`, `token`, `action`, `enabled`) VALUES -(1, '', '', '', '{\"type\":\"\",\"properties\":null}', '', '', 0), +(1, 'weibo', '微博热搜', '新浪微博热搜榜,微博当日热搜榜单', '{\"type\":\"object\",\"properties\":{}}', 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHBpcmVkIjowLCJ1c2VyX2lkIjowfQ.tLAGkF8XWh_G-oQzevpIodsswtPByBLoAZDz_eWuBgw', 'http://localhost:5678/api/function/weibo', 1), (2, 'zaobao', '今日早报', '每日早报,获取当天新闻事件列表', '{\"type\":\"object\",\"properties\":{}}', 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHBpcmVkIjowLCJ1c2VyX2lkIjowfQ.tLAGkF8XWh_G-oQzevpIodsswtPByBLoAZDz_eWuBgw', 'http://localhost:5678/api/function/zaobao', 1), (3, 'dalle3', 'DALLE3', 'AI 绘画工具,根据输入的绘图描述用 AI 工具进行绘画', '{\"type\":\"object\",\"required\":[\"prompt\"],\"properties\":{\"prompt\":{\"type\":\"string\",\"description\":\"绘画提示词\"}}}', 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHBpcmVkIjowLCJ1c2VyX2lkIjowfQ.tLAGkF8XWh_G-oQzevpIodsswtPByBLoAZDz_eWuBgw', 'http://localhost:5678/api/function/dalle3', 1); @@ -481,9 +496,8 @@ CREATE TABLE `chatgpt_users` ( -- INSERT INTO `chatgpt_users` (`id`, `username`, `nickname`, `password`, `avatar`, `salt`, `power`, `expired_time`, `status`, `chat_config_json`, `chat_roles_json`, `chat_models_json`, `last_login_at`, `vip`, `last_login_ip`, `created_at`, `updated_at`) VALUES -(4, '18575670125', '极客学长@830270', 'ccc3fb7ab61b8b5d096a4a166ae21d121fc38c71bbd1be6173d9ab973214a63b', 'http://localhost:5678/static/upload/2024/2/1708682650912429.png', 'ueedue5l', 3082, 1717292086, 1, '{\"api_keys\":{\"Azure\":\"\",\"ChatGLM\":\"\",\"OpenAI\":\"\"}}', '[\"red_book\",\"gpt\",\"programmer\",\"seller\"]', '[1,11]', 1710990060, 1, '172.22.11.200', '2023-06-12 16:47:17', '2024-03-22 08:53:00'), -(91, '18575670126', '极客学长@204872', '5e4050b8dd403f593260395d9edeb9f273dbe92d15dfdd929c4a182e95da10c4', '/images/avatar/user.png', '6fj0otl8', 99, 0, 1, '{\"api_keys\":{\"Azure\":\"\",\"ChatGLM\":\"\",\"OpenAI\":\"\"}}', '[\"gpt\"]', '[1,11]', 1697184324, 1, '::1', '2023-10-13 16:01:56', '2024-03-18 14:49:44'), -(99, '13999999999', '极客学长@396023', 'bf47d517c17ed1ead6ff2542753f9b6a132e79c29e06c3710faf1a36d800a217', '/images/avatar/user.png', 'x1s66pwd', 99, 0, 1, '{\"api_keys\":{\"Azure\":\"\",\"ChatGLM\":\"\",\"OpenAI\":\"\"}}', '[\"gpt\"]', '[1,11]', 0, 0, '', '2023-11-23 16:27:20', '2024-03-18 15:08:17'), +(4, '18575670125', '极客学长@830270', 'ccc3fb7ab61b8b5d096a4a166ae21d121fc38c71bbd1be6173d9ab973214a63b', 'http://localhost:5678/static/upload/2024/2/1708682650912429.png', 'ueedue5l', 9434, 1717292086, 1, '{\"api_keys\":{\"Azure\":\"\",\"ChatGLM\":\"\",\"OpenAI\":\"\"}}', '[\"red_book\",\"gpt\",\"programmer\",\"seller\"]', '[1,11]', 1711608964, 1, '::1', '2023-06-12 16:47:17', '2024-03-28 14:56:05'), +(91, '18575670126', '极客学长@204872', '5e4050b8dd403f593260395d9edeb9f273dbe92d15dfdd929c4a182e95da10c4', '/images/avatar/user.png', '6fj0otl8', 33, 0, 1, '{\"api_keys\":{\"Azure\":\"\",\"ChatGLM\":\"\",\"OpenAI\":\"\"}}', '[\"gpt\"]', '[1,11]', 1697184324, 1, '::1', '2023-10-13 16:01:56', '2024-03-25 11:07:45'), (100, '13777777777', '极客学长@292245', 'dcaf31b154432310bd700349e7de7e9dde2a3d6955a035a01fe527c7917a4f99', '/images/avatar/user.png', 'i8a53f8f', 99, 0, 1, '{\"api_keys\":{\"Azure\":\"\",\"ChatGLM\":\"\",\"OpenAI\":\"\"}}', '[\"gpt\"]', '[1,11]', 0, 0, '', '2023-11-23 16:55:45', '2024-03-18 15:08:12'), (102, 'yangjian102621@gmail.com', '极客学长@207163', 'd51cec21942737083943e5c3a8f063dea034e40622ac8bd47d771f13707e4676', '/images/avatar/user.png', 'eqezapgk', 99, 0, 1, '{\"api_keys\":{\"Azure\":\"\",\"ChatGLM\":\"\",\"OpenAI\":\"\"}}', '[\"gpt\"]', '[1,11]', 1704448377, 0, '::1', '2024-01-05 17:48:00', '2024-03-18 15:08:41'), (105, '13888888888', '极客学长@551903', '4f893cc6b6d47b42fd0fcaddc55fd4a351cad74ba81ebabb4d7785f9675814da', '/images/avatar/user.png', 'cotpzi3q', 99, 0, 1, '{\"api_keys\":{\"Azure\":\"\",\"ChatGLM\":\"\",\"OpenAI\":\"\"}}', '[\"gpt\"]', '[1,11]', 0, 0, '', '2024-01-30 15:37:43', '2024-03-18 15:08:01'), @@ -653,7 +667,7 @@ ALTER TABLE `chatgpt_admin_users` -- 使用表AUTO_INCREMENT `chatgpt_api_keys` -- ALTER TABLE `chatgpt_api_keys` - MODIFY `id` int NOT NULL AUTO_INCREMENT; + MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=32; -- -- 使用表AUTO_INCREMENT `chatgpt_chat_history` diff --git a/deploy/docker-compose.yaml b/deploy/docker-compose.yaml index a3702040..7c74477d 100644 --- a/deploy/docker-compose.yaml +++ b/deploy/docker-compose.yaml @@ -38,12 +38,22 @@ services: volumes: - ./logs/xxl-job:/data/applogs - ./conf/xxl-job/application.properties:/application.properties - depends_on: - - chatgpt-plus-mysql + + + midjourney-proxy: + image: novicezk/midjourney-proxy:2.6.0 + container_name: midjourney-proxy + restart: always + ports: + - "8082:8080" + volumes: + - ./conf/mj-proxy:/home/spring/config + + # 后端 API 程序 chatgpt-plus-api: - image: registry.cn-shenzhen.aliyuncs.com/geekmaster/chatgpt-plus-api:v4.0.0-amd64 + image: registry.cn-shenzhen.aliyuncs.com/geekmaster/chatgpt-plus-api:v4.0.1-amd64 container_name: chatgpt-plus-api restart: always depends_on: @@ -65,7 +75,7 @@ services: # 前端应用 chatgpt-plus-web: - image: registry.cn-shenzhen.aliyuncs.com/geekmaster/chatgpt-plus-web:v4.0.0-amd64 + image: registry.cn-shenzhen.aliyuncs.com/geekmaster/chatgpt-plus-web:v4.0.1-amd64 container_name: chatgpt-plus-web restart: always depends_on: diff --git a/web/src/App.vue b/web/src/App.vue index a8e196b4..f743f393 100644 --- a/web/src/App.vue +++ b/web/src/App.vue @@ -67,155 +67,4 @@ html, body { white-space: nowrap; } -.sl { - display: -webkit-box; - -webkit-box-orient: vertical; - -webkit-line-clamp: 2; - overflow: hidden; -} - -.sl3 { - display: -webkit-box; - -webkit-box-orient: vertical; - -webkit-line-clamp: 3; - overflow: hidden; -} - -.sl4 { - display: -webkit-box; - -webkit-box-orient: vertical; - -webkit-line-clamp: 3; - overflow: hidden; -} - -/* 居中布局 */ -.auto_center { - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); -} - -.h_center { - width: 100%; - position: absolute; - top: 50%; - transform: translateY(-50%); - -webkit-transform: translateY(-50%); -} - -.w_center { - position: absolute; - left: 50%; - transform: translateX(-50%); - -webkit-transform: translateX(-50%); -} - -/* flex布局 */ -.flex-row { - display: flex; - flex-direction: row; -} - -.flex-col { - display: flex; - flex-direction: column; -} - -.justify-start { - justify-content: flex-start; -} - -.justify-end { - justify-content: flex-end; -} - -.justify-center { - justify-content: center; -} - -.justify-between { - justify-content: space-between; -} - -.justify-around { - justify-content: space-around; -} - -.justify-evenly { - justify-content: space-evenly; -} - -.items-start { - align-items: flex-start; -} - -.items-end { - align-items: flex-end; -} - -.items-center { - align-items: center; -} - -.items-baseline { - align-items: baseline; -} - -.items-stretch { - align-items: stretch; -} - -.self-start { - align-self: flex-start; -} - -.self-end { - align-self: flex-end; -} - -.self-center { - align-self: center; -} - -.self-baseline { - align-self: baseline; -} - -.self-stretch { - align-self: stretch; -} - -.flex-1 { - flex: 1 1 0%; -} - -.flex-auto { - flex: 1 1 auto; -} - -.grow { - flex-grow: 1; -} - -.grow-0 { - flex-grow: 0; -} - -.shrink { - flex-shrink: 1; -} - -.shrink-0 { - flex-shrink: 0; -} - -.shrink-1 { - flex-shrink: 1; -} - -.relative { - position: relative; -} - diff --git a/web/src/assets/css/main.css b/web/src/assets/css/main.css index d1e800f8..fc5aeb70 100644 --- a/web/src/assets/css/main.css +++ b/web/src/assets/css/main.css @@ -4,7 +4,6 @@ body, .wrapper { width: 100%; height: 100%; - overflow: hidden; } body { font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif; diff --git a/web/src/assets/css/main.styl b/web/src/assets/css/main.styl index 3351cf1a..1805ade3 100644 --- a/web/src/assets/css/main.styl +++ b/web/src/assets/css/main.styl @@ -9,7 +9,6 @@ body, .wrapper { width: 100%; height: 100%; - overflow: hidden; } body { diff --git a/web/src/assets/css/mobile/chat-list.css b/web/src/assets/css/mobile/chat-list.css index f6d91551..c5032fc6 100644 --- a/web/src/assets/css/mobile/chat-list.css +++ b/web/src/assets/css/mobile/chat-list.css @@ -1,13 +1,13 @@ -.mobile-chat-list .content .van-cell__value .chat-list-item { +.mobile-chat-list .content .van-list .van-cell__value .chat-list-item { display: flex; font-size: 14px; } -.mobile-chat-list .content .van-cell__value .chat-list-item .van-image { +.mobile-chat-list .content .van-list .van-cell__value .chat-list-item .van-image { min-width: 32px; width: 32px; height: 32px; } -.mobile-chat-list .content .van-cell__value .chat-list-item .van-ellipsis { +.mobile-chat-list .content .van-list .van-cell__value .chat-list-item .van-ellipsis { margin-top: 5px; margin-left: 10px; } diff --git a/web/src/assets/css/mobile/chat-list.styl b/web/src/assets/css/mobile/chat-list.styl index 76df090a..5976c1f7 100644 --- a/web/src/assets/css/mobile/chat-list.styl +++ b/web/src/assets/css/mobile/chat-list.styl @@ -1,19 +1,21 @@ .mobile-chat-list { .content { - .van-cell__value { - .chat-list-item { - display flex - font-size 14px + .van-list { + .van-cell__value { + .chat-list-item { + display flex + font-size 14px - .van-image { - min-width 32px - width 32px - height 32px - } + .van-image { + min-width 32px + width 32px + height 32px + } - .van-ellipsis { - margin-top 5px; - margin-left 10px; + .van-ellipsis { + margin-top 5px; + margin-left 10px; + } } } } diff --git a/web/src/assets/css/mobile/chat-session.css b/web/src/assets/css/mobile/chat-session.css index 7d765375..1e1f8f3a 100644 --- a/web/src/assets/css/mobile/chat-session.css +++ b/web/src/assets/css/mobile/chat-session.css @@ -1,5 +1,4 @@ .mobile-chat .message-list-box { - padding-top: 50px; padding-bottom: 10px; overflow-x: auto; background: #f5f5f5; diff --git a/web/src/assets/css/mobile/chat-session.styl b/web/src/assets/css/mobile/chat-session.styl index 5da59cc3..a8cb91da 100644 --- a/web/src/assets/css/mobile/chat-session.styl +++ b/web/src/assets/css/mobile/chat-session.styl @@ -1,6 +1,6 @@ .mobile-chat { .message-list-box { - padding-top 50px + //padding-top 50px padding-bottom 10px overflow-x auto background #F5F5F5; diff --git a/web/src/assets/css/mobile/image-mj.css b/web/src/assets/css/mobile/image-mj.css index d6aa8db2..a28c1753 100644 --- a/web/src/assets/css/mobile/image-mj.css +++ b/web/src/assets/css/mobile/image-mj.css @@ -104,7 +104,7 @@ width: 100%; } .mobile-mj .content .finish-job-list .van-grid .van-grid-item .van-grid-item__content .job-item .opt .opt-btn { - padding: 3px 10px; + padding: 2px 0; text-align: center; border-radius: 5px; margin: 3px 0; @@ -112,6 +112,8 @@ cursor: pointer; background-color: #4e5058; color: #fff; + font-size: 14px; + width: 100%; } .mobile-mj .content .finish-job-list .van-grid .van-grid-item .van-grid-item__content .job-item .van-image { width: 100%; diff --git a/web/src/assets/css/mobile/image-mj.styl b/web/src/assets/css/mobile/image-mj.styl index 09ab3501..948854bd 100644 --- a/web/src/assets/css/mobile/image-mj.styl +++ b/web/src/assets/css/mobile/image-mj.styl @@ -144,7 +144,7 @@ .opt { .opt-btn { - padding 3px 10px + padding 2px 0 text-align center border-radius 5px margin 3px 0 @@ -152,6 +152,8 @@ cursor pointer background-color #4E5058 color #ffffff + font-size 14px + width 100% } } diff --git a/web/src/views/mobile/Home.vue b/web/src/views/mobile/Home.vue index a22ce998..b056fb7b 100644 --- a/web/src/views/mobile/Home.vue +++ b/web/src/views/mobile/Home.vue @@ -48,7 +48,7 @@ const onChange = (index) => { } .content { - padding 46px 10px 60px 10px; + padding 46px 10px 60px 10px } } diff --git a/web/src/views/mobile/ImageMj.vue b/web/src/views/mobile/ImageMj.vue index 0c705c58..030dcaf9 100644 --- a/web/src/views/mobile/ImageMj.vue +++ b/web/src/views/mobile/ImageMj.vue @@ -163,7 +163,7 @@