OS Copilot测评-ALY

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云解析 DNS,旗舰版 1个月
简介: 完整体验体验助手OS Copilot , 多种模式均进行实际操作,且通过其进行工作代码优化,优化效果显著。

登录控制台

image.png

安装插件

sudo yum install -y os-copilot

效果如下
image.png

配置 AccessKey ID 与 AccessKey Secret

image.png
注意安全,使用完成后,别忘了去控制台删除,一般情况使用子Key就可以

检测是否可用

co hi

image.png

实际操作(当前为官方案例请求)

实操1(请求脚本写出 无问题)

co "请帮我写一个网络流量监控脚本,用python语言实现"

image.png
这里比较疑惑?
为什么不提供执行操作
image.png
当然官方案例也不是执行
代码保存
image.png

实操2 :(脚本解释 无问题)

cat test.py | co "请解释下每行代码的意思"

image.png
代码的解释是十分精彩,非常值得学习

实操3 :(对话模式 无问题)

co

进入对话模式
image.png
退出

exit

这个是较为精准的,能够读取到使用的系统环境,这十分有利于对于使用系统的帮助,相比于传统LLM模型需要手动输入配置环境,它自身进行读取,那处理问题的能力应该是更为准确的

实操4:(对话模式,代码模式,存在问题)

co
newcodegen

image.png
通过不同的关键词命令,进入不同的环境,对于对应的处理方案的选择是大大提升的。

给你一个字符串s,找到s中最长的回文子串。
示例1:
输入:s = "babad"
输出:"bab"
解释:"aba" 同样是符合题意的答案。

示例2:
输入:s = "cbbd"
输出:"bb"
提示:
1 <= s.length <= 1000
s仅由数字和英文字母组成

请用python语言实现

这里,我进行了输出触发操作
image.png
对于输出结果出现了一个问题,案例输出一直没有停止,最后手动结束的请求,这种案例输出可以先输出2~3个,由用户控制是否继续输出。
image.png
一直没有停止,最后手动进行的输出

个人案例请求示例

解析对应的工作脚本

准备资源,启动脚本
image.png

cat stms-a9qz.sh  | co "请解释下每行代码的意思"

image.png

cat minio_install.sh  | co "请解释下每行代码的意思"
    这是一个用于自动安装和配置Minio对象存储服务的shell脚本。让我们逐行解析:

1. `#!/bin/sh`:这是shebang,告诉系统这个文件应该使用哪个解释器来执行,这里是sh shell。

2-4. `echo -e "\033[44;37;1m************************************************************************\033[0m"``echo -e "\033[44;37;1m********************   Minio 安装与配置   ******************\033[0m"``echo -e "\033[44;37;1m************************************************************************\033[0m"`:这三行使用ANSI转义序列创建彩色的标题,分别表示开始和结束的边框以及中间的文本,颜色为蓝色背景白色字体。

5. `packet_path=`pwd``:获取当前工作目录的路径,并将其赋值给变量`packet_path`6-9. `minio_user='Minio'``minio_password='Minio$218'``minio_port="9000"``minio_console_port="9001"`:定义一些常量,包括Minio的用户名、密码、服务器端口号和控制台端口号。

10-12. `minio_home="/home/minio"``minio_data_path="$minio_home/data"``minio_start_script="$minio_home/start_minio.sh"`:设置Minio的主目录、数据存储路径和启动脚本路径。

13-18. `minio_pid=$(pgrep -f "minio server")``if [ -n "$minio_pid" ]; then``echo -e "\033[34m正在检查 Minio 服务...\033[0m"``kill "$minio_pid"``sleep 2``fi`:查找运行中的Minio进程并杀死它,然后等待两秒以确保完全停止。

19. `echo ""`:打印一个空行。

20-21. `echo -e "\033[34m******************** 正在安装配置 Minio ********************\033[0m"`:显示一条消息,表示即将安装和配置Minio。

22-26. `if [ -d "$minio_data_path" ]; then``backup_path="${minio_data_path}_backup_$(date +%Y%m%d%H%M%S)"``echo "minio数据目录已存在,正在备份原目录到 $backup_path"``mv "$minio_data_path" "$backup_path"``fi`:如果发现已有数据目录,则创建一个带日期时间戳的备份。

