乐于分享
好东西不私藏

如何用 AI 写一个工具

如何用 AI 写一个工具
作为一个程序员,从踏入这个行业开始的那天,摆在面前的就有两大难题:
  • 变量名如何命名?
  • git commit msg 如何写?
现在有了AI,终于可以解决其中一大难题:git commit msg 如何写。
所以就让 AI 搓了一个工具:gita(详细用法可以参见:https://github.com/851235550/gita)
gita的优点如下:
✅ 仅 ~7M 大小
✅ 不在代码中硬编码密钥 - API Key 完全通过环境变量读取(GITA_DEEPSEEK_API_KEY 等)✅ 不持久化到磁盘 - 密钥仅存于运行时内存,配置文件明确禁止写入 API Key✅ 三级优先级机制(按优先顺序):1. 命令行参数 --api-key (临时,不落盘)2. 环境变量(由 api_key_env 指定)3. 配置文件中的 api_key_env 指向具体的环境变量名✅ 仅依赖 gopkg.in/yaml.v3 v3.0.1(成熟稳定的 YAML 解析库)✅ 没有多层依赖链,降低了供应链风险✅ go.mod 和 go.sum 完整且一致✅ Git diff 数据基于本地 Git 命令执行,不接受不可信输入✅ JSON 响应完整校验,异常处理覆盖全面✅ 超大 diff(≥15000 行)时强制用户确认,防止无意中发送大量数据✅ 完整的单元测试和 E2E 测试覆盖
为什么有这个轮子?
我一般都在 vscode 中写代码,使用 Copilot + Deepseek, 但是每次提交代码都得想 commit msg 如何写。之前安装过千问的 vscode 插件,一个插件 200多兆 大小,而我只用来生成 commit msg 感觉太不划算(还有有时候生成的也不是很好 😒)。
这个轮子是如何写的?
其实很简单,所有代码都是 Deepseek 写的,我只是提供了下项目文件 /docs 目录下的需求和 AI Agent 执行规则。(其实连 /docs 下的文档都只是我先描述一个初步想法,然后和 AI 探讨后,让 AI 整理的结果 ☺️)。
这个轮子的效果怎么样?
让轮子自己给自己生成 commit msg ☺️,感觉生成的很不错了已经(至少比我想的好)。
所以到底如何用AI来写一个工具呢?
欢迎访问 https://github.com/851235550/gita/releases 下载试用
温馨提示需要自备 AI Token 🙃