超强AI辅助工具:BitoCLI的简单使用

今天要推荐一个爱不释手的好东西–Bito;

从事相关工作的人大概率在自己的代码编辑器中已经用上了Bito的插件版本,所以这里主要介绍的是一个适合与所有人且方便快捷的Bito CLI,也就是Bito的命令行版本。

BitoCLI

image-20231104205003234

从官方介绍来看,这是一款为 Bito AI 聊天功能提供命令行界面。CLI一个明显的好处就是安装方便,不需要额外打开其他程序,直接嵌入命令行,使用简单的指令即可触发。

安装

由于自己是Windows系统,这里主要介绍该系统的安装方式,其他系统的安装方法也很简单,文末会附上开源地址,官方的安装说明一看就会系列。

如果你也是Windows,可以通过 MSI 安装 Bito CLI。下载地址:https://github.com/gitbito/CLI/blob/main/version-3.5/Bito%20CLI.exe

如果链接打开缓慢也没关系,等下都会将需要的文件直接打包放公众号,回复Bito即可获取,一步到位。

拿到安装文件之后,双击打开,可如果你的电脑运行了自带的安全软件可能会出现下面的提示:

image-20231104210203934

允许运行之后就和平时安装软件一样等待他自己安装完成即可。

在执行下一步操作之前,需要去到Bito官方网站注册一个账号并创建一个工作空间,链接如下:https://bito.ai/

image-20231106191841859

点击登录之后,大致页面如下,接下来按照提示一步步使用邮箱注册好自己的账户即可,属于有手就行系列。

image-20231106192013803

完事之后打开电脑上的黑窗口(打开的方式有很多,下面是其中一种)通过Windows自带的搜索功能直接打开。

image-20231106193206246

窗口打开之后输入:bito即可开始运行bito命令行。下面是我打开之后的截图:

image-20231106193459321

如果你是第一次使用,那么界面必然和我的有差别,第一次使用会要求你输入之前注册好的邮箱地址完成一个登录校验的工作,步骤也不繁琐,会有提示引导,下面附上官方的一个录屏参考。

基本用法

等待状态下,直接输入你需要提问的内容,输入结束之后按下:Ctrl+D等待响应即可。

下面是几个简单例子

image-20231106201318716

高级用法

高级,指的是可以通过它来完成一些自动化的操作。

1.读取代码文件并作出解释:

bito –p 操作需求.txt -f code.js  // 读取并按照操作需求对指定代码文件进行自动化操作

命令中的xxx.txt是一个普通的文本文档,里面包含你需要Bito对后面的code.js代码文件进行的操作提示,或者说是要求;

而这里的code.js也只是一个示例,实际上它可以是任意的编程语言文档,看你咯;

我们下面创建一个提示文档以及使用cpp写一道算法题,甩给Bito,看它作何解释。

  • Tips.txt
如何理解下面的代码?
  • LinkList.cpp
#include <stdio.h>
#include <stdlib.h>typedef struct Node {int data;struct Node* next;
} Node, *LinkList;LinkList createList() {LinkList head = (LinkList)malloc(sizeof(Node));  // 创建头节点head->next = NULL;  // 头节点的指针域初始化为NULLreturn head;
}int getLength(LinkList head) {int count = 0;         // 计数器初始化为0Node* p = head->next;  // 从链表的第一个节点开始遍历while (p != NULL) {count++;      // 计数器加1p = p->next;  // 指针指向下一个节点}return count;  // 返回计数器的值
}int getElement(LinkList head, int index) {int count = 0;         // 计数器初始化为0Node* p = head->next;  // 从链表的第一个节点开始遍历while (p != NULL) {if (count == index) {return p->data;  // 当计数器等于给定索引时,返回当前节点的数据}count++;      // 计数器加1p = p->next;  // 指针指向下一个节点}return -1;  // 如果链表长度不足,返回-1表示查找失败
}int getIndex(LinkList head, int value) {int count = 0;         // 计数器初始化为0Node* p = head->next;  // 从链表的第一个节点开始遍历while (p != NULL) {if (p->data == value) {return count;  // 当前节点的数据等于给定元素时,返回当前节点的位置}count++;      // 计数器加1p = p->next;  // 指针指向下一个节点}return -1;  // 如果链表中没有给定元素,返回-1表示查找失败
}int main() {LinkList head = createList();              // 创建链表Node* p = head;                            // 定义指针p指向头节点int data[] = {1, 2, 3, 4, 5};              // 测试数据int len = sizeof(data) / sizeof(data[0]);  // 计算测试数据的长度for (int i = 0; i < len; i++) {Node* newNode = (Node*)malloc(sizeof(Node));  // 创建新节点newNode->data = data[i];                      // 设置新节点的数据newNode->next = NULL;  // 新节点的指针域初始化为NULLp->next = newNode;     // 将新节点插入链表p = p->next;           // p指向新节点}printf("链表的长度为:%d\n", getLength(head));  // 输出链表的长度printf("索引为2的元素为:%d\n", getElement(head, 2));  // 输出索引为2的元素printf("元素3所在的索引为:%d\n", getIndex(head, 3));  // 输出元素3所在的索引return 0;
}

