将此技能用于 tzst 命令行界面。当用户明确想要执行实际的归档操作,并且所需的路径或存档名称已知时,默认执行该操作。
此技能仅限 CLI。如果用户询问诸如 from tzst import ... 之类的 Python 代码,请将其视为通用的 Python 库或 API 文档任务,而不是使用此技能作为主要指导。
使用时机
当用户出现以下情况时使用本技能:
- 提及
.tzst或.tar.zst存档 - 想要创建、提取、展平、列出或测试
tzst存档 - 需要安装
tzst或选择 CLI 标志的帮助 - 想要用于脚本编写或自动化的机器可读
tzst输出 - 需要安全的冲突处理或提取过滤指导
请勿针对通用 tar、zip 或 Python API 问题使用此技能,除非 tzst 确实是请求的一部分。
前置检查
- 使用
tzst --version或tzst --help检查tzst是否可用。 - 如果它缺失,优先考虑以下安装路径之一:
uv tool install tzstpip install tzst- 当用户不想要 Python 安装时,使用来自 https://github.com/xixu-me/tzst/releases/latest 的独立发布二进制文件
- 在进行实际工作之前,重新运行
tzst --version或tzst --help。
工作流程
- 确定请求是执行还是指导。 “归档这些文件”、“提取此备份”、“列出里面的内容”、“测试此存档”或“安装 tzst”等请求属于执行意图。
- 选择与请求匹配的命令:
a、add、create用于创建存档x、extract用于保留目录结构的正常提取e、extract-flat仅当用户明确要求展平输出时使用l、list用于检查存档t、test用于完整性检查
- 如果用户只想提取少数成员且成员名称不确定,请先列出。
- 当你需要命令矩阵、确切的标志名称或可复制粘贴的示例时,请查阅
references/cli-reference.md。
安全默认设置
- 除非明确要求展平,否则优先使用
x而不是e。 - 保持
--filter data作为默认提取模式。 - 仅当用户需要标准的 tar 风格兼容性时,才使用
--filter tar。 - 仅当用户明确声明存档来源完全可信时,才使用
--filter fully_trusted。 - 保持原子存档创建启用。仅当用户明确要求时才使用
--no-atomic。 - 对于大型存档或内存受限环境,优先使用
--streaming。 - 对于自动化或管道,优先使用
tzst --json --no-banner ...。 - 对于自动提取,需要明确的非交互式
--conflict-resolution选择,例如replace_all、skip_all或auto_rename_all。 - 不要将
--json与交互式冲突提示结合使用。
脚本编写注意事项
- 在示例中将全局标志放在子命令之前,例如
tzst --json --no-banner l archive.tzst。 - 在脚本中使用退出代码:
0表示成功,1表示操作错误,2表示参数解析错误,130表示中断。 - 当存档命名很重要时,告知用户
tzst可能将创建目标规范化为.tzst或.tar.zst。
常见错误
- 当用户期望保留原始目录结构时使用
e - 为来自未知或不受信任来源的存档推荐
fully_trusted - 忘记为非交互式提取指定明确的冲突策略
- 将 Python API 问题视为 CLI 问题
- 根据
tar的使用习惯猜测标志,而不是查阅捆绑的参考文档或已安装的 CLI 帮助