DSH Plugins
返回列表
🧩

dsh-protect-generated-files

admin-security 更新于 2026.10.18

在终端中运行以下命令:

dsh plugin install acus9345/dsh-protect-generated-files

将以下提示词粘贴到 DeepSeek Harness 对话框中:

在 DeepSeek Harness 中执行 dsh plugin install acus9345/dsh-protect-generated-files 安装本插件;源码仓库为 https://github.com/acus9345/dsh-protect-generated-files,若使用 web、headless 或 acp 等不同 profile,请在各自环境中分别安装。

插件介绍

Coding Agent 常会直接改本不该手写的文件:在 pnpm-lock.yaml 里改版本号、修正 user.pb.go 里的笔误,或纠正 Prisma 生成客户端里的类型。改动当下看起来没问题,但下一次 pnpm install 或 protoc 一跑就会被覆盖;更糟的是锁文件与 package.json 不一致,可能要花一下午才能理清。

dsh-protect-generated-files 会在 DeepSeek Harness 里拒绝对生成文件与锁文件的写入、编辑调用,以及 sed -i、perl -pi、重定向覆盖、tee 等原地 shell 修改。Windows 下还会拦截 Set-Content、Add-Content、Out-File、Tee-Object。它不是简单拒绝,而是说明文件应如何正确变更,例如该用哪条包管理器命令或哪套生成流程。识别方式包括常见锁文件名、已知生成物路径(如 protobuf 输出、node_modules、带项目 manifest 旁的 dist 或 target 等),以及文件头 15 行内的 Code generated、DO NOT EDIT 等标记;也可通过 extraGlobs 与 ignore 做项目级微调。确有必要的相同操作可重复一次确认通过,或在 ask 模式下由你审批。

适合在 monorepo、多语言栈或重度代码生成(Protobuf、Prisma、GraphQL Codegen 等)项目里用 Agent 的团队与个人,减少改完又被生成覆盖的无效劳动,也降低锁文件被手改后难以排查的风险。

使用场景

  • Agent 误改 pnpm-lock.yaml 或 package-lock.json 导致依赖不一致
  • protobuf、Prisma 等生成代码被手改,下次生成时被覆盖
  • 需要引导模型用 cargo add、pnpm install 等正确方式改依赖

适合人员

  • 使用 DeepSeek Harness Agent 做日常开发的团队
  • monorepo 或多语言、多包管理器项目维护者
  • 大量依赖代码生成(Protobuf、GraphQL、OpenAPI 等)的仓库