执行之后的结果如下:

image-20231106204317080

可以看到,这个解释基本没什么问题,这只是一个简单的例子,实际上Bito能理解的难度还可以远大于示例。

注意,这段指令必须在非交互界面执行,也就是不需要先输入Bito打开交互模式就可以直接执行。

当然,还有一种方式,读取需求文件去理解命令行直接输入的代码内容:

image-20231106205027788

上面这些只是一些基本的使用技巧,如果你熟悉并使用Linux系统,那么搭配上这款BitoCLI,将会直接起飞。

有一说一,命令这种东西其实和非窗口系统搭配会更如虎添翼些,本文没有涉及这方面的内容是因为,Windows操作系统是目前大部分玩家的系统,所以这算是一篇 科普 类的文章。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/795596.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

卸载不留痕,App Cleaner Uninstaller助你打造清爽Mac

在数字时代&#xff0c;我们的Mac设备上积累了大量的应用程序&#xff0c;其中一些可能不再需要或不再使用。随着时间的推移&#xff0c;这些不再使用的应用程序可能会占用宝贵的存储空间&#xff0c;影响设备的性能。为了解决这个问题&#xff0c;App Cleaner & Uninstall…

【C+ +初阶】前言篇章---C+ +的广袤

目录 1.C语言到C的过渡 2.C的发展历程 2.1C语言的诞生 2.2 c的历史版本 3.c 的地位 4. c的应用场景 4.1. 操作系统以及大型系统软件开发 所有操作系统几乎都是C/C写的 4.2. 服务器端开发 后台开发&#xff1a; 4.3. 游戏开发 4.4. 嵌入式 4.5. 数字图像处理 4.6. 人工智能 4.7.…

初始Java篇(JavaSE基础语法)(6)(继承和多态)(上)

Java学习篇 个人主页&#xff08;找往期文章包括但不限于本期文章中不懂的知识点&#xff09;&#xff1a;我要学编程(ಥ_ಥ)-CSDN博客 目录 继承篇 为什么需要继承&#xff1f; 继承概念 继承的语法 父类成员访问 super关键字 子类构造方法 super和this的比较 再谈…

深度学习十大算法之深度Q网络(DQN)

一、简介 深度Q网络&#xff08;DQN&#xff09;是一种结合了深度学习和强化学习的算法&#xff0c;它在近年来成为了人工智能领域的一个热点。DQN首次被引入是在2013年&#xff0c;由DeepMind的研究人员开发。它标志着深度学习技术在解决高维度决策问题上的一大突破。 DQN的…

Python可视化之pandas

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1.解决坐标轴刻度负号乱码2.解决中文乱码问题3.折线图Series.plot()&DataFrame.plot()4.条形图5.箱线图6.区域面积图&#xff08;堆积折线图&#xff09;7.散点…

Ideal的使用技巧

一、springcloud项目如何将多个服务放到services中一起启动 1、打开ideal&#xff0c;再view -> Tool Windows -> services 2、在services界面 找到 run configuration type -> springboot即可 二、配置临时的启动参数 1、在edit configurations中 2、选择相应的服务…

关于Linux下的进程状态(进程篇)

目录 Linux操作系统的一般进程状态 关于阻塞 关于挂起 Linux内核状态源代码&#xff1a; 关于僵尸进程 关于孤儿进程 Linux操作系统的一般进程状态 新建&#xff1a;字面意思运行&#xff1a;task_struct结构体在运行队列中排队&#xff0c;就叫做运行态阻塞&#xff1a;等待非…

基于springboot实现学科竞赛管理系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现学科竞赛管理系统演示 摘要 随着国家教育体制的改革&#xff0c;全国各地举办的竞赛活动数目也是逐年增加&#xff0c;面对如此大的数目的竞赛信息&#xff0c;传统竞赛管理方式已经无法满足需求&#xff0c;为了提高效率&#xff0c;竞赛管理系统应运而生。…

计算机语言 之【C++】入门级知识讲解(命名空间,C++输入输出,缺省参数,函数重载,引用,内敛函数,auto关键字,for循环,指针空值nullptr)

