chat.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package setting
  2. import (
  3. "encoding/json"
  4. "github.com/QuantumNous/new-api/common"
  5. )
  6. var Chats = []map[string]string{
  7. //{
  8. // "ChatGPT Next Web 官方示例": "https://app.nextchat.dev/#/?settings={\"key\":\"{key}\",\"url\":\"{address}\"}",
  9. //},
  10. {
  11. "Cherry Studio": "cherrystudio://providers/api-keys?v=1&data={cherryConfig}",
  12. },
  13. //{
  14. // "AionUI": "aionui://provider/add?v=1&data={aionuiConfig}",
  15. //},
  16. {
  17. "流畅阅读": "fluentread",
  18. },
  19. {
  20. "CC Switch": "ccswitch",
  21. },
  22. {
  23. "Lobe Chat 官方示例": "https://chat-preview.lobehub.com/?settings={\"keyVaults\":{\"openai\":{\"apiKey\":\"{key}\",\"baseURL\":\"{address}/v1\"}}}",
  24. },
  25. {
  26. "AI as Workspace": "https://aiaw.app/set-provider?provider={\"type\":\"openai\",\"settings\":{\"apiKey\":\"{key}\",\"baseURL\":\"{address}/v1\",\"compatibility\":\"strict\"}}",
  27. },
  28. {
  29. "AMA 问天": "ama://set-api-key?server={address}&key={key}",
  30. },
  31. {
  32. "OpenCat": "opencat://team/join?domain={address}&token={key}",
  33. },
  34. }
  35. func UpdateChatsByJsonString(jsonString string) error {
  36. Chats = make([]map[string]string, 0)
  37. return json.Unmarshal([]byte(jsonString), &Chats)
  38. }
  39. func Chats2JsonString() string {
  40. jsonBytes, err := json.Marshal(Chats)
  41. if err != nil {
  42. common.SysLog("error marshalling chats: " + err.Error())
  43. return "[]"
  44. }
  45. return string(jsonBytes)
  46. }