SuperAPI AI 工具集

preview-csv

数据与分析

查看项目

更新于 10-16 06:09

技能介绍

用途

preview-csv 是一个交互式 CSV 文件查看器技能,用于在浏览器中渲染和预览 CSV 文件,生成带有排序、过滤和统计分析功能的 HTML 可视化页面。当用户希望查看、探索或分析 CSV 数据时可以使用该技能。

主要能力

  • 交互式表格,列可排序(点击表头排序,再次点击反向排序,并有视觉指示显示当前排序方向)。
  • 实时搜索与过滤:跨所有列进行实时搜索,不区分大小写,输入即时出结果。
  • 列统计:自动为每列计算统计信息。数值列显示最小值、最大值、平均值;所有列显示唯一值数量和数据类型。统计信息会随过滤后的数据更新。
  • 导出为 JSON:一键导出为 JSON 格式,保留所有数据和结构,直接下载到浏览器。
  • 大文件支持:自动分页,支持 10,000 行以上。
  • 响应式设计,适配屏幕尺寸。
  • 键盘导航,提升可访问性。

使用方式

该技能面向智能体使用。当用户要求预览 CSV 文件时,不要手动构建 HTML,而应使用 Bash 工具执行该技能的 run.sh 脚本:

# 预览文件
./run.sh data.csv

# 管道输入内容
cat data.csv | ./run.sh

脚本会处理所有 HTML 生成,并自动在浏览器中打开结果。不要手动打开文件,以避免重复标签页。

命令行用法:

# 预览 CSV 文件
/preview-csv data.csv

# 管道输入 CSV 数据(临时内容推荐使用)
cat data.csv | /preview-csv
echo "name,age\nAlice,30\nBob,25" | /preview-csv

# 使用自定义背景色
/preview-csv data.csv --background "#1e1e1e"

最佳实践:对于临时或生成的内容,优先使用管道而非创建临时文件,这样可以避免文件系统杂乱,内容会自动清理。

选项:

  • -o, --output PATH:自定义输出路径。
  • --no-browser:跳过浏览器,仅输出文件路径。

适用场景

当用户想要执行以下操作时使用该技能:

  • 查看和探索 CSV 数据文件
  • 通过排序和过滤分析数据
  • 快速检查列统计信息
  • 分享格式化后的数据视图
  • 调试或验证 CSV 文件内容

自然语言请求示例:

  • “preview this CSV file”
  • “show me the data in customers.csv”
  • “open the employee data”
  • “visualize this CSV”
  • “let me see what's in sales.csv”

技术细节

文件要求:

  • 文件扩展名:.csv
  • 最大大小:10MB(可配置)
  • 编码:UTF-8

输出:

该技能生成一个独立的 HTML 文件,路径为:

.preview-skills/csv/{filename}.html

该文件是自包含的,可以:

  • 直接在任意浏览器中打开
  • 分享给他人(无依赖)
  • 归档以供后续查看

浏览器兼容性:

  • 现代浏览器(Chrome、Firefox、Safari、Edge)
  • 需要启用 JavaScript
  • 无外部依赖(所有资源已打包)

限制与故障排查

  • CSV 无法正确显示:确保文件是有效的 CSV 格式,检查分隔符是否为逗号,验证 UTF-8 编码。
  • 文件过大:超过 10MB 的文件可能加载失败,建议在预览前过滤数据,对超大文件使用分页。
  • 缺少列或数据:检查文件末尾是否有空行,验证是否存在表头行,确保每行列数一致。

开发

该技能是独立的,包含所有依赖:

  • 共享库打包在 lib/ 中
  • 模板打包在 templates/ 中
  • 无外部 CDN 要求

修改该技能:

  • 编辑 config.sh 进行配置
  • 编辑 templates/scripts/csv-renderer.js 修改行为
  • 编辑 templates/styles/csv.css 修改样式
  • 运行 run.sh 测试更改