chat.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package setting
  2. import (
  3. "encoding/json"
  4. "one-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. "Lobe Chat 官方示例": "https://chat-preview.lobehub.com/?settings={\"keyVaults\":{\"openai\":{\"apiKey\":\"{key}\",\"baseURL\":\"{address}/v1\"}}}",
  15. },
  16. {
  17. "AI as Workspace": "https://aiaw.app/set-provider?provider={\"type\":\"openai\",\"settings\":{\"apiKey\":\"{key}\",\"baseURL\":\"{address}/v1\",\"compatibility\":\"strict\"}}",
  18. },
  19. {
  20. "AMA 问天": "ama://set-api-key?server={address}&key={key}",
  21. },
  22. {
  23. "OpenCat": "opencat://team/join?domain={address}&token={key}",
  24. },
  25. }
  26. func UpdateChatsByJsonString(jsonString string) error {
  27. Chats = make([]map[string]string, 0)
  28. return json.Unmarshal([]byte(jsonString), &Chats)
  29. }
  30. func Chats2JsonString() string {
  31. jsonBytes, err := json.Marshal(Chats)
  32. if err != nil {
  33. common.SysError("error marshalling chats: " + err.Error())
  34. return "[]"
  35. }
  36. return string(jsonBytes)
  37. }