想实现一键将 obsidian 中的文档,转换到 hugo 博客发布的功能。用 python 编程不难,但连上调试啥的,几个小时少不了。遂想起自己申请的AI编程工具 cursor 还在免费使用阶段,推上吹得花好稻好,到底怎么样?

打开 cursor 界面,一个文本编辑器,清爽到啥按钮也没有。依稀记起,它是搞代码补全的,于是先写需求:

# 1. 使用 openfile 对话框(默认目录为:'/Users/XXX'),获取filepath,其中的 filename 可能为中文
# 2. 如果 filename 为中文,调用 azure 的 openai 接口,将文件名按中文含义翻译为英文(英文要简要,不超过 50 个字符)。
# 比如:中文名为:'如何在 cloudflare 上部署 Hugo 构架的博客.md'
# 翻译后为:'how_to_deploy_Hugo_blog_on_cloudflare.md'
# 3. 制作一个新的 md 格式文件,需要保留原 md 文件中的 front matter 和文件内容,在此基础上,在 front matter 中:
# - 将原始文件名(在上一个例子中是'如何在 cloudflare 上部署 Hugo 构架的博客')作为 title
# - 如果 filepath 中包含子目录(比如:'XXX/hugo/cloudflare'),则将子目录('hugo'和'cloudflare')作为 categories

需求写完,按 cmd + k,跳出一个对话框,输入“请编写代码实现第 1 步”。 数秒之后,代码就生成了,运行,弹出文件选择对话框,可以。 继续输入“请实现后续步骤”; 这时,cursor 魔法正式上演,它在第 1 步程序的基础上,完成修改了程序,并像 github 一样,红色标出删除行,绿色标出增加行,直观。

通读代码,发现 cursor 使用 Azure 的 Key Vault 获取 api-key,这不是我要的。于是 cmd + k : “请不要使用 Key Vault,使用环境变量,比如:XXXX”,再次尝试运行,结果:

一次过。

代码见 github 仓库 sunnyseed/cli_tools

cursor 使用的是 claude 3.5,模型并没有太特别,但它很好的整合了编程环境,通过提供无缝体验降低了编程门槛。

难怪,cursor 被誉为“一个真正让程序员产生危机感的 AI 编程工具”。

ps,这篇文章就是用 cursor 代码上传的。