27. `mkdir -p "$minio_data_path"`:创建一个新的数据目录,如果不存在的话。

28. `echo "操作完成。"`:打印一条消息,表示当前步骤的操作已完成。

29-32. `cp -f "${packet_path}/minio_package/minio" $minio_home/``chmod +x $minio_home/minio`:复制Minio二进制文件到指定目录,并赋予执行权限。

33-38. `echo "#!/bin/sh"$'\n'"export MINIO_ROOT_USER='${minio_user}'"$'\n'"export MINIO_ROOT_PASSWORD='${minio_password}'"$'\n'"nohup $minio_home/minio server ${minio_data_path} --address=:${minio_port} --console-address=:${minio_console_port} >$minio_home/minio.log 2>&1 &' > $minio_home/start_minio.sh`、`chmod +x $minio_home/start_minio.sh`:创建一个启动脚本,包含Minio服务器的环境变量和启动参数,然后赋予执行权限。

39-42. `echo ""``echo -e "\033[34m******************** 启动 Minio ********************\033[0m"``\$minio_home/start_minio.sh``fi`:启动Minio服务。

43-46. `firewall-cmd --permanent --add-port=${minio_port}/tcp > /dev/null 2>&1`、`firewall-cmd --permanent --add-port=${minio_console_port}/tcp > /dev/null 2>&1`、`firewall-cmd --reload > /dev/null 2>&1`:打开防火墙的Minio服务器端口和控制台端口。

47-52. `rc_num1=`grep "$minio_start_script" /etc/rc.d/rc.local | wc -l``if [ "${rc_num1}" == "0" ]; then``echo "$minio_start_script" >> /etc/rc.d/rc.local``echo "已将 Minio 启动脚本添加到 /etc/rc.d/rc.local 中,确保开机启动"``else``echo "Minio 启动脚本已在 /etc/rc.d/rc.local 中,无需重复添加"``fi`:检查Minio启动脚本是否已经存在于rc.local文件中,如果没有,将其追加进去。

53-59. `echo -e ""``echo -e "\033[34m********** 测试 Minio 可用性 (http://127.0.0.1:${minio_port}) ************\033[0m"``echo -e ""``sleep 3s``flag1=`curl -o /dev/null -s -w %{http_code} http://127.0.0.1:${minio_port}/minio/`、`if [ $flag1 = "200" ]; then`、`echo -e "\033[32m http://127.0.0.1:${minio_port} 运行状态: OK \033[0m"`:测试Minio服务的可用性,通过发送HTTP请求到本地的Minio端口,并根据响应的状态码判断服务是否正常运行。

60-62. `else``echo -e "\033[31m http://127.0.0.1:${minio_port} 运行状态: ${flag1} \033[0m"``fi`:如果测试失败,输出错误信息。

63-65. `echo -e ""``echo -e "\033[32m******************** Minio 安装完成! ****************************\033[0m"``echo -e ""`:最后,输出成功安装的消息。

解释的很好,但是输出方式观感不佳

使用对话模式测试

[CHAT]: 当前 在 /temp有stms-a9qz.sh 和 minio_install.sh ,请你读取并解释他们间的关系

image.png
可能需要换种方式提问
[root@iZuf6iviwtz6ae6zipi92uZ temp]# cat stms-a9qz.sh | cat minio_install.sh | co "请解释下他们之间的关系"

  1. 环境变量设置
    • packet_path:获取当前工作目录。
    • minio_userminio_passwordminio_portminio_console_portminio_homeminio_data_pathminio_start_script:定义了Minio的相关参数,如用户名、密码、端口号、主目录、数据目录以及启动脚本的路径。
  2. 停止Minio服务
    • 使用pgrep查找包含“minio server”的进程ID,并通过kill命令停止它。
  3. 安装和配置Minio
    • 检查数据目录是否存在,如果存在则备份至一个带时间戳的文件夹后删除原有目录。
    • 创建新的数据目录。
    • 将Minio二进制文件复制到指定目录,并赋予执行权限。
    • 创建Minio启动脚本,其中包括环境变量设置、Minio服务器的启动命令及日志重定向。
  4. 启动Minio
    • 执行创建的Minio启动脚本。
  5. 防火墙规则
    • 使用firewall-cmd命令永久打开Minio服务器和控制台的TCP端口,并重新加载防火墙规则。
  6. 确保Minio开机启动
    • 检查Minio启动脚本是否已经存在于 /etc/rc.d/rc.local 文件中,如果没有,则将其追加到文件末尾,以确保每次系统启动时自动运行。
  7. 测试Minio可用性
    • 使用curl命令尝试连接到Minio服务器的接口,根据返回的状态码判断服务是否正常运行。
  8. 输出结果
    • 根据测试结果,显示绿色或红色文本,表示Minio服务是否成功安装和运行。

