前言
实际上,随着人工智能技术的迅猛进步,大型模型训练所涵盖的行业和技术领域正在持续扩展。因此,通义灵码AI辅助编程助手的出现后,基于操作系统的AI辅助命令助手的诞生也就显得顺理成章了。我之前已经体验过操作系统智能助手OS Copilot,当时的感受可谓是惊艳。在过去,作为开发者,若要操作服务器,不懂相关命令就寸步难行。然而,有了智能助手OS Copilot,现在的操作变得截然不同。比如,当需要查找日志或搜索文件,却不清楚具体命令时,用户可以通过与OS Copilot进行自然语言对话来获取所需的操作指令,这一方式极大地提升了操作的便捷性。
那么什么是 智能助手OS Copilot?
智能助手OS Copilot
阿里云操作系统智能助手OS Copilot融合了大语言模型对自然语言的天然高效理解能力,并借助操作系统团队的深厚历史经验进行精细调整。它提供自然语言问答、辅助命令执行、系统运维调优等多重功能,旨在为Linux用户在学习和运维等多个领域带来专业、高效且智能的全新体验。
智能助手 OS Copilot,作为阿里云基于先进大模型打造的操作系统智能助手,不仅支持自然语言问答和辅助命令执行,还能在系统运维调优方面提供有力支持。它的出现,让Linux用户能够更加得心应手地运用系统,从而显著提升工作效率。
目前 智能助手 OS Copilot 支持的操作系统基本涵盖我们常用的操作系统,主要有以下:
在开始之前,先来简单了解一下 智能助手 OS Copilot 的基本功能。
OS Copilot 功能介绍
命令行自然语言问答
通过命令行自然语言问答,OS Copilot能够使用户在操作系统的命令行中直接输入自然语言表述的问题,从而提供与日常使用及操作系统领域相关的专业解答,提高用户的操作效率和整体体验。
辅助命令执行
Linux操作系统主要通过命令行进行日常使用和维护等操作。OS Copilot提供了辅助命令执行功能,帮助Linux的新手用户迅速掌握基本的使用技能。
阿里云CLI调用
阿里云CLI(Command Line Interface)是基于阿里云开放API建立的管理工具。借助此工具,您可以通过调用阿里云开放API来管理阿里云产品。OS Copilot支持用户在操作系统内便捷地调用阿里云CLI,能够通过命令行简单地查询ECS信息。
系统运维和调优
在操作系统使用中的重要场景是系统的运维和调优,操作系统的表现对于业务有着非常大的影响。OS Copilot可以通过自然语言调用相关系统运维及调优工具(特别是阿里云自研的系统工具),帮助用户轻松使用系统工具定位系统问题,提升系统性能。
开通ECS服务
在安装 智能助手 OS Copilot 之前,首先你要有一台云服务器ECS,如果你没有的话,或者你的账号也没有免费试用的话,那么你可以像我一样,购买一个【按量付费】的云服务器ECS即可。登录云服务器ECS控制台:,选择【实例】-【创建实例】
在云服务器ECS实例创建页面,选择【按量付费】【杭州地域】【网络及可用区】,如果网络及可用区没有的话,可以点击对应的【创建专有网络】、【创建交换机】完成创建之后再回到当前页面刷新就可以看到了
实例规格选择,这里可以选择基础的【经济型e】规格实例就可以了
镜像选择的话需要选择智能助手 OS Copilot 支持的几种操作系统下的镜像
系统盘的话我们选择 20GiB 就够用了,安全组默认,其他默认
在登录凭证设置的地方选择【自定义密码】,输入自定义密码,确认密码,其他默认,点击右侧的【确认下单】
完成云服务器ECS的创建,创建成功后,回到 云服务器ECS控制台,点击【实例】就可以看到我们刚才创建成功的云服务器ECS 了
安装 OS Copilot
在云服务器ECS控制台 点击【远程连接】-【立即登录】输入设置的自定义密码,登录云服务器ECS 操作控制台
执行命令 查看当前云服务器ECS 操作系统是否安装了 OS Copilot
rpm -q os-copilot
执行结果如图,表示没有安装 OS Copilot
执行如下命令 安装OS Copilot
sudo yum install -y os-copilot
看到如下内容表示 OS Copilot 安装成功
配置认证信息
完成了 OS Copilot 的安装之后,还需要配置认证信息,这里我们登录 RAM控制台,创建RAM角色并授权。选择【角色】-【创建角色】
在页面第一步选择 类型中 选中【阿里云服务】
点击【下一步】,在配置角色页面输入【角色名称】,选择授信服务为【云服务器】,点击【完成】
完成角色创建之后,点击页面的【为角色授权】跳转到角色授权页面,在角色授权页面,点击【新增授权】,为角色选择 AliyunSysOMOSCopilotAccess 权限
完成角色授权之后,回到 ECS管理控制台 ,点击实例名称,进入实例详情页
在云服务器ECS 实例详情页下拉找到【其他信息】-【RAM角色】,选择【授予/收回RAM角色】
在弹窗页面中,选择我们刚才创建的RAM角色,点击【确定】
到这里,准备工作就完成了。下面开始体验我们的智能助手 OS Copilot 。这里需要说明一点
使用OS Copilot
这里我们首先体验一下 OS Copilot 基础命令模式,也叫做 单命令模式。
单命令模式
单命令模式是指copilot
或者co
命令后面直接跟问题描述,命令执行完成即退出。输入命令
co --help
可以看到具体的执行结果
其中相关重点参数说明如下
可以看到这里看是建议我进行第二种方式的认证操作,不知道具体我第一种方式的认证哪里不对,如果不按照这上面提的第二种认证方式操作的话,执行 co 自然语言命令会提示如下
这里我补充第二种方式认证,点击 用户信息下的 AccessKey 进入管理页面
在 AccessKey管理页面,点击【创建AccessKey】,创建完成之后复制并保存 AccessKey ID、AccessKey Secret
回到云服务器ECS操作页面执行命令
export ALIBABA_CLOUD_ACCESS_KEY_ID=<AccessKey ID> export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<AccessKey Secret>
导入刚才创建的 AccessKey ID、AccessKey Secret,再次尝试,输入命令
co 系统时间
这里可以看到具体的返回效果
生成简单的执行命令,比如
co 当前目录下文件从大到小
可以看到 OS Copilot 给了我们两个命令可以选择,选择不同的命令查看执行结果
通过 co 命令来安装软件
co 安装mysql -t
这里我们可以看到 OS Copilot 通过对自然语言【安装mysql】的解析,分析得出需要 9步来完成mysql 数据库的安装,并给出了每一步执行命令的作用和解释,下面你只需要逐步输入1~9 的数字执行具体的命令就可以了
这里我按照命令的步骤,逐步输入1~9的数字安装mysql,这里我首先执行 1 更新系统软件,这里需要注意,命令执行过程中不能终止,等待命令执行结束
当然我们也可以让 OS Copilot 为我们写一个算法,正如在AI辅助代码助手那样的效果
co 用python写一个冒泡算法,保存到test.py,并编译执行 -t
执行后的效果如图
如果你想要使用 aliyun-cli软件,那么你也可以 安装aliyun-cli软件体验效果,执行命令
sudo dnf install aliyun-cli -y
aliyun-cli软件安装完成后效果如图
安装完成后使用AK/SK配置aliyun权限
aliyun configure
下面使用使用Copilot调用aliyun示例如下
co 查看下账号id XXXXXXXXX这个阿里云账号有哪些资源? -t
返回 如图效果
命令纠错
命令纠错是指在用户遇到命令执行错误的情况下,可以通过输入?或why命令来唤醒OS Copilot,以对错误进行解释并尝试修复,从而提供正确的命令。
首先需要执行 source /etc/os-copilot/fix_command_config.sh 配置
输入错误命令
growpart 3 /dev/vda
根据错误提示输入问号,这里的问号是 英文 的,中文的问号无法唤醒OS Copilot
?
交互模式
交互模式就是说,执行copilot或co命令进入交互模式,默认进入Chat模式,例如日常聊天一样的效果,比如
当然,你想问的你都可以在这里和 OS Copilot进行沟通,不仅仅限于服务器的操作相关,写代码,写诗,或者是日常生活相关的都可以问,可以理解为一个AI助手
其他操作
这里除了上面的操作,我们来对比一下co 命令 -t 和 co 命令 不加 -t 的具体差别感受一下,执行命令
co 当前系统健康度
这里没有 -t 我们可以看到OS Copilot 给我们的反馈,我们选择输入具体的 数字 来执行具体的命令查看系统健康度
改变命令,增加 -t之后的命令如下
co 当前系统健康度 -t
这里可以看到加了 -t 之后直接指定进入agent模式,使得OS Copilot自动调用注册工具完成任务,而不用再次指定执行命令了
我们再来体验一下 -f 的操作,这里需要首先创建两个内容不同的文件 test.txt test2.txt 以及 task 文件,,通过命令
co -f task -t
通过执行命令 co -f task -t 可以帮助用户快速的从文件中读取复杂任务进行处理,而不用人工进行处理,大大的提高运维效率。
当然如果你不明白一些参数的含义,我们还可以通过使用管道,简化解释参数的含义,比如上面的命令
cat task|co 解释下这些参数的含义
通过使用管道可以直接读取文件内部的具体命令的参数的含义并给出解释说明,方便快速理解脚本内容。
到这里,整个关于 智能助手OS Copilot 的操作就结束了,整体上功能比上一次体验已经有了很大的完善,功能上也更加强大好用了。
写在最后
我是一位(开发工程师),虽然我平时工作 涉及不多 云资源的运维和管理。
但是为了更好的做好工作,我还是会接触一部分的云资源管理,在本次测评中,我 顺利使用了 OS Copilot的 -t/-f/管道 功能,我的疑惑是在配置认证信息时,我通过页面云服务器ECS控制台配置授权后,为什么还是一直提示下面的错误
重启云服务器实例或者再次打开远程登录连接页面也还是不行,后来通过方式而 export 的方式通过配置 ALIBABA_CLOUD_ACCESS_KEY_ID 和 ALIBABA_CLOUD_ACCESS_KEY_SECRET 的方式才解决了问题,可以继续后面的操作,具体为什么会这样也是我一直想不明白的。
在后面的操作过程中基本上比较顺利,这一次的操作体验也比上一次有了很大的提升,智能助手OS Copilot 的单命令模式,以及本次体验的命令纠错模式,感觉很实用,在日常云服务器资源管理过程中可以大大节省操作时间,降低操作难度。
我认为 -t 功能有用 ,-t功能可以直接通过自然语言的方式执行返回我们需要的结果,而不是像没有 -t 时,需要自己再次确认执行命令的数字 ,对于云资源管理人员,需要可以读懂每个数字对应的命令的意义,才知道具体选择执行哪个数字。而加了 -t 之后直接就返回你自然语言想要得到的结果,大大提升云资源管理的效率。
我认为 -f 功能有用 ,-f 功能的用处就是可以从文件中读取复杂任务进行处理,当你的脚本内容很复杂并且你作为非专业人员不好理解的时候,那么你就可以通过 -f 命令来执行任务,最后在你不懂的情况下依然完成了复杂任务的处理,可以让云资源的维护难度大幅降低,从而为企业节省运维成本。
我认为 管道 功能有用 ,管道功能的作用就是通过使用管道可以简化解释参数的步骤,这个对于非运维专业的用户还是比较有用的,有助于快速理解执行内容的具体参数用途相关内容。
此外,我还有建议,我的建议就是说,能否把 智能助手OS Copilot 的能力嵌入到云服务器ECS控制台,可以通过页面功能操作,或者是直接在页面打开命令窗口,通过对话的方式来管理云服务器资源,而不用通过远程连接连接云服务器之后再操作,这样的话就是可以减少操作复杂度,通过页面直接操作也更简化一些。