前言¶
在 DSH 的「一切皆插件」思路里,智能体开发者常见的一类需求是:手里有一份数据文件,希望 agent 不只是“读一下”,而是继续完成推荐图表、生成可视化页面、输出可交互 HTML。手动完成这件事时,通常要处理编码、文件格式、多文件合并、清洗转换、ECharts 配置和离线依赖等细节。
dsh-smart-charts 把这条流程做成 DeepSeek Harness 的 Smart Charts skill 插件:agent 按 skill 流程解析数据,推荐图表类型,并生成可交互的 ECharts HTML。
这是什么¶
dsh-smart-charts 是 DeepSeek Harness 的 Smart Charts skill 插件,维护者为 hherosoul,许可证为 MIT。
它面向 CSV / Excel / JSON 等表格数据,解决的核心问题是:把数据文件一键转换为交互式 ECharts HTML,并支持自动识别数据形态、推荐图表、批量生成、离线渲染和结构化错误输出。
GitHub 地址:https://github.com/hherosoul/dsh-smart-charts
核心功能¶
图表类型与主题¶
- 支持 26 种图表类型,覆盖趋势、对比、占比、分布、相关、流向、转化、词频、集合交叠、层级结构等场景。
- 提供 3 套主题预设:
default/classic/dark。
数据解析与合并¶
- 多格式解析:CSV、TSV、TXT、Excel、JSON。
- 自动检测
UTF-8/GBK/GB2312编码。 - 多文件自动合并:最多约 10 个文件;列完全相同则纵向拼接,约 50% 以上列重叠则横向关联,无共同结构时明确报错。
- 单文件限制为 ≤ 100 MB,推荐 ≤ 50 MB。
- 不支持数据库直连、实时流、地理地图、嵌套 JSON > 1 层、图片 / 音视频等非表格数据。
数据转换与批量生成¶
--transform-code:使用 pandas 代码完成列重命名、重塑、聚合等清洗。- 三层安全沙箱:黑名单 + AST 白名单 + 安全 builtins。
- 违规时返回带
suggestion的结构化错误,便于 agent 解析并重试。 --charts-file:用 JSON 声明多张图,并一次生成整组图表。- 输出
plot_stats统计摘要,并支持--dry-run与--annotation。
输出与错误¶
- 完全离线:ECharts JS 打包在
assets/,并内联进每个 HTML,无 CDN、无外部依赖。 - 交互式输出:悬停查数、
dataZoom缩放、超阈值自动横向滚动、标题双击内联编辑、图表可保存为图片。 - 结构化错误:
SmartChartsError统一输出 JSON,字段包括code/code_name/suggestion。
安装与启用¶
GitHub 直装¶
资料给出的安装命令为:
dsh plugin --profile web add github:hherosoul/dsh-smart-charts
首次安装可能会因 pnpm≥10 拒绝运行 git 依赖的 prepare 构建脚本而失败。按提示,在 profile 的 pnpm-workspace.yaml 中放行 allowBuilds:
allowBuilds:
dsh-smart-charts: true
然后重新执行安装:
dsh plugin --profile web add github:hherosoul/dsh-smart-charts
放行 allowBuilds 等于授权该包在安装阶段执行代码。资料建议只信任你确认过的源码,并固定 commit:
github:hherosoul/dsh-smart-charts#<sha>
本地 tarball¶
如果已经持有本地 tarball,例如资料示例中的 dsh-smart-charts-8.0.1.tgz,可使用:
dsh plugin --profile web add ./dsh-smart-charts-8.0.1.tgz
注意:资料只给出了这个本地安装命令,未提供该 tarball 的官方下载地址或获取方式;使用前请先确认包来源。
验证加载¶
安装后可以用 dump config 检查插件是否进入 profile:
dsh --profile web --dump-config
输出中看到 # == dsh-smart-charts 一层,即表示加载成功。
运行依赖¶
首次运行前需要安装 Python 依赖。资料要求 Python 3.11+,依赖包括 pandas、numpy、openpyxl、xlrd:
pip install -r requirements.txt
package.json 声明 engines node >=20.19.0,并包含 peer dependency:
"@deepseek-ai/dsh-skill-filesystem": "^0.1.0-rc.6"
典型用法¶
1、把数据文件放进 workspace 目录,启动 DSH 会话。
2、对 agent 说「分析 sales.csv 并生成柱状图」,或输入 /smart-charts 直接触发。
3、agent 按 SKILL.md 流程解析数据、推荐图表类型,并生成 ECharts HTML 到 workspace 的 output/。
4、如果想快速体验,可以使用仓库自带示例 examples/sales_data.csv。
适用场景与注意¶
适合:
- 有 CSV / Excel / JSON 表格数据,希望 agent 自动完成图表推荐与生成。
- 需要输出可离线打开、可交互的 ECharts HTML。
- 需要在 agent 工作流中加入数据清洗、多图批量生成、统计摘要和结构化错误处理。
不太适合:
- 数据库直连。
- 实时流数据。
- 地理地图。
- 嵌套 JSON > 1 层。
- 图片、音视频等非表格数据。
限制与注意:
- 单文件 ≤ 100 MB,推荐 ≤ 50 MB。
- 多文件合并最多约 10 个文件。
- 插件以当前
dsh进程权限运行,安装前应检查源码、许可证和构建脚本。 allowBuilds会授权该包在安装阶段执行代码,建议只对你信任的源码放行,并尽量固定 commit。
资料同时提到,该 skill 发布在腾讯 SkillHub(WorkBuddy 生态),入口为 https://skillhub.cn/skills,可搜索 smart-charts。README 称截至 2026-08-19,SkillHub 累计下载 6.8 万次,并在数据分析分类中排名第一。这里按资料口径描述,不建议把它理解为 DeepSeek 官方应用商店。
链接与入口¶
- GitHub:
https://github.com/hherosoul/dsh-smart-charts - SkillHub 入口:
https://skillhub.cn/skills