chat.go 1.0 KB

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