在 DeepSeek Harness (DSH) 的开发或维护工作中,环境变量(.env)的管理常是隐形痛点:代码里引用了变量却忘记在配置文件中定义,或者定义了却从未被使用,这往往导致部署失败或资源浪费。dsh-env-manager 插件提供了自动化校验与生成配置模板的功能。
这是一个运行在本地、无网络依赖的 Node.js 工具,由用户 uckkk 维护,属于 admin-security 类别。它解决的核心问题是:如何快速校验代码引用与配置文件的一致性,并生成规范的 .env.example 文件。
安装与启用¶
安装该插件需要在终端执行以下命令:
dsh plugin add dsh-env-manager
安装成功后,需要在项目的 package.json 中配置 dsh.profile.bundles,加入 "dsh-env-manager",以确保插件在启动时被正确加载。
核心功能¶
该插件主要包含两个工具,通过扫描代码与配置文件的比对来实现管理。
1. 引用检测与比对¶
扫描项目代码,识别常见环境变量引用方式(如 process.env.X、process.env["X"]、import.meta.env.X、os.getenv("X") 等),并将其与 .env 文件内容进行比对,返回“缺失”与“未使用”的变量清单。
2. 生成脱敏示例¶
根据现有的 .env 文件,生成 .env.example 文件。该文件会保留所有的键名,但将具体的值替换为脱敏符号(如 ***),方便团队共享配置模板,而无需暴露敏感信息。
3. 智能扫描范围¶
扫描过程会自动跳过 node_modules、.git 目录,以及二进制文件和图片文件,仅针对源代码进行解析。
典型用法¶
在 DSH 会话中,通过指定工作目录即可调用上述功能:
- 检查项目中缺失或未使用的环境变量:
env_check(root="/workspace")
- 从现有 .env 生成一份脱敏的 .env.example:
env_example(root="/workspace")
注意事项¶
该插件为纯 Node 实现,不涉及任何网络请求,也不依赖外部服务。但由于它会直接在当前 DSH 进程的上下文中运行第三方代码,安装前建议自行审阅源码以确保安全性。
更多技术细节或更新,请访问 GitHub 仓库。