编程

archive-smart-reader

试用

智能压缩文件阅读器。直接读取zip/tar/gz/tgz/bz2/xz/7z/rar 等压缩包的内容:列出文件清单、预览内部文件内容、 提取单个文件或全部解压、搜索压缩包内文件。 支持图片压缩包直接读取显示。每次使用自动学习改进。 触发词:压缩包、zip文件、解压、tar包、读压缩文件、archive、查看压缩包。

它能做什么

智能压缩文件阅读器。直接读取zip/tar/gz/tgz/bz2/xz/7z/rar 等压缩包的内容:列出文件清单、预览内部文件内容、 提取单个文件或全部解压、搜索压缩包内文件。 支持图片压缩包直接读取显示。每次使用自动学习改进。 触发词:压缩包、zip文件、解压、tar包、读压缩文件、archive、查看压缩包。

技能文档

智能压缩文件阅读器

为什么需要本技能

WorkBuddy 无法直接读取 zip/tar/rar 等压缩包里的文件。每次收到 压缩包都需要手动解压后再操作,非常麻烦。

本技能让你能:

  • 直接问:"看看这个zip里有什么文件"
  • 直接预览:"帮我看看压缩包里的readme.txt"
  • 直接提取:"把里面的图片提取出来"
  • 自动学习:记住你的使用习惯,越来越快

支持格式

格式支持级别说明
.zip⭐⭐⭐ 完整列表/预览/提取/搜索
.tar⭐⭐⭐ 完整列表/预览/提取
.tar.gz / .tgz⭐⭐⭐ 完整列表/预览/提取
.tar.bz2 (.bz2)⭐⭐⭐ 完整列表/预览/提取
.tar.xz (.xz)⭐⭐⭐ 完整列表/预览/提取
.7z⭐⭐ 基础安装 py7zr 后全支持
.rar⭐⭐ 基础列出文件无需外部工具;预览/提取需本机 unrar 或 7-Zip(脚本自动查找 Downloads/WorkBuddy/Claw 等位置)

自进化学习系统

本技能每次使用都会自动记录和改进:

学习记忆文件

路径:~/.workbuddy/skills/archive-smart-reader/learned_patterns.json

{
  "version": 1,
  "totalOps": 0,
  "formatStats": {
    ".zip": {"count": 0, "totalFiles": 0},
    ".tar.gz": {"count": 0, "totalFiles": 0}
  },
  "errorPatterns": {
    "password_protected": {"count": 0, "lastPath": ""},
    "corrupted_zip": {"count": 0, "lastPath": ""}
  },
  "optimizations": {
    "preferTempDir": true,
    "autoCleanup": true,
    "previewLimit": 50000
  }
}

学习内容

学习维度具体内容
📊 格式统计哪种格式用得最多 → 优先优化
❌ 错误模式常见错误是什么 → 下次提前预警
⚡ 性能优化大文件处理时间 → 自动调整策略
🧠 用户偏好喜欢预览还是提取 → 优先推荐

核心能力

1. 列出压缩包内容

用户输入:"帮我看看这个report.zip里有什么"

操作:
python scripts/archive_reader.py list report.zip

输出:
📁 src/
📄 src/main.py  (12,345 bytes)
📄 src/utils.py (8,921 bytes)
📁 docs/
📄 docs/README.md (3,102 bytes)
📄 data.csv (45,678 bytes)
━━━━━━━━━━━━━━━━━━━━━━━━━
总计:4个文件,2个文件夹,约70KB

2. 预览内部文件

用户输入:"看看data.csv的内容"

操作:
python scripts/archive_reader.py peek report.zip data.csv

输出:CSV文件前50行内容(智能限制,大文件自动截取)

3. 搜索压缩包内的文件

用户输入:"这个zip里有没有关于报告的PDF?"

操作:列出所有文件 → 按文件名/扩展名/大小过滤
→ 找到匹配项后询问是否需要预览

4. 提取文件

用户输入:"把里面的图片都提取出来放在桌面上"

操作:
1. 列出压缩包内容 → 筛选出图片文件(.jpg/.png/.gif)
2. 逐个提取到指定目录
3. 汇报提取结果

5. 智能格式识别

自动识别压缩包格式,即使没有扩展名也能通过文件头判断:

