草庐IT

Bito AI: 一个号称提升 100x 工作效率的 IDEA 插件

了不起 2024-06-01 原文

说到最近 AI 编程工具,你能想到的都是什么?Github Copilot?Cursor?CodeWhisperer?还是原生的 ChatGPT 呢?这几种工具都有各自的特色。

Github Copilot 确实不错,虽然目前可以免费试用,不过在试用期过后就需要付费订阅;Cursor 则需要下载 IDE,对于大部分都还是在 IntelliJ IDEA 上面开发的 Java 程序员来说,切换一个开发工具还是很麻烦的;而 CodeWhisperer 更侧重于应用程序的架构设计。

所以目前最好的一个方案就是在 IntelliJ IDEA 中以插件的形式存在,这一点 Bito 就很好的支持的,除了支持 IDEA 之外还支持 VS Code 以及 Chrome 浏览器扩展,更重要的是对于个人用户是可以免费使用而且不需要任何魔法。

Bito 是什么

通过官网我们可以知道 Bito AI 是一种软件工具,通过将 GPT-4 和 ChatGPT 引入 IDE、Chrome 浏览器和 CLI 等开发工具中,帮助开发人员大大加快其工作效率。

它使用 OpenAI 的模型,开发者不需要 OpenAI 密钥,Bito AI可以轻松编写代码、理解语法、编写测试用例、解释代码、注释代码、检查安全性,甚至解释高级概念。

Bito 可以做什么

可以询问任何技术问题,包括生成代码、命令语法、测试用例、解释代码、注释方法、改善性能、检查安全性和解释概念等方面。比如可以问:Java 中用来将数字从一种进制转换为另一种的代码?或者:使用 GO 实现一个简单的 REST API 的代码。

Bito IDEA 插件安装

安装很见简单,在 IDEA 的设置和插件中进行搜索 Bito 就可以找到,一键安装即可。Bito AI - Be a 100x dev and save an hour a day! 

下载安装完成,在 IDEA 的右侧栏中会出现一个 Bito 栏,我们点击一下,点击过后会提示你注册,我们只要输入一个邮箱就可以进行注册,注册的时候会给邮箱发送一个验证码,只要输入验证码就可以注册成功。

注册成功过后会有提示创建一个工作空间,然后会让邀请协作者,我们跳过就好,一切都完成过后就会看到下面的界面,此时说明我们已经可以开始智能编程了。

测试

比如我们让 Bito 来帮我们写一个 Java 版本的二分查找算法,整体提问和回答的效果如下

可以看到 Bito 可以根据我们的提示来进行代码的编写和修复,整个过程花费不到一分钟的时间就完成了。整个过程非常丝滑,不需要切换软件就可以完成。

还可以帮我们解释代码,如下所示

将需要解释的代码发送过去,并让 Bito 进行解释,可以看到解释的很详细。不过目前还有个不是很友好的地方,那就是如果英文不好的话,不能直接使用 Bito 的快捷键,比如如果直接使用下面的这种方式,Bito 给出的回答是会默认按照英文来解释的。

VS Code 中的插件也是类似,了不起这边没有安装 VS Code 就不给大家演示了,感兴趣的可以自己研究。

Bito Chrome 扩展

Bito 的 Chrome 扩展的安装也很简单,我们直接在 Chrome Extension 中进行搜索安装就好

安装完成过后也是一样的用邮箱进行注册登录就好,后面的使用就跟插件里面一样的,感兴趣的可以自己去尝试尝试。

Bito 的安全

使用这种 AI 编程助手,我们要注意的是数据的安全,在 Bito 的官网我们可以看到下面的说明

通过 Learn more 我们可以看到更加详细的安全说明。

主要分为三个部分

Bito AI 助手

文章中提到 Bito 这边是不会存储任何输入的代码,但是我们选中的代码会被发送到服务器上面的进行处理。Bito 生成的所有响应也只会存储在本地,我们随时可以进行删除。

子处理器

Bito 使用第三方服务,如 Amazon AWS、OpenAI、Google Analytics、SendGrid 和 Slack API 来提供基础设施和功能能力。

个人数据

Bito遵循行业标准惯例来保护您的电子邮件和其他个人详细信息。我们通过一次性口令认证登录过程来实现无密码登录——这需要在每次登录时发送到您的电子邮件的一次性密码,以确保您的账户得到完整的安全保护。

不过话说回来,虽然官方是这样说但是底层还是用的 OpenAi 等三方的模型,我们的代码还是会被发送到三方的,因此大家还是要注意数据隐私安全,尽量只在开源项目中使用,避免公司内部代码泄露!

