| // Copyright (c) 2025 Tethys Plex | |
| // | |
| // This file is part of Veloera. | |
| // | |
| // This program is free software: you can redistribute it and/or modify | |
| // it under the terms of the GNU General Public License as published by | |
| // the Free Software Foundation, either version 3 of the License, or | |
| // (at your option) any later version. | |
| // | |
| // This program is distributed in the hope that it will be useful, | |
| // but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| // GNU General Public License for more details. | |
| // | |
| // You should have received a copy of the GNU General Public License | |
| // along with this program. If not, see <https://www.gnu.org/licenses/>. | |
| package setting | |
| import ( | |
| "encoding/json" | |
| "veloera/common" | |
| ) | |
| var Chats = []map[string]string{ | |
| { | |
| "ChatGPT Next Web 官方示例": "https://app.nextchat.dev/#/?settings={\"key\":\"{key}\",\"url\":\"{address}\"}", | |
| }, | |
| { | |
| "Lobe Chat 官方示例": "https://chat-preview.lobehub.com/?settings={\"keyVaults\":{\"openai\":{\"apiKey\":\"{key}\",\"baseURL\":\"{address}/v1\"}}}", | |
| }, | |
| { | |
| "AI as Workspace": "https://aiaw.app/set-provider?provider={\"type\":\"openai\",\"settings\":{\"apiKey\":\"{key}\",\"baseURL\":\"{address}/v1\",\"compatibility\":\"strict\"}}", | |
| }, | |
| { | |
| "AMA 问天": "ama://set-api-key?server={address}&key={key}", | |
| }, | |
| { | |
| "OpenCat": "opencat://team/join?domain={address}&token={key}", | |
| }, | |
| } | |
| func UpdateChatsByJsonString(jsonString string) error { | |
| Chats = make([]map[string]string, 0) | |
| return json.Unmarshal([]byte(jsonString), &Chats) | |
| } | |
| func Chats2JsonString() string { | |
| jsonBytes, err := json.Marshal(Chats) | |
| if err != nil { | |
| common.SysError("error marshalling chats: " + err.Error()) | |
| return "[]" | |
| } | |
| return string(jsonBytes) | |
| } | |