文件头格式
PK\x03\x04ZIP
\x1f\x8bGZIP
75\x73\x74\x61rTAR
Rar!RAR
7z\xbc\xaf7z

自动迭代机制

每次使用后的学习更新

# 伪代码
学习数据.总操作数 += 1
学习数据.格式统计[检测到的格式]["次数"] += 1

if 操作成功:
  学习数据.格式统计[格式]["成功率"] 更新
else:
  学习数据.错误模式[错误类型]["次数"] += 1
  # 如果某错误出现≥3次,自动添加预检步骤
  if 学习数据.错误模式[错误类型]["次数"] >= 3:
    启用该格式的预检机制

# 自动优化策略
if 学习数据.总操作数 >= 10:
  分析哪些格式用得少 → 按需加载库,减少启动时间
if 某格式失败率 > 30%:
  尝试安装替代库

自动安装缺失依赖

当遇到 7z/rar 格式时,自动尝试安装支持库:

pip install py7zr  # 7z支持
pip install rarfile  # RAR支持

安装成功后自动更新学习记忆,下次遇到同格式直接处理。


使用流程

快速查看

用户输入:"[拖拽或提供路径]这个zip里有什么"

→ 自动检测格式
→ 列出文件树(目录在前、文件在后、按大小排序)
→ 询问是否需要进一步操作(预览/提取)

预览文件

用户输入:"帮我看看里面的config.json"

→ 自动找到压缩包
→ 定位到 config.json
→ 读取内容(文本)并显示
→ 大文件自动取前50000字符
→ 标记剩余行数

批量提取

用户输入:"全部解压到当前目录"

→ 解压到指定目录
→ 汇报文件数量和路径
→ 自动清理临时文件(如果用了临时目录)
→ 记录本次操作到学习记忆

脚本工具说明

本技能附带 Python 脚本 scripts/archive_reader.py

# 列出内容
python scripts/archive_reader.py list <压缩包路径>

# 预览文件
python scripts/archive_reader.py peek <压缩包路径> <内部文件路径>

# 全部解压
python scripts/archive_reader.py extract <压缩包路径> <输出目录>

# 提取单个文件
python scripts/archive_reader.py extract-file <压缩包> <内部路径> <输出路径>

注意事项

  • 支持密码保护的 zip(用户需提供密码)
  • 超大压缩包(>1GB)建议只列出内容,按需提取
  • 图片文件会尝试直接展示(如果WorkBuddy支持)
  • 所有解压操作默认使用临时目录,完成后询问是否保留

相关技能

智能内容快照工具,支持完整内容提取、语义标签与主动召回,适合个人用户。Use when 需要AI模型调用、智能对话、Agent编排、LLM应用时使用。不适用于需要100%确定性的关键决策。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。

Zip Archive API (archiveapi.com). Use this skill for ANY Zip Archive API request — reading, creating, and updating data. Whenever a task involves Zip Archive API, use this skill instead of calling the API directly.

内容归档工具免费版,将外部内容捕获为本地快照。Use when 需要视频处理、音频编辑、媒体转换、配音生成时使用。不适用于版权受保护的媒体内容处理。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。提供结构化输出和错误处理机制。支持多场景应用和灵活配置。 支持文章、视频、推文的基本内容提取与标签管理. 提供基于关键词的搜索能力. 适用于个人知识管理与研究资料收集。Use when 需要SEO优化、关键词分析、排名提升、搜索流量优化时使用。不适用于黑帽SEO手段。适用于开发者、企业团队和自动化集成场景。。支持自动化配置和灵活的参数设置,适用于多种工作场景,提升工作效率和准确性。'

对图片进行智能压缩优化。支持本地路径、文件夹和远程 URL,直传 NX API 压缩后返回 CDN 地址和压缩率。适用于用户提到图片压缩、图片优化、减小图片体积、TinyPNG、JPG/PNG/WebP 压缩的场景。

Compress and decompress text files using smart abbreviation and whitespace normalization. Use when user asks to compress, shrink, reduce, or optimize text fi...

12 次安装

cross-platform rar and winrar command-line archive handling for windows and linux. use when chatgpt needs to compress or extract archives with rar or winrar,...

15 次安装