使用腾讯云 CodeBuddy 构建 SSL 证书管理器

温馨提醒

从腾讯云的官微上了解到CodeBuddy这款代码编程助手,起初以为只是的一种提供对话式 AI 编码提示的工具,但通过深入了解后发现其实它里面还自带了Craft智能体,能够帮助你构建完整的软件工程项目。搜罗了众多网友的种草体验后,决定还是要亲测下它的实际使用(交付能力)效果。正好此前想做个 SSL 证书管理工具,来管理自己手里头不同域名的 SSL 证书运维,接下来一起看看个人的实测结果究竟如何。

注意

还是有些高估自己的学习能力,本想可以一天完成的编码工作,但实践下来后发现还是得分开完成,下面记录的前半部分功能交付,欢迎持续关注。

起步方式

想让 AI 帮助你完成代码的编写,这里最大的前提条件是你得把心里头的想法——“清晰的说出来”,这一点与早期的大模型对话交互逻辑是相类似的,或者说是完全相通的。那么接下来我们就要梳理下做 SSL 证书管理工具的思路和功能需求,具体的也不算太复杂,主要的功能点划分为如下4大块:

  1. 获取 SSL 证书信息;
  2. 计算 SSL 证书有效时间;
  3. 到期 SSL 证书自动续期;
  4. 下载 SSL 证书并更新 Nginx 服务;
重要

考虑到实际使用的需求,并不打算依赖任何编程语言,直接通过 Linux shell脚本实现, 也方便后期快速移植。

所以接下来我们就是要到腾讯云的 API 文档库中,根据上述的4大点功能需求,找到对应的接口文档并把它们都记录下来。

注意

为提高效率和成功率,建议可以找些上述接口的示例代码,然后结合接口文档资料一起,让Craft智能体更加精准的完成编码工作。 腾讯云提供有丰富的接口示例代码,可从 API Explorer 中查看下载。

任务分解

本来想着把整个任务的功能需求都梳理好,然后一次性交给Craft智能体便可以高枕无忧啦。只是测试下来发现挑战还是比较大,特别是在测试后要调整代码时,虽然Craft智能体能够理解用户的意图,但是要扫描前面写的全部代码内容,然后才能进行相应部分的代码修改,这无疑会大大增加Craft智能体的工作量,而且调试过程也比较复杂。所以在趟过这些大坑后,决定还是化繁为简,逐个任务进行测试,这样不仅是提高效率,而且调试的成功率也会大大提高。

任务1与执行效果

第一个任务是:完成指定 SSL 证书信息的获取

05-29-codebuddy-task-01.png

都说万事开头难,但Craft智能体却是给了我们大大的惊喜,很出色的完成这个任务。

05-29-codebuddy-result-01.png

任务2与执行效果

第二个任务是:支持根据 SSL 证书列表自动获取证书信息

05-29-codebuddy-task-02.png

此时算是增加了一定复杂度,Craft智能体在完成这个任务时算是遇到了些挑战,但在不断调试优化后,最终还是如预期要求完成任务。

05-29-codebuddy-result-02.png

代码调试

通过上面的任务设计过程,大家也可以了解到其实并不复杂,只是每次Craft智能体生成代码后,还是要自行到实际环境中测试,以确认各项功能是否正常。这就无法避免要不断的调试和修正代码,此时也比较考验Craft智能的能力,实测下来的经验是:不要只是提供出错的日志信息,同时可以提供出错的代码,以及你的预期需求,这样Craft智能体才能更好的结合你的意图和错误信息,从而更准确完成相应的代码修改,提高效率。

增加功能调试

在完成第一个任务后测试发现,输出的证书信息中,状态描述是个数字代码并不好理解,便增加了个代码转换的需求,Craft智能体能够很好理解并完善代码,很出色的完成了此次调试。

05-29-codebuddy-debug-problem-01.png

05-29-codebuddy-debug-01.png

05-29-codebuddy-result-01.png

错误问题修正

在完成第二个任务过程中发现,自动获取SSL证书列表时,会莫名其妙多出一个无效的证书。通过调试后发现是多了个日志输出的信息导致,于是把Debug的日志信息和功能需求告知Craft智能体,它很快就定位到原因,并给出修复方案,最终问题也是得到解决。

05-29-codebuddy-debug-problem-02.png

05-29-codebuddy-debug-02.png

05-29-codebuddy-result-02.png

总结建议

在上述功能开发的整体测试体验下来,对于腾讯云这款CodeBuddy代码编程助手表现,感觉还是相当不错的,能够按用户的需求进行代码开发,并实际交付出可用的软件代码。不过要想用好它帮助你实现“愿望”,还是得多些学习并了解它的“脾气”,下面给大家分享一些参考的使用方法:

重要
  1. 建议把 CodeBuddy 插件的位置调整到 VSCode 的第二个面板上,方便我们不用时快速隐藏,同时也不影响左侧的工作区查看;
    05-29-codebuddy-second-panel.png
  2. 尽可能的把想法进行模块化的拆解,然后逐个功能模块进行细化,可结合思维工具来设计梳理;
  3. 使用Craft智能体时创建软件工程时,尽量把项目按功能拆分开来生成,代码维护更方便,提高效率和成功率;
  4. 如有参考的代码示例,可将其和文档一并添加进项目,方便Craft智能体更好的理解你的需求;
  5. 调试代码时,要将错误信息、代码片段和预期要求一起提供给Craft智能体,能更好的给出修复建议;

最后附上此次CodeBuddy生成的代码,大家如有自己的腾讯云账号,也可以下载代码进行体验下,期待大家的使用反馈。 🎉 😄

信息

Github地址: elkan1788/ssl_manager_byai
Gitee地址: lisenhui/ssl_manager_byai