有关Bito AI: 一个号称提升 100x 工作效率的 IDEA 插件的更多相关文章

  1. ruby-on-rails - 由于 "wkhtmltopdf",PDFKIT 显然无法正常工作 - 2

    我在从html页面生成PDF时遇到问题。我正在使用PDFkit。在安装它的过程中,我注意到我需要wkhtmltopdf。所以我也安装了它。我做了PDFkit的文档所说的一切......现在我在尝试加载PDF时遇到了这个错误。这里是错误:commandfailed:"/usr/local/bin/wkhtmltopdf""--margin-right""0.75in""--page-size""Letter""--margin-top""0.75in""--margin-bottom""0.75in""--encoding""UTF-8""--margin-left""0.75in""-

  2. ruby-on-rails - 'compass watch' 是如何工作的/它是如何与 rails 一起使用的 - 2

    我在我的项目目录中完成了compasscreate.和compassinitrails。几个问题:我已将我的.sass文件放在public/stylesheets中。这是放置它们的正确位置吗?当我运行compasswatch时,它不会自动编译这些.sass文件。我必须手动指定文件:compasswatchpublic/stylesheets/myfile.sass等。如何让它自动运行?文件ie.css、print.css和screen.css已放在stylesheets/compiled。如何在编译后不让它们重新出现的情况下删除它们?我自己编译的.sass文件编译成compiled/t

  3. ruby - 使用 Vim Rails,您可以创建一个新的迁移文件并一次性打开它吗? - 2

    使用带有Rails插件的vim,您可以创建一个迁移文件,然后一次性打开该文件吗?textmate也可以这样吗? 最佳答案 你可以使用rails.vim然后做类似的事情::Rgeneratemigratonadd_foo_to_bar插件将打开迁移生成的文件,这正是您想要的。我不能代表textmate。 关于ruby-使用VimRails,您可以创建一个新的迁移文件并一次性打开它吗?,我们在StackOverflow上找到一个类似的问题: https://sta

  4. ruby-on-rails - Rails - 一个 View 中的多个模型 - 2

    我需要从一个View访问多个模型。以前,我的links_controller仅用于提供以不同方式排序的链接资源。现在我想包括一个部分(我假设)显示按分数排序的顶级用户(@users=User.all.sort_by(&:score))我知道我可以将此代码插入每个链接操作并从View访问它,但这似乎不是“ruby方式”,我将需要在不久的将来访问更多模型。这可能会变得很脏,是否有针对这种情况的任何技术?注意事项:我认为我的应用程序正朝着单一格式和动态页面内容的方向发展,本质上是一个典型的网络应用程序。我知道before_filter但考虑到我希望应用程序进入的方向,这似乎很麻烦。最终从任何

  5. ruby-on-rails - 渲染另一个 Controller 的 View - 2

    我想要做的是有2个不同的Controller,client和test_client。客户端Controller已经构建,我想创建一个test_clientController,我可以使用它来玩弄客户端的UI并根据需要进行调整。我主要是想绕过我在客户端中内置的验证及其对加载数据的管理Controller的依赖。所以我希望test_clientController加载示例数据集,然后呈现客户端Controller的索引View,以便我可以调整客户端UI。就是这样。我在test_clients索引方法中试过这个:classTestClientdefindexrender:template=>

  6. ruby - 如何每月在 Heroku 运行一次 Scheduler 插件? - 2

    在选择我想要运行操作的频率时,唯一的选项是“每天”、“每小时”和“每10分钟”。谢谢!我想为我的Rails3.1应用程序运行调度程序。 最佳答案 这不是一个优雅的解决方案,但您可以安排它每天运行,并在实际开始工作之前检查日期是否为当月的第一天。 关于ruby-如何每月在Heroku运行一次Scheduler插件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8692687/

  7. ruby-on-rails - 无法使用 Rails 3.2 创建插件? - 2

    我对最新版本的Rails有疑问。我创建了一个新应用程序(railsnewMyProject),但我没有脚本/生成,只有脚本/rails,当我输入ruby./script/railsgeneratepluginmy_plugin"Couldnotfindgeneratorplugin.".你知道如何生成插件模板吗?没有这个命令可以创建插件吗?PS:我正在使用Rails3.2.1和ruby​​1.8.7[universal-darwin11.0] 最佳答案 随着Rails3.2.0的发布,插件生成器已经被移除。查看变更日志here.现在

  8. ruby - 无法让 RSpec 工作—— 'require' : cannot load such file - 2

    我花了三天的时间用头撞墙,试图弄清楚为什么简单的“rake”不能通过我的规范文件。如果您遇到这种情况:任何文件夹路径中都不要有空格!。严重地。事实上,从现在开始,您命名的任何内容都没有空格。这是我的控制台输出:(在/Users/*****/Desktop/LearningRuby/learn_ruby)$rake/Users/*******/Desktop/LearningRuby/learn_ruby/00_hello/hello_spec.rb:116:in`require':cannotloadsuchfile--hello(LoadError) 最佳

  9. ruby-on-rails - 如果 Object::try 被发送到一个 nil 对象,为什么它会起作用? - 2

    如果您尝试在Ruby中的nil对象上调用方法,则会出现NoMethodError异常并显示消息:"undefinedmethod‘...’fornil:NilClass"然而,有一个tryRails中的方法,如果它被发送到一个nil对象,它只返回nil:require'rubygems'require'active_support/all'nil.try(:nonexisting_method)#noNoMethodErrorexceptionanymore那么try如何在内部工作以防止该异常? 最佳答案 像Ruby中的所有其他对象

  10. ruby - 为什么 SecureRandom.uuid 创建一个唯一的字符串? - 2

    关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion为什么SecureRandom.uuid创建一个唯一的字符串?SecureRandom.uuid#=>"35cb4e30-54e1-49f9-b5ce-4134799eb2c0"SecureRandom.uuid方法创建的字符串从不重复?

随机推荐