OS copilot测评
今天在朋友的介绍下,测验一下OS copilot,最后来说一下我的体验反馈。
一、环境配置
sudo yum install -y os-copilot
首先就是环境配置,如下图所示,是我的环境配置,配置好以后,运行co,正常显示,说明环境配置OK。
加下来我们就开始测试
二、实验一用OS Copilot写脚本和注释代码
co "请帮我写一个使用默认浏览器打开100个网址的脚本,用python语言实现"
import time
import webbrowser
# 替换为你要打开的100个网址
urls = [
"http://example.com/1",
"http://example.com/2",
"http://example.com/3",
# 更多URL...
"http://example.com/98",
"http://example.com/99",
"http://example.com/100"
]
for url in urls:
webbrowser.open(url)
# 添加一秒延迟,避免浏览器过于繁忙
time.sleep(1)
看到了吗?上面的输出,我在本地运行是OK的,很棒哦
接下来我们看一下对话问答
三、实验二使用OS Copilot进行对话问答
执行如下命令,进入对话模式。
我让他给我打印当前的主机名,然后他给我返回的内容是截图中的内容,
四、场景三、使用OS Copilot辅助编程学习
切换为代码模式。
newcodegen
帮我写一个统计当前文件夹内代码行数的代码。
请用ts语言实现
如下图所示,
[CHAT]: newcodegen
[CODEGEN]: 帮我写一个统计当前文件夹内代码行数的代码。
请用ts语言实现
[Copilot]:
首先,我们需要遍历指定目录及其子目录中的所有文件。然后,我们需要读取每个文件并计算其中的代码行数。为了区分代码行和注释行,我们可以查找以特定字符(如`//`或`/*`)开始的行,并忽略它们。
以下是使用TypeScript编写的伪代码:
1. 获取指定目录的绝对路径。
2. 遍历目录中的所有文件和子目录。
3. 对于每个非目录项:
a. 检查文件扩展名是否是我们关心的编程语言的扩展名(如.ts, .js, .py等)。
b. 如果是,则打开文件并读取内容。
c. 计算代码行数(不包括注释行)。
4. 统计并返回代码行总数。
现在,让我们将这个计划转化为TypeScript代码。
```typescript
import fs from 'fs';
import path from 'path';
function countLinesInFile(filePath: string): number {
let lineCount = 0;
let currentLine = '';
const fileContent = fs.readFileSync(filePath, 'utf-8');
// Splitting the content into lines
fileContent.split('\n').forEach((line) => {
currentLine += line;
if (currentLine.endsWith('//')) { // Comment line
currentLine = '';
} else if (!currentLine.startsWith('//') && !currentLine.startsWith('/*')) { // Code line
lineCount++;
currentLine = '';
}
});
return lineCount;
}
function countCodeLines(directoryPath: string, allowedExtensions: string[]): number {
let totalLineCount = 0;
fs.readdirSync(directoryPath).forEach((item) => {
const fullPath = path.join(directoryPath, item);
if (fs.lstatSync(fullPath).isDirectory()) { // Directory
totalLineCount += countCodeLines(fullPath, allowedExtensions);
} else if (
allowedExtensions.includes(path.extname(fullPath).slice(1)) // File with allowed extension
) {
totalLineCount += countLinesInFile(fullPath);
}
});
return totalLineCount;
}
const directoryPath = './your_directory_path'; // Replace with your desired directory path
const allowedExtensions = ['ts', 'js']; // Add more extensions as needed
const codeLineCount = countCodeLines(directoryPath, allowedExtensions);
console.log(`Total code lines: ${
codeLineCount}`);
```
请注意,此代码仅适用于单行和多行注释以特定字符开头的情况(如JavaScript的单行注释`//`和多行注释`/* ... */`)。对于其他编程语言(如Python、C++等),您可能需要根据其注释语法进行相应的调整。此外,确保已安装了Node.js环境,并在项目中安装了`fs`和`path`模块,以便运行上述代码。
[CODEGEN]:
我在反复调试上面的代码,都不能得到我想要的结果。
五、OS Copilot 产品体验评测
1)您的角色是什么?开发、运维、学生?如果使用OS Copilot,您的使用场景是什么?
我是公司的运维和开发,使用的话,是想帮我提高开发效率,和帮助我进行具体的学习指引,提高学习效率。
2)你觉得 OS Copilot 在新人上手方面是否简单、指引文档是否清晰、是否存在什么阻碍?
我是根据文档一步步操作的,这里面唯一的区别是里面对应的提问,我都按照自己实际需要,让其进行输出,别说,效果还不错。
3)OS Copilot 是否对您的工作有帮助?如果有帮助的话,帮助程度1-10分,能够打几分?
我让他写ts的代码,好像不是很擅长,所以还是需要优化的,我给8分。
4)您愿意向周边朋友/工作伙伴推荐OS Copilot吗?如果OS Copilot开源,是否有意愿共同参与开发?包括参与OS领域大模型的训练等。
我愿意推荐给别人使用,毕竟作为国内我们自己的产品还是要支持一下的,当然也希望能够继续优化,更加完善。
六、OS Copilot 产品功能反馈
1)您体验了哪些功能?对OS Copilot的哪些功能最感兴趣(知识问答、辅助编程、辅助命令执行等),为什么?
我测试了所有的功能。主要是测试一下每一个功能,看一下有什么特色以及在工作中如何能够帮助我。
2)您有体验过其他类型的产品吗?对比其他产品OS Copilot有什么优缺点?
其他的产品我还没有体验,所以没有办法对比,在我看来,他对一些ts这块的代码不是很擅长,但是在linux方面,比较擅长。
3)您希望OS Copilot能够扩展其他哪些功能呢?比如,支持更多的操作系统、自动命令报错原因分析、系统错误排查,或其他任何您想到的功能。
我觉得吧,现在大家都喜欢语音了,所以语音输入是一个,在一个就是我这次体验的ts语言的支持,要增强,以及我对指令集的比较感兴趣,但是他的回答不是很好
4)OS Copilot与其他产品联动组合的体验以及可能,如ACK智能助手、ECS、Workbench等,您也可以展开列举组合的实际应用场景。
第一个我觉得就是可以进行图片的分析,以及视频的生成,如果能帮我写PPT,或者美化PPT模版,就更好啦。这样会是一个很赞的功能。