DSH Plugins
返回列表
🤖

dsh-tool-archive

模型推理 更新于 2026.10.02

在终端中运行以下命令:

dsh plugin install yuehancn/dsh-tool-archive

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

在 DeepSeek Harness 中执行 dsh plugin install yuehancn/dsh-tool-archive,即可从 https://github.com/yuehancn/dsh-tool-archive 安装该归档工具箱插件。

插件介绍

在 Harness 里让模型「解个包」往往只是一行命令,却可能把写入范围扩大到整台机器:tar 成员名可以是绝对路径、穿越目录的 ..、指向树外的符号链接或硬链接。更麻烦的是,tar 没有集中索引,要知道包里有什么必须遍历 512 字节头,因此既需要能安全解包,也需要在不落盘的情况下读懂归档策略与内容。

dsh-tool-archive 是零外部依赖的归档工具箱:自实现 tar 读写,提供 archive_status、archive_pack、archive_unpack、archive_verify 四个工具。它强调确定性——同一份目录树在不同机器、不同创建顺序下会得到相同的归档字节与 treeDigest(路径排序、固定 uid/gid 与模式、对内容做 SHA-256)。解包侧对所有成员名做 resolveWithin 边界校验,拒绝绝对路径、穿越、空名、NUL、符号/硬链接与设备节点;verify 可在不解包时对比目录或 digest。

适合需要在 Agent 工作流里可重复打包、跨环境比对清单、或要对不可信 tar 做保守解包的开发者与平台维护者。它不写 GNU long-name/PAX、不解链接、不压缩——职责是把「哪些字节、什么顺序、什么名字」说准,并把「解包」从随意写盘变成有边界的操作。

使用场景

  • 在 Agent 工作流中把项目目录打成可复现的 tar 并附带 SHA-256 清单
  • 对不可信或外部来源的归档做解包前策略检查与安全解包
  • 跨机器比对目录树或 digest,无需解压即可验证内容一致

适合人员

  • 在 Harness 中需要可控归档与解包的插件开发者
  • 关心 tar 路径逃逸与数据完整性的平台或安全维护者
  • 要做确定性构建、清单比对与回归测试的工程师