比ChatGPT4o更“聪明”的甜点级OS Copilot

本文涉及的产品
无影云电脑个人版,1个月黄金款+200核时
资源编排,不限时长
无影云电脑企业版,4核8GB 120小时 1个月
简介: 总体来说,OS Copilot的命令行模式非常适合小白学习Linux使用,但是还不够成熟,在复杂情景下存在一定出错率,有很大进步空间。但是在部分基本常识方面秒杀部分人类和ChatGPT4o,很让我惊喜。目前OS Copilot只能用在Alibaba Cloud Linux 3有点遗憾,希望未来能够支持更多的操作系统、增加跨会话的联动功能。此外,OS Copilot作为阿里云生态的产品完全可以与安骑士和云平台的运维监控等功能打通提供更多数据能力。

比ChatGPT4o更“聪明”的甜点级OS Copilot

在写这篇文章时OS Copilot已经安装部署完毕并且正常运行了,我新开通了一台ECS来完成本次评测,以常用情景切入进行评价。如果你还没有安装可以参阅官方的帮助文档,那里有很详细的说明:https://help.aliyun.com/zh/alinux/user-guide/instructions-for-os-copilot

场景一:Linux系统上采集监控日志以FTP的方式上传至日志服务器

Prompt:我需要在Linux操作系统中安装FTP客户端。其次在服务器中创建Linux.bat,获取服务器时间、Hostname、文件系统使用率、文件系统、节点使用率、内存、CPU、进程使用率等服务器信息并写入指定的文件内,最后使用FTP上传至日志服务器中。请给出解决方案。

image.png

[Copilot]:

    Alibaba Cloud Linux 3 上安装 FTP 客户端可以使用 `yum` 命令来安装 `filezilla`

 

```bash

sudo yum install filezilla -y

```

 

接下来,你需要在服务器上编写一个名为 `Linux.bat` 的脚本(请注意,在Linux中我们通常使用`.sh`扩展名表示脚本)。这个脚本将获取服务器的时间、hostname、文件系统使用率等信息,并将其写入到一个名为 `server_info.txt` 的文件中。以下是一个简单的示例脚本:

 

```bash

#!/bin/bash

 

# 获取当前时间

current_time=$(date)

 

# 获取hostname

hostname=$(hostname)

 

# 获取文件系统使用率

df_output=$(df -h)

fs_usage=$(echo "$df_output" | awk 'NR==2 {print $5}')

 

# 获取文件系统

fs=$(echo "$df_output" | awk 'NR==2 {print $1}')

 

# 获取节点使用率

nodename=$(uname -n)

node_load=$(uptime | awk '{print $(NF-2)}')

 

# 获取内存使用情况

mem_total=$(free | grep Mem | awk '{print $2}')

mem_used=$(free | grep Mem | awk '{print $3}')

mem_percent=$(echo "scale=2; ($mem_used / $mem_total) * 100" | bc)

 

# 获取CPU使用情况

cpu_percent=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')

 

# 获取进程数量

process_count=$(ps axo comm | wc -l)

 

# 将所有信息写入文件

echo "Current Time: $current_time" > server_info.txt

echo "Hostname: $hostname" >> server_info.txt

echo "File System Usage: $fs_usage" >> server_info.txt

echo "File System: $fs" >> server_info.txt

echo "Node Name: $nodename" >> server_info.txt

echo "Node Load: $node_load" >> server_info.txt

echo "Memory Usage: $mem_percent%" >> server_info.txt

echo "CPU Usage: $cpu_percent%" >> server_info.txt

echo "Process Count: $process_count" >> server_info.txt

```

 

保存此脚本后,记得赋予执行权限:

 

```bash

chmod +x Linux.sh

```

 

然后运行此脚本来生成 `server_info.txt` 文件。

 

最后,你可以使用 FileZilla 客户端将 `server_info.txt` 上传到日志服务器。以下是基本步骤:

 

1. 打开 FileZilla

2. 在左侧栏中点击“站点管理器”(Site Manager)。