这个脚本旨在简化Minio的部署过程,确保新用户可以快速、方便地在Linux环境中设置和运行Minio对象存储服务。

不知道该如何提问两个文件间的管理关系,毕竟工作种很多文件不是独立存在的。

脚本文件优化测试

minio_install.sh 脚本文件优化

[root@iZuf6iviwtz6ae6zipi92uZ temp]# cat minio_install.sh | co "优化脚本文件"

  1. 使用变量时,为了提高可读性和避免意外的值冲突,建议使用printf替代echo -e来插入转义序列。
  2. 使用更具体的错误信息,如在检测防火墙规则时,如果添加失败,应捕获并显示错误信息。
  3. 对于curl测试可用性的部分,可以简化输出语句。

下面是优化后的脚本:

#!/bin/bash

printf '\033[44;37;1m************************************************************************\033[0m\n'
printf '\033[44;37;1m********************   Minio 安装与配置   ******************\033[0m\n'
printf '\033[44;37;1m************************************************************************\033[0m\n'

packet_path=$(pwd)
minio_user='Minio'
minio_password='Minio$218'
minio_port="9000"
minio_console_port="9001"
minio_home="/home/minio"
minio_data_path="$minio_home/data"
minio_start_script="$minio_home/start_minio.sh"

# 停止 Minio 服务
minio_pid=$(pgrep -f "minio server")
if [ -n "$minio_pid" ]; then
  printf '\033[34m正在检查 Minio 服务...\033[0m\n'
  kill "$minio_pid"
  sleep 2  # 等待 Minio 完全停止
fi

# 安装 Minio
printf '\n\033[34m******************** 正在安装配置 Minio ********************\033[0m\n'

# 判断数据路径是否存在并备份
if [ -d "$minio_data_path" ]; then
  backup_path="${minio_data_path}_backup_$(date +%Y%m%d%H%M%S)"
  printf 'minio数据目录已存在,正在备份原目录到 %s\n' "$backup_path"
  mv "$minio_data_path" "$backup_path"
fi

# 创建新的数据目录
mkdir -p "$minio_data_path"

printf '操作完成。\n'

# 复制新的 Minio 文件
cp -f "${packet_path}/minio_package/minio" $minio_home/
chmod +x $minio_home/minio

# 创建 Minio 启动脚本
cat <<EOF > $minio_home/start_minio.sh
#!/bin/sh
export MINIO_ROOT_USER='${minio_user}'
export MINIO_ROOT_PASSWORD='${minio_password}'
nohup $minio_home/minio server ${minio_data_path} --address=:${minio_port} --console-address=:${minio_console_port} >$minio_home/minio.log 2>&1 &
EOF

chmod +x $minio_home/start_minio.sh

# 启动 Minio
printf '\n\033[34m******************** 启动 Minio ********************\033[0m\n'
$minio_home/start_minio.sh

# 开放 Minio 防火墙端口
firewall-cmd --permanent --add-port=${minio_port}/tcp || { printf '\033[31m防火墙添加 %s/tcp 端口失败,请手动检查!\033[0m\n' "$minio_port"; exit 1; }
firewall-cmd --permanent --add-port=${minio_console_port}/tcp || { printf '\033[31m防火墙添加 %s/tcp 端口失败,请手动检查!\033[0m\n' "$minio_console_port"; exit 1; }
firewall-cmd --reload || { printf '\033[31m防火墙重新加载失败,请手动重启防火墙!\033[0m\n'; exit 1; }

