当前位置:   article > 正文

神级插件Bito介绍及使用_bito插件有限制次数

bito插件有限制次数

还在用其他AI?不是说它不火了,而是你基本上很难访问了。这里介绍个便宜且免费的AI聊天插件,一样可以很棒。永久免费且不限制次数,有这好事?且听下文分解。

前言

虽然GPT 是用不了,推荐下国内的一些大模型,做的也相当不错了,至少可以追到GPT-3.5了。想体验人工智能AI的,可以试用下百度,科大讯飞等大模型。然而,这里要介绍的并不是这些。

BITO简介

Bito 是一个继Copilot之后的又一款神级IDEA代码辅助插件,感觉它可以超越Copilot,它的强大之处就是可以通过类似于GPT对话的方式来编写代码,分析代码等,生成的代码可以复制以及直接插入,永久免费且不限制次数,用来会话搜索也是可以的。可以在vscode中直接搜索到这个插件并使用。最最关键的是它的注册流程很简单,而且免费。

插件介绍

虽然BITO插件很好用,但是想用它用在其他地方。所以还是更灵活方便些。分享给有需要的伙伴,欢迎点赞评论和收藏。完整项目代码上传到csdn了,可以接入公众号。

下载地址:https://download.csdn.net/download/qq8864/87921258

报文示例

 报文请求:

  1. POST https://bitoai.bito.ai/ai/v2/chat/?processSilently=true HTTP/1.1
  2. content-type: application/json
  3. sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="102"
  4. authorization: 10086
  5. user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.75.1 Chrome/102.0.5005.194 Electron/19.1.9 Safari/537.36
  6. sec-ch-ua-platform: "Windows"
  7. accept: */*
  8. origin: vscode-webview://00ufp6vep7ebihor39h3aap2cnc6j0ptg8638daeifr55n0kqpom
  9. {
  10. "bitoUserId": 10086,
  11. "email": "534117529@qq.com",
  12. "ideName": "VSCODE",
  13. "prompt": "今天的天气",
  14. "uId": "bbbb-97ad-4885-897b-3df900fa82ce",
  15. "wsId": 10086,
  16. "stream": false,
  17. "requestId": "aaaa-5e55-8959-fddc-aa9f0cf12b64"
  18. }

应答:

  1. HTTP/1.1 200 OK
  2. Date: Sat, 17 Jun 2023 22:56:44 GMT
  3. Content-Type: application/json; charset=UTF-8
  4. Content-Length: 262
  5. Connection: close
  6. Access-Control-Allow-Origin: *
  7. Vary: Origin
  8. {
  9. "response": "抱歉,作为AI语言模型,我没有实时获取天气信息的能力。请您打开天气预报应用或者网站查询当地天气情况。",
  10. "status": 0,
  11. "created": "2023-06-17T22:56:44.054650024Z",
  12. "id": "chatcmpl-7SM1ZH0yQ2Q4H9liMwCt0yOa9DTlD"
  13. }

golang封装

https请求

  1. func HttpsPostNotVerify(url string, headers map[string]string, data []byte) ([]byte, error) {
  2. tr := &http.Transport{
  3. TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
  4. }
  5. client := &http.Client{Transport: tr}
  6. log.Println("begin post...")
  7. req, err := http.NewRequest("POST", url, bytes.NewReader(data))
  8. if err != nil {
  9. // handle error
  10. log.Println("error..")
  11. log.Println(err)
  12. return nil, err
  13. }
  14. for key := range headers {
  15. fmt.Println(key, ":", headers[key])
  16. req.Header.Set(key, headers[key])
  17. }
  18. resp, err := client.Do(req)
  19. if err != nil {
  20. // handle error
  21. log.Println("error1..")
  22. log.Println(err)
  23. return nil, err
  24. }
  25. defer resp.Body.Close()
  26. var body []byte
  27. body, err = ioutil.ReadAll(resp.Body)
  28. if err != nil {
  29. // handle error
  30. log.Println(err)
  31. return nil, err
  32. }
  33. //fmt.Println(string(body))
  34. //log.Printf(string(body))
  35. return body, nil
  36. //jsonStr := string(body)
  37. //fmt.Println("jsonStr", jsonStr)
  38. }
  39. func ChatHttpsPost(url string, body []byte) ([]byte, error) {
  40. headers := make(map[string]string)
  41. headers["user-agent"] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.75.1 Chrome/102.0.5005.194 Electron/19.1.9 Safari/537.36"
  42. headers["content-type"] = "application/json"
  43. headers["authorization"] = "xxxxxx"
  44. headers["accept"] = "*/*"
  45. headers["origin"] = "vscode-webview://00uxxxxxxxxqpom*"
  46. out, err := HttpsPostNotVerify(url, headers, body)
  47. if err != nil {
  48. //log.Info(sn + err)
  49. return nil, err
  50. }
  51. //log.Info(strout)
  52. return out, nil
  53. }

chat封装

  1. type RequestBITO struct{
  2. BitoUserId int `json:"bitoUserId"`
  3. Email string `json:"email"`
  4. IdeName string `json:"ideName"`
  5. Prompt string `json:"prompt"`
  6. UId string `json:"uId"`
  7. WsId int `json:"wsId"`
  8. Stream bool `json:"stream"`
  9. RequestId string `json:"requestId"`
  10. }
  11. func AskChatBITO(question string) string{
  12. fmt.Printf("\033[31mAsk chatBITO,\033[0m question:%s\n", question)
  13. begin := time.Now()
  14. request := RequestBITO{
  15. BitoUserId: xxxxxx,
  16. Email: "5xxxxxx@qq.com",
  17. IdeName: "VSCODE",
  18. Prompt: question,
  19. UId: "xxxxx-97ad-4885-897b-xxxx82ce",
  20. WsId: xxxxx,
  21. Stream: false,
  22. RequestId: "xxxx-5e55-8959-fddc-xxxx12b64",
  23. }
  24. req, _ := json.Marshal(request)//将json对象序列化为byte[]
  25. fmt.Printf("req:%s\n", string(req))
  26. response, err := util.ChatHttpsPost(CHATBITOURL, req)
  27. elapsed := time.Since(begin)
  28. //fmt.Println(response, err)
  29. if err != nil {
  30. fmt.Printf("\033[31mError:\033[0m %v\nTime: ", err,elapsed)
  31. return ""
  32. }else{
  33. fmt.Printf("Answer:%s\n\033[32mTime:\033[0m %v\n\n", string(response),elapsed)
  34. return string(response)
  35. }
  36. }

测试验证

可以看到响应速度还挺快,总共耗时1.9秒,不限速度不限次数。

其他资源

Bito - 超越Copilot的一款神级插件_杨林伟的博客-CSDN博客

福音:IDEA、VSCODE神级插件Bito_靈熙雲的博客-CSDN博客

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/98794
推荐阅读
相关标签
  

闽ICP备14008679号