dsh-report-gen

September 13, 2026 · View on GitHub

DSH 报告生成插件:把 JSON / CSV / Markdown 文本确定性地转换为结构化 Markdown 报告。

三个工具全部是纯字符串转换:无模板引擎、不读写文件、不联网、不起子进程,因此行为完全确定、可离线单元测试。本插件运行时也不需要任何外部工具或服务。

安装

npx -y @deepseek-ai/dsh plugin --profile web add @qingshanjiluo/dsh-report-gen

工具

工具参数输出
report_from_jsondataText(JSON 文本)、title(空串则用默认标题)ok / title / markdown / error。对象数组渲染为 Markdown 表格并附 ## Statistics(数值列 min/max/avg/sum,文本列 unique/top);对象标量逐行内联;嵌套对象用围栏 JSON 块
report_from_csvcsvText(CSV 文本,首行为表头)、title(可空)ok / title / markdown / rowCount / colCount / stats / error。支持引号字段(内嵌逗号、换行、双写引号),参差行自动补齐;数值列输出 ## Numeric Summary 聚合
report_markdownmdText(Markdown 文本)ok / markdown(规范化后)/ outline(按层级缩进的标题大纲)/ headings / error。CRLF 转 LF、去行尾空白、合并多余空行、修正标题格式;代码围栏内标题不计入大纲

超长表格按 maxTableRows 截断并在报告中注明(如 _2 of 5 rows shown (limit 2)._)。

配置

字段类型默认值说明
defaultTitlestring数据报告调用方未提供标题时使用的报告标题
maxTableRowsnumber200Markdown 表格最多渲染的行数,超出截断
includeStatisticsbooleantruereport_from_json 是否附加统计摘要小节

开发

npm install
npm run typecheck          # tsc --noEmit
npm run build              # tsc + tsdown -> lib/index.js / lib/index.d.ts
npx vitest run             # 全部离线行为测试(无任何网络/子进程)
node scripts/load-smoke.mjs  # 校验构建产物的加载面与工具注册

License

MIT