# 检查 Minio 启动脚本是否已在 rc.local 文件中
rc_num1=$(grep "$minio_start_script" /etc/rc.d/rc.local | wc -l)
if [ "${rc_num1}" -eq "0" ]; then
  printf '\n已将 Minio 启动脚本添加到 /etc/rc.d/rc.local 中,确保开机启动\n'
  echo "$minio_start_script" >> /etc/rc.d/rc.local
else
  printf 'Minio 启动脚本已在 /etc/rc.d/rc.local 中,无需重复添加\n'
fi

# 测试 Minio 可用性
printf '\n\033[34m********** 测试 Minio 可用性 (http://127.0.0.1:%s) ************\033[0m\n' "$minio_port"
sleep 3s
flag1=$(curl -o /dev/null -s -w '%{http_code}' http://127.0.0.1:$minio_port/minio/)

if [ "$flag1" = "200" ]; then
  printf '\033[32m http://127.0.0.1:%s 运行状态: OK \033[0m\n' "$minio_port"
else
  printf '\033[31m http://127.0.0.1:%s 运行状态: %s \033[0m\n' "$minio_port" "$flag1"
fi

printf '\n\033[32m******************** Minio 安装完成! ****************************\033[0m\n'

这段脚本做了以下改进:

  • 使用 printf 替换 echo -e 来插入颜色和格式。
  • 在添加防火墙规则后处理可能的错误。
  • 简化了测试 Minio 可用性后的输出。

stms-a9qz.sh 脚本文件优化

[root@iZuf68y60a8r143eb899nqZ ~]# cat stms-a9qz.sh | co "优化脚本文件"

  1. 将颜色变量定义放在函数外部,以便在整个脚本中复用。
  2. 使用 #!/usr/bin/env bash 替换 #!/bin/bash,以确保在不同的系统上也能正常运行。
  3. 使用绝对路径代替相对路径,以避免因工作目录改变导致的问题。
  4. 在执行命令后检查其退出状态,并使用条件语句简化逻辑。
  5. 对于提示菜单,可以考虑使用选择列表来提高用户体验。

下面是优化后的脚本:

#!/usr/bin/env bash

# 设置文本颜色
COLOR_RED='\E[1;31m'
COLOR_GREEN='\E[1;32m'
COLOR_YELLOW='\E[1;33m'
COLOR_BLUE='\E[1;34m'
COLOR_PINK='\E[1;35m'
COLOR_PINKBACK_WHITEFONT='\033[45;37m'
COLOR_GREEN_LIGHTNING='\033[32m \033[05m'
COLOR_END='\E[0m'

work_path=$(pwd)

if [ "$work_path" = "/" ]; then
    echo -e ""
    echo -e "${COLOR_BLUE}*************当前工作路径为:${work_path}**************${COLOR_END}"
    echo -e ""
    echo -e ""
else
    work_path="$work_path/"
    echo -e ""
    echo -e "${COLOR_BLUE}*************当前工作路径为:${work_path}**************${COLOR_END}"
    echo -e ""
    echo -e ""
fi

function mysql_install {
   
    source "$work_path/mysql8-generic.sh"
    menu
}

function jdk_install {
   
    mkdir -p "/home/sdzfp/"
    tar -xf "/path/to/jre-8u202-linux-x64.tar.gz" -C "/home/sdzfp"
    echo -e "${COLOR_GREEN}JRE8安装完成${COLOR_END}"
    menu
}

function sj_sql_import {
   
    mysql_root_pwd="A_isinojs#888"
    MYSQL_PWD="${mysql_root_pwd}" mysql -uroot stms < "$work_path/mysql8-generic/stms_3.0_20231030.1357_0_init.sql"
    if [ $? -eq 0 ]; then
        echo -e "${COLOR_GREEN}税金脚本导入成功${COLOR_END}"
    else
        echo -e "${COLOR_RED}税金脚本导入失败${COLOR_END}"
    fi
    echo ""
    menu
}

function tomcat_web {
   
    source "$work_path/tomcat_web.sh"
    menu
}

function minio {
   
    source "$work_path/minio_install.sh"
    menu
}

function menu {
   
    cat << EOF
${COLOR_GREEN}
**********************************目录***********************************
*                                        *
*    1、MySQL8安装                            *
*    2、JRE8安装                            *    
*    3、税金SQL脚本导入                        *
*    4、税金WEB安装-8091                        *
*    5、安装minio-9000
*    0、退出                                *
*                                        *
*                                        *
*            - 税金安装组合:1+2+3+4+5            *
*************************************************************************
EOF
    echo -en "${COLOR_GREEN}\t1,2,3,4${COLOR_END}"
    echo -n "或"
    echo -en "${COLOR_GREEN}\t5${COLOR_END}"
    echo -n "请选择输入:"
    read -n1 option
    echo ""
    echo ""

    case $option in
        0)
            exit
            ;;
        1)
            mysql_install
            ;;
        2)
            jdk_install
            ;;
        4)
            tomcat_web
            ;;
        3)
            sj_sql_import
            ;;
        5)
            minio
            ;;
        *)
            echo "" && echo -e "${COLOR_RED}输入错误,请重新输入数字!${COLOR_END}" && menu
            ;;
    esac
}

