惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 叶小钗
Last Week in AI
Last Week in AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
雷峰网
雷峰网
GbyAI
GbyAI
Hugging Face - Blog
Hugging Face - Blog
N
Netflix TechBlog - Medium
博客园 - 聂微东
Y
Y Combinator Blog
罗磊的独立博客
博客园_首页
小众软件
小众软件
有赞技术团队
有赞技术团队
爱范儿
爱范儿
F
Fortinet All Blogs
C
Check Point Blog
Google DeepMind News
Google DeepMind News
云风的 BLOG
云风的 BLOG
Apple Machine Learning Research
Apple Machine Learning Research
M
MIT News - Artificial intelligence
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 司徒正美
aimingoo的专栏
aimingoo的专栏

热爱生活与梦想

迁移LeanCloud的Waline评论数据到TiDB/Neon 25年江浙地区暑假自驾游之感慨 亲手给儿子做的棒棒糖摩天轮六一礼物 使用腾讯云 CodeBuddy 构建 SSL 证书管理器 修复代码块默认高度相关缺陷 HugoNexT4.7.2 新功能和升级提示 改善代码块折叠和选中功能 支持Github风格的警告样式 新增音乐短代码功能支持 给文章添加摘要和过期提示功能 回顾24年的过去总结 修复Mathjax行内显示公式的问题 给Hugo文章增加阅读更多跳转的锚点定位功能 Win10隐匿的VPN设置和L2TP连接常见错误 Go语言中“糟糕”的日期时间格式化设计 DaoCloud道客提供的免费Docker镜像代理服务 感谢万能淘宝让自己吃到喜欢的美食 WSL运行时遇到未知异常错误无法使用 隐藏的换行符导致Base64加密解密失败 MySQL自带客户端直接免密登录操作 Linux系统中删除目录软链接的注意项 Java程序调用外网API时CA问题 如何不关机重启WSL2恢复虚拟服务 在Windows上安装Podman容器平台做虚拟化 记一次无法弹出移动硬盘的记录 为友情链接添加自动检测脚本 重新激活Github的2FA认证 Linux中使用tar压缩命令排除文件 继续小米手环的健康生活之旅 一次意外的“坠机”引发了我对手机保护壳的深思
使用阿里云灵码继续完成构建 SSL 证书管理器
凡梦星尘 · 2025-06-07 · via 热爱生活与梦想

