神级插件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


报文示例


报文请求:


POST https://bitoai.bito.ai/ai/v2/chat/?processSilently=true HTTP/1.1
content-type: application/json
sec-ch-ua:  " Not A;Brand";v="99", "Chromium";v="102"
authorization:  10086
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
sec-ch-ua-platform: "Windows"
accept: */*
origin: vscode-webview://00ufp6vep7ebihor39h3aap2cnc6j0ptg8638daeifr55n0kqpom
{
  "bitoUserId": 10086,
  "email": "534117529@qq.com",
  "ideName": "VSCODE",
  "prompt": "今天的天气",
  "uId": "bbbb-97ad-4885-897b-3df900fa82ce",
  "wsId": 10086,
  "stream": false,
  "requestId": "aaaa-5e55-8959-fddc-aa9f0cf12b64"
}


应答:


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


golang封装


https请求


func HttpsPostNotVerify(url string, headers map[string]string, data []byte) ([]byte, error) {
  tr := &http.Transport{
    TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
  }
  client := &http.Client{Transport: tr}
  log.Println("begin post...")
  req, err := http.NewRequest("POST", url, bytes.NewReader(data))
  if err != nil {
    // handle error
    log.Println("error..")
    log.Println(err)
    return nil, err
  }
  for key := range headers {
    fmt.Println(key, ":", headers[key])
    req.Header.Set(key, headers[key])
  }
  resp, err := client.Do(req)
  if err != nil {
    // handle error
    log.Println("error1..")
    log.Println(err)
    return nil, err
  }
  defer resp.Body.Close()
  var body []byte
  body, err = ioutil.ReadAll(resp.Body)
  if err != nil {
    // handle error
    log.Println(err)
    return nil, err
  }
  //fmt.Println(string(body))
  //log.Printf(string(body))
  return body, nil
  //jsonStr := string(body)
  //fmt.Println("jsonStr", jsonStr)
}
func ChatHttpsPost(url string, body []byte) ([]byte, error) {
  headers := make(map[string]string)
  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"
  headers["content-type"] = "application/json"
  headers["authorization"] = "xxxxxx"
  headers["accept"] = "*/*"
  headers["origin"] = "vscode-webview://00uxxxxxxxxqpom*"
  out, err := HttpsPostNotVerify(url, headers, body)
  if err != nil {
    //log.Info(sn + err)
    return nil, err
  }
  //log.Info(strout)
  return out, nil
}


chat封装


type RequestBITO struct{
  BitoUserId int `json:"bitoUserId"`
  Email string `json:"email"`
  IdeName string `json:"ideName"`
  Prompt string `json:"prompt"`
  UId string `json:"uId"`
  WsId int `json:"wsId"`
  Stream bool `json:"stream"`
  RequestId string `json:"requestId"`
}
func AskChatBITO(question string) string{
  fmt.Printf("\033[31mAsk chatBITO,\033[0m question:%s\n", question)
  begin := time.Now()
    request := RequestBITO{
  BitoUserId:  xxxxxx,
  Email:  "5xxxxxx@qq.com",
  IdeName:  "VSCODE",
  Prompt:  question,
  UId:  "xxxxx-97ad-4885-897b-xxxx82ce",
  WsId:  xxxxx,
  Stream:  false,
  RequestId:  "xxxx-5e55-8959-fddc-xxxx12b64",
   }
   req, _ := json.Marshal(request)//将json对象序列化为byte[]
   fmt.Printf("req:%s\n", string(req))
   response, err := util.ChatHttpsPost(CHATBITOURL, req)
   elapsed := time.Since(begin)
   //fmt.Println(response, err)
   if err != nil {
   fmt.Printf("\033[31mError:\033[0m %v\nTime: ", err,elapsed)
   return ""
   }else{
   fmt.Printf("Answer:%s\n\033[32mTime:\033[0m %v\n\n", string(response),elapsed)
   return string(response)
   }
}


测试验证


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



其他资源


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


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

相关文章
|
编解码 安全 搜索推荐
还没适配 Android 12 的要抓紧了(下)
还没适配 Android 12 的要抓紧了(下)
2672 0
还没适配 Android 12 的要抓紧了(下)
|
人工智能 JavaScript IDE
好消息,在 Visual Studio 中可以免费使用 GitHub Copilot 了!
好消息,在 Visual Studio 中可以免费使用 GitHub Copilot 了!
1513 11
|
人工智能 搜索推荐 开发者
GPT-4o测评准确率竟不到1%!BrowseComp:OpenAI开源AI代理评测新基准,1266道高难度网络检索问题
OpenAI最新开源的BrowseComp基准包含1266个高难度网络检索问题,覆盖影视、科技、艺术等九大领域,其最新Deep Research模型以51.5%准确率展现复杂信息整合能力,为AI代理的浏览能力评估建立新标准。
909 4
GPT-4o测评准确率竟不到1%!BrowseComp:OpenAI开源AI代理评测新基准,1266道高难度网络检索问题
|
安全 API PHP
港澳台验证码海外短信群发教程,利用阿里云国际如何实现境外短信操作
港澳台验证码海外短信群发教程,利用阿里云国际如何实现境外短信操作
|
Prometheus 监控 Cloud Native
搭建服务端性能监控系统 Prometheus 详细指南
搭建Prometheus监控系统,涉及Ubuntu上Docker的安装,通过`docker run`命令启动Prometheus容器,并挂载配置文件。配置文件默认示例可以从GitHub获取,调整`scrape_interval`和`targets`以监控Prometheus自身及Node Exporter(提供系统指标)。Node Exporter以Docker容器形式运行在9100端口。完成配置后,重启Prometheus容器,通过Web界面查看监控数据。后续将介绍结合Grafana进行可视化。
docker-compose启动报错,解决方案
[root@cache1 www]# docker-composeTraceback (most recent call last): File "/usr/bin/docker-compose", line 5, in from pkg_resources import load_entry_point File "/usr/lib/python2.
5487 0
|
网络协议 网络安全
Fedora 启动 SSH服务
一、Fedora 启动sshd服务: 1、先确认是否已安装ssh服务:   [root@localhost ~]# rpm -qa | grep openssh-server  openssh-server-5.3p1-19.fc12.i686 (这行表示已安装)   若未安装ssh服务,可输入:   #yum install openssh-server    进行安装   2、修改配置文件    #vi /etc/ssh/sshd_config    #Port 22  监听的端口号,默认是22,可以自定义。
3253 0
|
机器学习/深度学习 并行计算 算法
yolov5旋转目标检测-遥感图像检测-无人机旋转目标检测-附代码和原理
yolov5旋转目标检测-遥感图像检测-无人机旋转目标检测-附代码和原理
|
人工智能 Java Android开发
全面了解CPU Profiler:解读CPU性能分析工具的核心功能与用法
**==Traceview==** 是一个用于分析应用程序性能的工具,用来分析函数调用过程。 **==CPU Profiler==** 是 集成在Android Studio 3.2版本之后的Android Profiler工具当中,实时记录展示 App cpu消耗,用来替代Traceview。
1474 3
|
人工智能 编解码 机器人
硬核解读Stable Diffusion(3)
硬核解读Stable Diffusion