menu

请注意替换 /path/to/jre-8u202-linux-x64.tar.gz 为实际的 JRE 安装包路径。根据实际情况调整各个功能的源文件路径。这个优化过的脚本应该更易于阅读和维护。

删除Key 和 释放资源

CSDN 相关

1、OS Copilot 产品体验评测

1)您的角色是什么?开发、运维、学生?如果使用OS Copilot,您的使用场景是什么?
运维 ,工作使用
2)你觉得 OS Copilot 在新人上手方面是否简单、指引文档是否清晰、是否存在什么阻碍?
十分简单 清晰 无阻碍
3)OS Copilot 是否对您的工作有帮助?如果有帮助的话,帮助程度1-10分,能够打几分?
8 分
4)您愿意向周边朋友/工作伙伴推荐OS Copilot吗?如果OS Copilot开源,是否有意愿共同参与开发?包括参与OS领域大模型的训练等。
愿意

2、OS Copilot 产品功能反馈

1)您体验了哪些功能?对OS Copilot的哪些功能最感兴趣(知识问答、辅助编程、辅助命令执行等),为什么?
目前引导的全功能都测试了,最感兴趣文辅助编程
2)您有体验过其他类型的产品吗?对比其他产品OS Copilot有什么优缺点?
体验过其他LLM, OS Copilot 能够准确获取到当前使用的机器信息,和脚本优化功能十分出色

3)您希望OS Copilot能够扩展其他哪些功能呢?比如,支持更多的操作系统、自动命令报错原因分析、系统错误排查,或其他任何您想到的功能。
支持更多操作系统,和支持多文件关联解析

4)OS Copilot与其他产品联动组合的体验以及可能,如ACK智能助手、ECS、Workbench等,您也可以展开列举组合的实际应用场景。
ECS ,获取到当前ECS中的文件信息,可以关联解析多个文件更加符合工作需要