继常见的编码IDE插件形式支持外,阿里云通义灵码在今年6月发布了全新的独立IDE版本,虽然当前灵码IDE还只是个预览版本,但是其中新增加了NES(行间编辑预测和Inline Chat(行间对话)的能力,正好是自己构建SSL证书管理器时所需要的,所以决定尝试下使用灵码来继续完成构建SSL证书管理器的剩余需求。

信息

与其他试用 AI 编码体验形式不同,当前项目是个人实际的需求,对于灵码IDE的测试更有意义,也是深入了解 AI 编码能力的边界。

安装灵码IDE

灵码IDE也是采用VSCode框架,在操作习惯上还是能无缝兼容,而且也支持导入本地原有的VSCode的配置和插件等,能够快速进行迁移使用。而且发现灵码IDE默认就是把 AI 对话窗口集成到第二面板显示,这个操作方式也符合大部分用户的使用习惯,操作起来很是方便。

06-07-limgma-coding-agnet-01.png

注意

由于个人习惯在IDE中使用英文语言,所以需要将通义灵码的语言设置成中文,否则在对话窗口中会显示英文,体验不是很好。设置方式参考如下: 用快捷键CTRL+,打开命令面板,输入lingma:Display Language,然后点击下拉菜单选择简体中文即可。

整理项目结构

接下来用灵码IDE直接打开原先使用腾讯云Codebuddy初步开发的SSL管理项目,在第二面板中最下方点击选择智能体qwen3配置,就可以开始与通义灵码智能体用自然语言交互,描述我们对代码重构的需求,效果如下图所示:

06-07-limgma-coding-agnet-02.png

信息

灵码IDE搭配最新的QWen3大模型服务,在用户需求理解和代码生成能力上确实很不错,体验下来速度也是很快几乎不需要等待。 这里整理项目结构了是为后续不断叠加功能模块扩展做好准备,也就是所谓的基础要打牢固 😄

完成新增功能

前期只是实现了初步的证书信息获取功能,还需要进一步完善证书下载证书申请的功能,并把这些功能串起来形成完整的逻辑和功能流程,对于SSL证书管理的整体流程梳理如下:

graph TD A[开始] --> B{读取配置文件} B --> C[获取API密钥等信息] C --> D[调用API查询证书列表] D --> E[计算证书剩余有效期] E --> F[保存证书信息到指定目录] F --> G{检查证书是否即将过期?} G -- 是 --> H[申请新证书] H --> I[删除旧证书] G -- 否/跳过 --> J{是否有有效证书?} J -- 是 --> K[下载证书ZIP文件] K --> L[更新JSON记录添加SSL证书文件字段] L --> M[解压证书到指定目录] M --> N[Nginx配置检测] N --> O{Nginx配置正确?} O -- 是 --> P[Nginx服务重载] O -- 否 --> Q[输出错误日志] P --> R[更新JSON标记SSL证书已发布] R --> S[完成] Q --> S I --> F

拆解新的功能需求

有了之前的使用 AI Coding 的经验,在此便不会把完整的功能需求一股脑儿全抛给AI自己去理解和处理,而是通过模块化的方式进行不断迭代优化。为实现上述的完整功能流程,实践下来发现其中与AI对话交互的工作也不小呀,当前其中可能是与自己掌握的熟练程度有关。具体操作方式也上次开发相类似,把API接口的示例代码和功能需求发给AI进行对话,示例如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
## 阶段7

增加到期申请免费SSL证书

1. 请参考SSL_ApplyCertificate.sh文件的API调用示例,写个ssl_apply.sh的shellefsg脚本调用API申请证书
2. 调用API的申请的payload参数,请参考API文档为:{
    "DvAuthMethod": "DNS_AUTO",
    "DomainName": "wgc.red"
}
3. 调用API成功后,返回的结果为:{
    "Response": {
        "CertificateId": "a9TsmZkL",
        "RequestId": "0b39eaa4-f938-476d-9b26-19fb07b80936"
    }
}
4. 在ssl_manager.sh查询完成证书后的操作中,设计个公共的方法读取output/*.json的功能,把这些内容记录下来
5. 循环读取上面记录的内容,对于过期时间小于2时,调用ssl_apply.sh脚本,传入域名参数进行申请

信息

在上述的需求描述过程中尽可能的清晰些,同时适当的增加些示例参考也能提升AI对结果生成的保障。

细节完善补充

与我们自己编码工作也相类似,功能模块开发都还算比较的顺利,但是到联调阶段就比较麻烦些,不仅是对各项功能的测试验证,同时还是要完善和修复中间遇到的各种问题。建议为避免整个代码改动较大带来的隐藏风险,可以使用通义灵码的行间对话能力时行快速修复,这里只会对需要调整部分的优化进行优化,能够比较好的审核代码修复情况,只不过最终的成果还是得手动进行测试验证。在这个环节中便能是深度考验到AI编码能力的强弱。

06-07-limgma-coding-agnet-03.png

总结建议

在通义灵码的协助下花费了3个多小时,总算是给这款SSL证书管理工具画上完整句号,能够实现自动处理自已腾讯云账户中的SSL证书列表,并针对过期的SSL证书实现提前申请和更新替换,上线后也算得是一劳永逸 :haha:。过程中对于通义灵码的Agent能力使用挺靠谱的,在模型功能开发过程中基本都算是一次性就通过,重点还是在优化调试的时候比较考验AI与人的相互协作。在此分享给大家些个人经验:

重要

  1. 项目开始前就要把整体的功能模块按需求做好划分,避免后续扩展时再来返工的风险;
  2. 对于细节的优化和修复,可使用行间对话或是代码块的引用,减少等待时间,高效完成;
  3. 默认Agent在生成新代码时都会调用diff功能突出修改部分,使用双屏进行预览更清晰;
  4. 对于Agent反复修复都无效的代码,建议可考虑调用其他大模型来进行尝试修复;

最后附上SSL证书管理的代码库,大家如有自己的腾讯云账号,也可以下载代码进行体验下,期待大家的使用反馈。 🎉 😄