跳到正文

omdsh-dev/dsh-tool-csv

40最近提交 2026年8月14日

dsh-tool-csv DSH 插件

dsh-tool-csv 是一个 DSH 插件,为 Agent 会话提供确定性的 CSV 处理。它能将 CSV 文本解析为结构化 JSON,处理引号内逗号、跨行字段、BOM 等边界情况。纯函数、零依赖,毫秒级返回结果。

如何安装 dsh-tool-csv DSH 插件

dsh plugin --profile web add github:omdsh-dev/dsh-tool-csv

复制不会执行命令。安装 dsh-tool-csv DSH 插件前请核对仓库和版本。

dsh-tool-csv DSH 插件数据来源

dsh-tool-csv DSH 插件快照日期:2026年8月16日

discovered

dsh-tool-csv DSH 插件能做什么

  • 将 CSV 文本解析为 JSON 数组(根据表头模式返回对象或数组)
  • 按列值精确过滤行(列名或 1-based 索引)
  • 统计行数、列数、列名、空行数及警告信息
  • 支持自定义分隔符(单字符或 'tab')和无表头模式
  • 鲁棒的边界处理:引号内逗号/换行、BOM 剥离、危险表头使用 null-prototype 对象

dsh-tool-csv DSH 插件适合哪些场景

  • 从 API 返回的 CSV 文本中提取特定行
  • 验证 CSV 格式并检测结构问题(未闭合引号、字段数不一致)
  • 将 CSV 数据转换为 JSON 供下游处理
  • 在 Agent 对话中分析表格结构(行数、列数、警告)

dsh-tool-csv DSH 插件适合谁

  • 需要在 Agent 会话中处理 CSV 数据的 DSH 用户
  • 构建 AI 工作流、需要可靠 CSV 解析而无需启动外部进程的开发者

dsh-tool-csv DSH 插件的限制

  • 输入大小限制为 256,000 字节;超限直接报错(不截断)
  • 查询仅支持精确字符串匹配(`===`),不支持表达式求值或子串搜索
  • 默认行数上限为 100 行,需显式增加以获取更多输出
  • 依赖 DSH 运行时环境(需安装了 peer 依赖的 profile)

dsh-tool-csv DSH 插件的仓库 README 摘录

以下文字摘自 dsh-tool-csv DSH 插件的上游仓库 omdsh-dev/dsh-tool-csv 的 README,版权归原作者,仅作引用。

DSH CSV 数据工具插件 —— 解析、查询、过滤、统计和转换 CSV 文本。零依赖、纯函数、RFC 4180 状态机解析器。 [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) ## 动机 Agent 会话里表格形态的数据(导出文件、API 响应、报告片段)出现频率很高。现有路径是起 `bash` 进程让模型现写解析脚本: 1. **每次调用都起进程**——Windows 上尤其昂贵 2. **模型手写 CSV 解析器错误率高**——引号内逗号、`""` 转义、BOM、跨行字段、CRLF 这些边界手写代码极易踩坑,且结果不可验证 本插件提供确定性、零依赖、纯函数的 CSV 处理:一次函数调用,毫秒级返回结构化 JSON。 与 `dsh-tool-json` 形成"结构化数据处理"对:JSON 管对象,CSV 管表格。 ## 安全模型 - **零依赖**:不引入 csv 解析库,手写状态机(单遍扫描,O(n)) - **纯函数**:不读文件、不写文件、不联网、不 eval - **无注入面**:查询过滤只做字面精确匹配(`===`),不支持表达式求值 - **预算**:输入上限 256,000 字节(超限直接报错,不截断);`timeoutMs: 2000`;`limit` 默认 100 行防输出膨胀 - 工具参数会记入会话日志,不要传入敏感数据 ## 工具声明 注册 `csv` 工具(`@deepseek-ai/dsh-tool-csv`,row id `tool-csv`),统一输出 JSON 文本字符串。 | 参数 | 类型 | 必填 | 说明 | |---|---|---|---| | `action` | string | ✅ | `parse` / `query` / `stats` / `to_json` | | `csv` | string | ✅ | CSV 文本(RFC 4180;引号字段可含逗号/换行;`""` 转义;忽略 BOM) | | `column` | string | | 查询列:列名(有表头时)或 1-based 索引如 `"2"` | | `value` | string | | 查询精确匹配值(严格相等,非子串) | | `delimiter` | string | | 分隔符,默认 `","`;单字符或 `"tab"` | | `header` | boolean | | 首行是否为表头,默认 `true`;`false` 时行解析为数组 | | `limit` | integer | | 返回行数上限(query/parse),默认 100 | ## Actions | action | 功能

阅读完整 README仓库许可: MIT

dsh-tool-csv DSH 插件常见问题

如何安装 dsh-tool-csv?

使用 DSH CLI 安装:`dsh plugin --profile web add github:omdsh-dev/dsh-tool-csv`。或者克隆仓库,执行 `npm install && npm pack`,然后 `dsh plugin --profile web add ./deepseek-ai-dsh-tool-csv-*.tgz`。支持 web 和 headless 两种 profile。

如何验证插件是否安装成功?

运行 `dsh --profile web --dump-config | grep tool-csv` 检查插件行是否出现。也可以执行 `dsh run "使用 csv 工具解析 'a,b\n1,2'"` 直接测试工具。

插件支持哪些 CSV 格式?

支持 RFC 4180 标准:引号字段可包含逗号、换行和 CRLF;`""` 转义为双引号;自动剥离 BOM。未闭合引号和闭合引号后的非法字符会报错。

能处理大 CSV 文件吗?

输入大小限制为 256,000 字节,超过会报错。对于 query/parse 操作,默认返回行数上限为 100,可通过 `limit` 参数增加。

如何按列值查询行?

使用 `query` action,配合 `column`(列名或 1-based 索引)和 `value`(精确匹配)。例如:`csv { action: "query", csv: "name,city\nalice,nyc\nbob,la", column: "city", value: "la" }` 返回 `[["name","city"],["bob","la"]]`。