3. 点击“新建”(New Site)按钮。

4. 输入新站点的详细信息,包括主机名(Host)、用户名(User)、密码(Password)以及端口(Port,通常是21)。

5. 点击“连接”(Connect)按钮以连接到日志服务器。

6. 在右侧栏中浏览日志服务器上的目录。

7. `server_info.txt` 拖拽到右侧栏中的相应位置,或者右键点击目标目录,选择“上传”(Upload)。

 

注意:这些步骤假设你已经知道日志服务器的登录凭据和网络设置。如果没有,请与系统管理员联系以获取必要的信息。

 

[Copilot]发现如下命令:

    1. sudo yum install filezilla -y

    2. current_time=$(date)

  

       hostname=$(hostname)

  

       df_output=$(df -h)

       fs_usage=$(echo "$df_output" | awk 'NR==2 {print $5}')

  

       fs=$(echo "$df_output" | awk 'NR==2 {print $1}')

  

       nodename=$(uname -n)

       node_load=$(uptime | awk '{print $(NF-2)}')

  

       mem_total=$(free | grep Mem | awk '{print $2}')

       mem_used=$(free | grep Mem | awk '{print $3}')

       mem_percent=$(echo "scale=2; ($mem_used / $mem_total) * 100" | bc)

  

       cpu_percent=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')

  

       process_count=$(ps axo comm | wc -l)

  

       echo "Current Time: $current_time" > server_info.txt

       echo "Hostname: $hostname" >> server_info.txt

       echo "File System Usage: $fs_usage" >> server_info.txt

       echo "File System: $fs" >> server_info.txt

       echo "Node Name: $nodename" >> server_info.txt

       echo "Node Load: $node_load" >> server_info.txt

       echo "Memory Usage: $mem_percent%" >> server_info.txt

       echo "CPU Usage: $cpu_percent%" >> server_info.txt

       echo "Process Count: $process_count" >> server_info.txt

    3. chmod +x Linux.sh

 

[Copilot]: 请选择要执行的命令,从[1, 3]中进行选择,回复'n''no'进行取消,回复'r''retry'重新生成回答。

请输入:

评价:脚本生成的没有问题,但是FTP上传的部分存在问题,OS Copilot告诉我们应该使用 FileZilla 客户端将`server_info.txt` 上传到日志服务器然后给出了一连串FileZilla客户端的操作。问题在于这些操作在Windows系统中可行,Alibaba Cloud Linux 3根本没有图形化界面。OS Copilot在相对复杂的问题下表现不佳,但优化prompt表达能弥补部分缺陷。

该问题相对合理的方法是将通过FTP上传文件这一操作也写入脚本中。

# 设置FTP凭证(在实际环境中,这些变量应该在环境中设置) FTP_SERVER="192.168.1.90" FTP_USER=${FTP_USER:-"your_ftp_username"} FTP_PASS=${FTP_PASS:-"your_ftp_password"}

这个示例使用lftp工具,配置了FTPS传输,并包含了错误处理机制:

# 检查FTP凭证是否设置 if [ -z "$FTP_USER" ] || [ -z "$FTP_PASS" ]; then echo "FTP用户名或密码未设置" >&2 exit 1 fi # 使用lftp进行安全的FTPS上传 lftp -e " set ftp:ssl-allow yes open $FTP_SERVER user $FTP_USER $FTP_PASS put $filename -o ftp.log bye " || { echo "日志文件上传失败" >&2 exit 1 } echo "日志文件上传成功"

 

场景二:配置NFS服务

Prompt:配置NFS服务

[Copilot]:

    要在Alibaba Cloud Linux 3 上配置 NFSNetwork File System)服务,你需要按照以下步骤操作:

 

1. 首先,你需要安装 `nfs-utils` 包,它包含了 NFS 服务器所需的组件。使用 yum 工具来完成这个任务:

   ```bash

   sudo yum install nfs-utils

   ```

 