三点睡六点起&#xff0c;阎王夸我好身体 不到三点我不睡&#xff0c;太平间里抢C位 一、命名空间 1.命名空间的作用 2.命名空间定义 3.命名空间使用 二、C的输入输出 1.输入输出说明介绍 2.std命名空间的使用惯例 三、缺省参数 1.缺省参数概念 2.缺省参数分类 四、…

“Linux 三剑客”,通常指的是三个经典的命令行工具:grep、sed 和 awk

1、grep&#xff1a; 简介&#xff1a;grep 是一个强大的文本搜索工具&#xff0c;可以用于在文件中查找匹配特定模式的行。示例&#xff1a; 搜索包含特定关键词的行&#xff1a; grep "keyword" filename 递归搜索目录下所有文件&#xff1a; grep -r define zj…

C++要点细细梳理(下)(内存分配、异常处理、template和文件读写)

4. 类动态内存分配 4.1 C语言动态内存分配&#xff1a;malloc和free 4.2 C动态内存分配&#xff1a;new和delete 思考&#xff1a;定义一个对象和定义一个普通变量有何区别? 普通变量:分配足够空间即可存放数据对象:除了需要空间&#xff0c;还要构造/析构 类比&#xff1a;…

路由策略与路由控制之双点双向重发布(OSPF-ISIS)实验

双点双向重发布在路由协议中&#xff0c;特别是在OSPF&#xff08;开放式最短路径优先&#xff09;与IS-IS&#xff08;中间系统到中间系统&#xff09;等协议之间&#xff0c;指的是在两个协议间或者两个进程间进行路由信息共享的机制。这种机制涉及到在两个不同的协议区域使用…

isc-dhcp-server DNS配置

我遇到一个有趣的问题&#xff0c;我先在一台Ubuntu服务器上使用isc-dhcp-server在其其中一个网口运行DHCP服务&#xff0c;然后我自己的笔记本电脑直连到这个网口&#xff0c;来上网。 本来直接就应该能上网&#xff0c;但是我的电脑只有在打开Clash时才能访问互联网&#xf…

【STL】栈

笔者在做下面这道题的时候想到用栈&#xff0c;但写的很麻烦 代码&#xff1a; #include<bits/stdc.h> using namespace std; #define MAXC 255 typedef int SElemType; typedef struct StackNode {SElemType data;struct StackNode *next; }StackNode,*LinkStack; bool…

手机扫码获取文件怎么做?文件活码在电脑上的制作方法

现在很多人会把文件生成二维码之后&#xff0c;将二维码图片打印或者分享给其他人&#xff0c;通过扫描二维码的方式快速在手机上查看或者下载文件内容&#xff0c;从而提升文件传输的速度和效率。 制作文件活码二维码可以长期有效的扫码显示文件&#xff0c;支持多个文件存入…

如果在 Ubuntu 系统中两个设备出现两个相同的端口号解决方案

问题描述&#xff1a; 自己的移动机器人在为激光雷达和IMU配置动态指定的端口时&#xff0c;发现激光雷达和深度相机配置的 idVendor 和 idProduct 相同&#xff0c;但是两个设备都具有不同的ttyUSB号&#xff0c;如下图所示 idVendor&#xff1a;代表着设备的生产商ID,由USB设…

Linux第5课 Linux目录介绍

文章目录 Linux第5课 Linux目录介绍一、打开系统目录二、查看系统目录 Linux第5课 Linux目录介绍 系统目录就是指操作系统的主要文件存放的目录&#xff0c;目录中的文件直接影响到系统是否正常工作&#xff0c;了解这些目录的功能&#xff0c;对使用系统会有很大的帮助。 一…

c# wpf XmlDataProvider 简单试验

1.概要 2.代码 <Window x:Class"WpfApp2.Window12"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.microsoft.com/expression/blend…

NIO基础知识

在学习Netty之前先要学习一下NIO相关的知识&#xff0c;因为Netty是基于NIO搭建的一套网络编程框架。 一. NIO 基础 non-blocking io 非阻塞 IO 1. 三大组件 1.1 Channel & Buffer channel 有一点类似于 stream&#xff0c;它就是读写数据的双向通道&#xff0c;可以从…

Oracle 中 where 和 on 的区别

1.Oracle 中 where 和 on 的区别 on&#xff1a;会先根据on后面的条件进行筛选&#xff0c;条件为真时返回该行&#xff0c;由于on的优先级高于left join&#xff0c;所以left join关键字会把左表中没有匹配的所有行也都返回&#xff0c;然后生成临时表返回,执行优先级高于…