Skip to main content

Dotenvx和AI的整合:为context提供配置信息,同时保护你的敏感信息

· 2 min read
Libing Chen
Java程序员,兼全栈、Rust和AI开发

在之前的一篇文章中,我们介绍了AI编程:配置先行,讨论了配置在AI编程中的重要性,它是编程中不可缺少的一环, 不单是代码和配置的分离,更是AI Agent生成代码时的重要上下文信息来源。

我们希望AI Agent能够读取配置文件中的配置项,从而生成更符合我们需求的代码片段,但是我们也不希望AI Agent读取敏感信息,如数据库密码、API Key等, 造成敏感信息的泄露。那么Dotenvx在这方面能提供什么帮助呢?

目前不少AI工具都会支持.aiignore这些文件,用于告诉AI Agent忽略某些文件或者目录, 如Cursor有自己的.cursorignore,详细可以参考 https://cursor.com/cn/docs/context/ignore-files

一些AI代码工具会提供Hook机制,如在AI工具读取文件时,可以增加hook,允许你调整代码读取的内容,从而实现对敏感信息的屏蔽。 这个机制不错的,可以既保证AI Agent读取到配置信息,又屏蔽掉敏感信息。但是这里还有一个问题,就是AI Agent同时也有Code Editing的能力, 也就是AI会修改代码文件,然后重写到文件中。

这里举一个例子,如你问AI:“帮我写一个Java JDBC的程序,查询MySQL数据库中的用户表,然后以表格的方式打印出来。JDBC_URL, username, password都保存在.env文件中。” 如果出现配置会写的场景,这个时候虽然也有Hook,但是处理起来还是比较麻烦,要对比之前的配置文件,然后进行合并等,处理起来比较麻烦, 当然也不是所有的AI工具都支持这个Hook机制,同时你还要有这个Hook的意识和开发能力。

总的来说,加密配置文件中的敏感信息,可能是AI场景下保护敏感信息相对比较简单和有效的方式,Dotenvx正是这样一个工具, 它可以帮助你加密.env文件中的敏感信息,从而保护这些敏感信息不被泄露,同时又能让AI Agent读取到非敏感的配置项,从而生成符合需求的代码片段。