前言¶
在 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