相关文章
|
24天前
|
人工智能 弹性计算 自然语言处理
AI奇思妙想之旅 —— 操作系统智能助手OS Copilot
AI奇思妙想之旅 —— 操作系统智能助手OS Copilot
182 1
|
16天前
|
存储 自然语言处理 搜索推荐
探索OS Copilot——那款让你瞬间变身超级用户、编程如呼吸般自然、文件管理如同魔法般的神奇操作系统辅助神器!
【9月更文挑战第4天】“OS Copilot”是一款高效的操作系统辅助软件,通过智能化手段简化电脑使用,涵盖智能命令建议、代码片段生成、文件管理及任务自动化等强大功能。其简洁的界面与友好的用户体验使其成为提升生产力的理想选择,无论是专业人士还是普通用户都能从中受益。从安装到实际应用都非常流畅,能显著提升工作效率,是优化数字生活的得力助手。
28 0
|
1月前
|
存储 自然语言处理 搜索推荐
【颠覆你的数字生活!】探索OS Copilot——那款让你瞬间变身超级用户、编程如呼吸般自然、文件管理如同魔法般的神奇操作系统辅助神器!
【8月更文挑战第8天】OS Copilot是一款新兴的操作系统辅助软件,通过智能化手段简化电脑使用,从办公到开发全面赋能。安装简易,启动即有引导教程。其智能命令建议功能,可在命令行输入时提供后续选项及其说明,特别适合Linux用户。内置代码片段生成器,根据需求或代码框架自动生成代码,大幅提升开发效率。文件管理助手支持批量操作且可预览结果,降低误操作风险。任务自动化功能便于设置重复性工作流程,如定时备份。搜索功能强大,支持自然语言查询。尽管尚有改进空间,OS Copilot已是提升生产力的得力助手。
95 5
|
2月前
|
弹性计算 Kubernetes 开发者
操作系统OS Copilot 产品体验评测
OS Copilot体验摘要: 开发者评价OS Copilot在软件开发和系统维护中提供帮助。新人易上手,界面直观,但高级功能说明不足。工具在编程时给出智能建议,提升效率,专长于操作系统任务。相比同类产品,如GitHub Copilot,OS Copilot在OS相关建议上更专业,但特定场景准确性待提高。期望增加更多操作系统支持及自动错误排查功能。适合与ACK智能助手等产品联动,提供云环境全面支持。
201 1
操作系统OS Copilot 产品体验评测
|
1月前
|
定位技术 开发者 Anolis
【开发者评测】操作系统OS Copilot获奖名单
操作系统OS Copilot获奖名单新鲜出炉!
167 2
|
2月前
|
弹性计算 运维 自然语言处理
启迪操作系统智慧的神:操作系统智能助手OS Copilot
OS Copilot 是阿里云针对Linux推出的一款智能助手,基于大模型构建,简化了Linux操作和运维工作。它支持自然语言问答,辅助命令执行,阿里云CLI调用以及系统运维和调优。这款工具特别适合初学者和运维人员,减少了对命令记忆的需求,通过对话式交互即可完成任务。
151 15
|
2月前
|
弹性计算 自然语言处理 Linux
开发者评测|OS Copilot:智能助手带来的高效开发体验
OS Copilot是阿里云的智能操作系统助手,支持自然语言问答、命令执行和系统运维。用户可通过在线实验或本地安装体验,尤其适合Alibaba Cloud Linux 3环境。在线体验免费,但可能产生少量费用。安装过程简单,通过Yum安装组件并配置环境变量即可使用。OS Copilot的对话模式允许用户通过&quot;co&quot;命令进行问答,如解释编程概念或执行系统任务。其自然语言处理能力强,适合开发者进行系统管理和问题解决。产品上手容易,文档清晰,但更多案例和教程会更利于新手。用户评价中,OS Copilot获得高分,有助于提高工作效率,期望未来能支持更多操作系统和提供更全面的功能。
4255 9
|
2月前
|
弹性计算 人工智能 运维
操作系统智能助手OS Copilot使用体验
作为一名开发者,开发中经常用到通义千问,这次按照使用手册对OS Copilot进行了一次简单的使用,根据使用手册走一边还是很顺利的,觉得使用体验上和通义千问差不多,会帮助你解决使用服务器过程中的问题,甚至可以帮助你编写代码。下面我记录一下使用OS Copilot的过程,以及过程中的问题。
|
2月前
|
弹性计算 运维 自然语言处理
操作系统智能助手OS Copilot开发者评测
本文主要介绍了线上体验 OS Copilot 的详细步骤,包括安装、测试、使用不同场景及删除资源的方法。还对 OS Copilot 进行了产品体验评测,指出新人上手较简单但文档有改进空间,对工作帮助程度高,我非常愿意推荐。同时反馈了产品功能,包括体验的功能与兴趣点、与其他产品对比的优缺点、功能扩展期望及与其他产品联动组合。最后总结其有优势也有提升空间,期待优化。
131 2
|
2月前
|
弹性计算 运维 自然语言处理
OS Copilot 产品体验评测
**OS Copilot 产品体验摘要** - **角色与场景**:学生使用,适用于作业解答、考试复习、论文写作、项目协作及语言学习,提升学习效率和理解。 - **上手难度**:界面直观,指引清晰,但技术术语可能难懂,复杂功能介绍不足,更新快可能导致指引滞后。 - **帮助程度**:对工作帮助大,评分8分,用户愿意推荐。 - **功能兴趣**:最感兴趣辅助编程,因为它提升编程效率,提供代码片段和解决方案。 - **功能反馈**:无同类产品对比,期望增加多语言翻译、项目管理辅助、学科知识支持和智能文件管理。 - **联动场景**:与ACK智能助手配合,实现集群监控和故障诊断,助力运维自动