前言¶
在 DeepSeek Harness(DSH)里做电商或运营相关智能体时,模型拿到的往往是脚本或浏览器导出的 JSON、CSV、Excel。若每次都要另开 Python 脚本或表格软件做预览、缺失统计和筛选去重,会话会频繁被打断。社区维护的 howtimeschange/dsh-crawshrimp-data(抓虾数据插件)把这类操作做成 DSH 进程内的本地工具:读写在配置的工作目录内完成,不依赖抓虾应用、抓虾后端或 API Token,也不是 DeepSeek 官方插件。
这是什么¶
抓虾数据插件是面向 DSH 的独立本地数据插件,由 howtimeschange 维护,在 SkillHub 上归类为联网工具。它可在 DSH 内预览、统计、清洗和导出 JSON、CSV、Excel(XLSX),适合商品表检查、库存汇总、订单整理,以及把浏览器或脚本产物转成新表格文件。能力设计参考抓虾本地产物处理流程,运行实现使用独立 Node 库;MIT 许可。
核心功能¶
插件通过四个工具暴露能力,读写路径均限定在配置的 workspaceDir:
| 工具 | 能力 |
|---|---|
crawshrimp_data_preview |
读取 JSON、CSV、XLSX,选择工作表,按页返回最多 100 行 |
crawshrimp_data_profile |
统计缺失值、不同值数量,以及数值列的最小值、最大值、合计和均值 |
crawshrimp_data_export |
将 JSON 记录写入新的 CSV 或 XLSX;不会覆盖已有文件 |
crawshrimp_data_transform |
声明式筛选、去重、排序、选列和重命名;可只预览或保存新文件 |
写文件走 DSH 原生审批:会话同时处于 danger-full-access 且原生审批策略为 never 时,已有完全权限授予则不再逐次审批;其他情况继续走原生审批,无法获批时故障关闭。同一插件实例的会话共享工作目录。
JSON 输入可以是记录数组,也可以是 { "success": true, "data": [...] } 形态的脚本产物;success: false 会被拒绝。crawshrimp_data_transform 的处理顺序固定为:筛选 → 去重(保留第一条)→ 排序 → 选列/重命名;不传 outputPath 时只返回预览、行数和统计。
安装与启用¶
环境要求:Node.js ^22.19.0 || >=24.0.0,以及已验证的 DSH 0.2.1-alpha.4。当前发布版本为 v0.2.1(package.json 中 engines.dsh 为 >=0.2.1-alpha.4 <0.2.1-alpha.5)。
通过 GitHub Release 安装预打包版本,或安装带 JavaScript 产物的标签:
dsh plugin --profile ecommerce add -w github:howtimeschange/dsh-crawshrimp-data#v0.2.1
DSH_DATA_WORKSPACE=/absolute/path/to/data dsh --profile ecommerce --dump-config
DSH_DATA_WORKSPACE=/absolute/path/to/data dsh --profile ecommerce
DSH_DATA_WORKSPACE 指定插件使用的工作目录;未指定时默认 DSH 启动目录。也可在 profile patch 中配置:
- id: crawshrimp-data
config:
workspaceDir: /absolute/path/to/data
本地开发时可在仓库执行 npm ci 后安装目录(无需执行包构建脚本):
dsh plugin --profile ecommerce add -w /absolute/path/to/dsh-crawshrimp-data
分发以 GitHub 为主,未假定已发布到 npm。更完整的 bundle 安装说明见 DSH 官方 publish 文档。
典型用法¶
可以直接对 DSH 用自然语言描述任务,例如:
预览
products.xlsx,统计缺失价格和库存,然后把选定记录导出到products-clean.csv。
导出时可将 JSON 记录传给 crawshrimp_data_export:
{
"path": "products-clean.csv",
"rows": [
{ "sku": "A001", "price": 39.5, "stock": 8 },
{ "sku": "A002", "price": 60.5, "stock": 0 }
]
}
以零开头的货号须传为 JSON 字符串,例如 "00123"。CSV 导出会对可能被表格软件识别为公式的文本(含表头)加前置单引号。
声明式转换示例(传给 crawshrimp_data_transform):
{
"path": "products.json",
"filters": [{ "column": "stock", "op": "gt", "value": 0 }],
"dedupeBy": ["sku"],
"sortBy": [{ "column": "price", "numeric": true, "direction": "desc" }],
"columns": ["sku", "price", "stock"],
"rename": { "sku": "product_id" }
}
加上 "outputPath": "products-clean.xlsx" 或 .csv 才会在通过权限检查后保存新文件。筛选条件按 AND 组合,支持 eq、ne、contains、in、gt、gte、lt、lte、is_empty、not_empty 等;最多 20 个筛选条件和 5 个排序键。仓库内 examples/sample-products.json 与 examples/transform-products.json 可作对照。
适用场景与注意¶
适合需要在 DSH 会话内快速查看表结构、做缺失与分布概览、按条件清洗并导出新品名文件的场景,尤其是电商商品表、库存与订单类扁平数据。与 浏览器插件、Office 插件 可分别安装、独立运行;网页脚本与翻页能力归浏览器插件。
使用前须知:
- 单文件输入不超过 10 MiB;表格边界为 10,000 行、200 列、200,000 单元格等,超出会明确报错而非静默截断。
- XLSX 公式单元格只读已保存缓存值,不重算公式;插件不编辑复杂工作簿,也不连接卖家或商家系统。
- 插件以当前 DSH 进程权限访问本地路径;安装前建议阅读源码与 MIT 许可证,确认
workspaceDir范围符合你的安全策略。
DSH 生态强调「一切皆插件」;SkillHub 目录页 为社区站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
抓虾数据插件把 JSON / CSV / XLSX 的预览、概览、转换与导出收拢到 DSH 工具调用里,无需抓虾后端即可在固定工作目录内完成常见表格整理。进一步了解可访问 SkillHub 插件页 与 GitHub 仓库。