2. 安装完成后,你需要编辑 NFS 的配置文件来指定哪些目录可以被共享。默认情况下,配置文件位于 `/etc/sysconfig/nfs` 。打开并编辑此文件:

   ```bash

   sudo vi /etc/sysconfig/nfs

   ```

   在 `[nfsv4]` `[nfsv4.1]` 段落下添加要共享的目录,比如:

   ```makefile

   # 共享目录路径及访问权限

   export_dir="/path/to/your/shared/directory"

   # 访问主机列表

   hosts_allow="*"

   ```

 

   保存并关闭文件。

 

3. 创建一个你要共享的目录(如果尚未创建),并设置适当的权限:

   ```bash

   sudo mkdir -p /path/to/your/shared/directory

   sudo chmod -R 777 /path/to/your/shared/directory

   ```

 

4. 开启并启用 NFS 服务:

   ```bash

   sudo systemctl start nfs-server

   sudo systemctl enable nfs-server

   ```

 

5. 如果你的网络防火墙是活跃的,可能需要开启 NFS 相关端口(通常是 TCP UDP 端口 2049)。可以使用 firewall-cmd 命令进行配置:

   ```bash

   sudo firewall-cmd --permanent --add-service=nfs

   sudo firewall-cmd --reload

   ```

 

6. 重启 NFS 服务以应用更改:

   ```bash

   sudo systemctl restart nfs-server

   ```

 

现在 NFS 服务已经配置好,其他系统可以通过网络访问你在第2步中指定的共享目录了。

 

注意:在实际生产环境中,强烈建议不要使用 `hosts_allow="*"` 这样宽松的访问控制,而是具体列出允许访问的IP地址或子网,以提高安全性。此外,确保为共享目录设置合适的权限,只允许必要的操作。

评价`nfs-utils` 包是Alibaba Cloud Linux 3 上默认安装的包,并且通过检索文件发现nfs配置文件并不位于 `/etc/sysconfig/nfs`,而在/etc/nfs.conf

image.png

场景三:小学数学

image.png

image.png

这是一个部分人类和ChatGPT4o都回答错误的小学数学题,我们看看OS Copilot表现如何。

image.png

Prompt13.11大于13.8评价:OS Copilot赢了,它用及其细致的分析告诉了我们13.11并没有大于13.8

总体来说

总体来说,OS Copilot的命令行模式非常适合小白学习Linux使用,但是还不够成熟,在复杂情景下存在一定出错率,有很大进步空间。但是在部分基本常识方面秒杀部分人类和ChatGPT4o,很让我惊喜。目前OS Copilot只能用在Alibaba Cloud Linux 3有点遗憾,希望未来能够支持更多的操作系统、增加跨会话的联动功能。此外,OS Copilot作为阿里云生态的产品完全可以与安骑士和云平台的运维监控等功能打通提供更多数据能力。

