diff --git a/apps/management.js b/apps/management.js index dd719e2..0cc9256 100644 --- a/apps/management.js +++ b/apps/management.js @@ -9,7 +9,8 @@ import { getVoicevoxRoleList, makeForwardMsg, parseDuration, - renderUrl + renderUrl, + randomString } from '../utils/common.js' import SydneyAIClient from '../utils/SydneyAIClient.js' import { convertSpeaker, speakers as vitsRoleList } from '../utils/tts.js' @@ -212,6 +213,11 @@ export class ChatgptManagement extends plugin { reg: '^#(设置|修改)用户密码', fnc: 'setUserPassword' }, + { + reg: '^#工具箱', + fnc: 'toolsPage', + permission: 'master' + }, { reg: '^#chatgpt系统(设置|配置|管理)', fnc: 'adminPage', @@ -1246,6 +1252,21 @@ Poe 模式会调用 Poe 中的 Claude-instant 进行对话。需要提供 Cookie await this.reply(`请登录${viewHost + 'admin/dashboard'}进行系统配置`, true) } + async toolsPage (e) { + if (!Config.groupAdminPage && (e.isGroup || !e.isPrivate)) { + await this.reply('请私聊发送命令', true) + return true + } + const viewHost = Config.serverHost ? `http://${Config.serverHost}/` : `http://${await getPublicIP()}:${Config.serverPort || 3321}/` + const otp = randomString(6) + await redis.set( + `CHATGPT:SERVER_QUICK`, + otp, + { EX: 60000 } + ) + await this.reply(`请登录http://tools.alcedogroup.com/login?server=${viewHost}&otp=${otp}`, true) + } + async setOpenAIPlatformToken (e) { this.setContext('doSetOpenAIPlatformToken') await e.reply('请发送refreshToken\n你可以在已登录的platform.openai.com后台界面打开调试窗口,在终端中执行\nJSON.parse(localStorage.getItem(Object.keys(localStorage).filter(k => k.includes(\'auth0\'))[0])).body.refresh_token\n如果仍不能查看余额,请退出登录重新获取刷新令牌')