目录
相关文章
|
10天前
|
弹性计算 运维 架构师
初见阿里云 OS Copilot 评测
### 阿里云 OS Copilot 操作系统智能助手评测报告 **评测人员身份:山东云管家售前架构师** #### 1、功能体验 1. **基本命令**:`co --help` 显示了丰富的命令选项,支持交互模式和文件输入。 2. **健康检查**:使用 `-t` 参数可自动执行系统健康检查,简化操作流程,提升效率。 3. **批量任务**:通过 `-f` 参数读取文件中的复杂任务并自动执行,适合频繁运维需求。 4. **管道功能**:支持直接解析配置文件,快速理解并优化系统参数。 #### 2、总结与反馈 OS Copilot 具备高效性和易用性,特别适用于中高级运维工程师。但仍需改进对自
|
9天前
|
弹性计算 运维 自然语言处理
OS Copilot 深度测评报告
OS Copilot 是阿里云推出的一款基于大语言模型的操作系统智能助手,专为Linux用户设计。它结合了自然语言处理的最新成果和阿里云团队的实践经验,提供专业、高效、智能的操作体验。评测基于阿里云ECS实例进行,重点测试了-t、-f和管道参数功能,显著提升了性能与效率。用户反馈整体满意,建议增强稳定性和丰富帮助文档。OS Copilot为Linux用户带来了全新的交互方式和更高的工作效率。
34 14
OS Copilot 深度测评报告
|
9天前
|
移动开发 前端开发 测试技术
操作系统智能助手OS Copilot新功能
作为一名前端开发人员,我主要负责公司官网和H5页面的开发,包括页面构建、交互逻辑实现及性能优化。近期试用了Copilot,顺利安装并体验了其代理模式、读取文件和管道功能。通过这些功能尝试生成《黑客帝国》风格的代码瀑布流效果,并使用文件详细描述需求,取得了不错进展。然而,在使用管道功能解释C++代码时遇到了一些问题,需进一步探索解决。 以上内容简洁地介绍了我的工作职责以及Copilot的试用体验,包括顺利的部分和遇到的问题。
操作系统智能助手OS Copilot新功能
|
9天前
|
测试技术 数据库 开发工具
云产品评测|操作系统智能助手OS Copilot新功能
我是一名测试工程师,主要负责App和Web端的测试,有时会使用阿里云服务器进行服务端问题定位及数据库等云资源的操作。在使用OS Copilot过程中遇到了一些问题: 1. **命令执行失败**:在解决Vim中文乱码时,Copilot建议的命令看似正确,但实际并未创建或修改`.vimrc`文件。 2. **任务文件解析问题**:使用`-f`功能解析任务文件时,Copilot未能正确执行获取容器日志的任务。 3. **管道功能不稳定**:管道功能对文件内容解释有效,但在某些情况下需要更明确的提示词才能正常工作。
|
10天前
|
存储 弹性计算 人工智能
OS Copilot测评报告
OS Copilot 使用测评
OS Copilot测评报告
|
10天前
|
弹性计算 Ubuntu Linux
OS Copilot评测
本文介绍了OS Copilot的使用体验。
OS Copilot评测
|
10天前
|
人工智能 运维 应用服务中间件
OS Copilot测评报告
作为一名全栈开发,我在日常维护阿里云服务器时遇到了不少Linux操作难题。最近尝试了阿里云推出的OS Copilot,基于大模型的AI助手,大大简化了运维工作。通过简单的对话式命令,如“co nginx是否安装”和“co 将nginx设置为开启自启动 -t”,轻松完成任务。甚至可以通过文件定义复杂任务,如解析日志并提取攻击IP。OS Copilot显著提升了效率,降低了学习成本,真是运维利器!
61 24
|
9天前
|
弹性计算 人工智能 自然语言处理
操作系统智能助手OS Copilot新功能上线,快来体验吧
阿里云智能助手OS Copilot是一款基于大模型的Linux操作系统智能助手,支持自然语言问答、辅助命令执行、系统运维调优等功能。通过自然语言处理技术,OS Copilot能够帮助用户轻松完成复杂的命令操作和系统管理任务,极大提升了操作便捷性和效率。用户可以通过简单的对话获取所需的操作指令,降低了对专业技能的要求。
|
10天前
|
运维 监控
操作系统智能助手OS Copilot新功能测评报告
作为一名运维开发工程师,我主要负责公司服务器和云资源的管理、故障排查、监控和性能优化。日常工作中常用Ansible管理多台服务器,但需记忆大量命令参数,复杂任务还需编写脚本,较为繁琐。 总体来看,OS Copilot在处理简单任务和提供指导方面表现出色,但在复杂任务处理上仍需改进。
70 18
|
8天前
|
弹性计算 运维 JavaScript
操作系统智能助手OS Copilot新功能测评
本文介绍了使用co命令修改主机名称、安装Node环境及Vue项目的过程,以及遇到的脚本无限循环和任务执行失败等问题。通过co命令可以简化命令执行流程,但过程中遇到了一些问题,如日志读取报错和命令不正确等。最终通过简化任务和限制查询数据量解决了部分问题,并成功安装了Node环境和运行Vue项目。