证据快照复核于 2026-09-10GitHub 数据核对日期: 2026-08-21
证据已验证Plugin Bundle界面与体验Web Profile

dsh-chart

一个将结构化数据渲染为 DSH 对话内联图表的原生 DSH 插件。

快速了解

它能做什么

一个将结构化数据渲染为 DSH 对话内联图表的原生 DSH 插件。

本站提供的是中文说明,不代表该项目或 Plugin 自身提供中文界面;语言支持请以上游文档为准。

使用场景
界面与体验数据可视化
适配技术
deepseek-harness
兼容性

Web Profile
Not declared in supplied evidence

可信度与状态

证据已验证
核对日期 2026/9/6 UTC 13:52

有代码证据的贡献

它为 DSH 增加什么

dsh-chart

将结构化数据转换为 DSH 对话中的内联图表。

机制证据

选择前先看

dsh-chart 是 search2chart-mcp 中面向原生 DSH 的部分。它以 DSH bundle 形式提供,并向 web profile 添加图表插件;其声明用途是将结构化数据转换为对话内联图表。

适合谁

希望在 web profile 对话中直接获得图表输出的 DeepSeek Harness 用户。

常见任务

  • 在对话中将表格或结构化数据转换为内联图表。
  • 将原生图表插件添加到 DSH 的 web profile。
  • 以图形而非纯文本展示分类和数值序列。

权限与数据

插件说明提及 localhost HTTP 服务。原生 DSH bundle 未声明凭证要求。

权限
  • 可能按插件清单描述使用 localhost HTTP 服务。
数据处理
  • 提供的证据未说明图表输入数据的保留、传输或删除行为。

局限

  • 未声明 Harness 版本范围。
  • 没有成功安装或运行时执行的证据。
  • 仓库还介绍了 MCP 和 CDN 功能,但此处未验证这些行为是否适用于原生 DSH bundle。

DSHub 已核对

  • 已验证固定 Git 源及 DSH bundle 结构。
  • bundle 清单声明 dsh-chart 包,并依赖 @deepseek-ai/dsh-tools。
  • patch 提供了添加到 web profile 的命令。

DSHub 未核对

  • 尚未在真实 DSH 环境中执行安装。
  • 未对渲染、localhost 行为和数据处理进行运行时测试。

固定版本安装

安装 dsh-chart

这个Plugin Bundle没有 DSH Plugin 安装操作,请根据源码文档使用真实交付方式。

访问源码项目

维护者原文

项目 README

查看 commit 701f3e0 对应的 README
维护者编写的上游内容原文于 2026/9/6README.md 获取,正文和仓库相对媒体固定到 commit 701f3e019bd5,内容哈希为 26f06f83a7a4。以下是未经 DSHub 翻译的上游原文,语言可能与当前页面不同;第三方托管的 badge 可能独立更新。

DSH Market MCP Downloads

search2chart-mcp

Turn any tabular data into inline charts directly inside agent conversations. Zero runtime dependencies, multi-client adaptive.

把「任意表格数据」变成直接内联在 agent 对话流里的图表。零运行时依赖,多端自适应。

<img width="1912" height="948" alt="image" src="https://github.com/user-attachments/assets/676c42c7-dfa0-48ff-8ec9-9f1d51a2e7b2" />

安装

# 方式一:DSH 原生插件(DeepSeek Harness 用户推荐,真·内联)
dsh plugin --profile web add dsh-chart

# 方式二:npx(通用 MCP server,无需 clone)
npx search2chart-mcp

# 方式三:git clone
git clone https://github.com/iqingyoung/search2chart-mcp.git

两条路径

路径 目录 适用
通用 MCP server mcp/ ZCode / Claude Desktop / Cursor / WorkBuddy / Trae / Codex / DSH 通用
原生 DSH 插件 dsh/ DeepSeek Harness(真·内联,图片直接进对话)
  • 用 MCP 客户端 → 用 mcp/,对话框直接出图
  • 用 DSH 且想要原生体验 → 用 dsh/;DSH 里也能用 mcp/(走文件链接)
  • 两者可并存

快速开始

1. 在你的 MCP 配置里加入

{
  "mcpServers": {
    "search2chart-mcp": {
      "command": "npx",
      "args": ["search2chart-mcp"],
      "env": {}
    }
  }
}

如果 npx 拉不到,用 clone 后的绝对路径:"command": "node", "args": ["<仓库>/mcp/server.js"]

2. 首次接入:测试你的 Agent 能渲染哪种图片

不同 Agent 渲染器对图片格式支持各异。先用 all 模式一次性测试:

临时配置(在 MCP 配置里加环境变量):

{
  "env": {
    "ECHARTS_INLINE_MODE": "all"
  }
}

发给 Agent 的测试 prompt

用 chart_from_data 生成一个简单柱状图。
数据:[["城市","销量"],["北京",120],["上海",200],["广州",150]]
标题:城市销量对比
chartType:bar

Agent 返回 3-4 行图,分别标记为:

  • 【1·data URI】 — 自包含 base64,无需联网
  • 【2·localhost http】 — 本地 HTTP 服务
  • 【3·file://】 — 本地文件路径
  • 【4·CDN 公网 https】 — GitHub + jsDelivr 公网地址

哪个在对话框里真正渲染成了图片,你的 Agent 就支持哪种。

3. 固定模式

能渲染的格式 设置
data URI ✅ ECHARTS_INLINE_MODE=inline(默认)
file:// ✅ ECHARTS_INLINE_MODE=file
localhost http ✅ ECHARTS_INLINE_MODE=inline
CDN 公网 https ✅ ECHARTS_INLINE_MODE=cdn
MCP image block ✅ inline + 调用时 returnImage:true
都显示不了 ECHARTS_INLINE_MODE=none,用 .html 交互图

Agent 自动检测

工具结果里已内置 Agent 指令,告诉模型如何根据用户反馈自动设置模式:

[Agent]: 返回 4 行图片,哪张正常显示?
[User]:  3正常
[Agent]: 确认了。file:// 可渲染 → 请设置 ECHARTS_INLINE_MODE=file

已知客户端实测:ZCode → file,OpenCode → inline(data URI),WorkBuddy → cdn,DSH → inline(localhost http),Claude/Cursor → inline + returnImage:true

核心能力

多客户端内联适配

通过 ECHARTS_INLINE_MODE 环境变量控制内联行为:

模式 行为 适用客户端
inline(默认) data URI → localhost http → file:// 自动 fallback OpenCode / DSH / 通用
file 只输出 file:// 本地路径 ZCode
cdn 上传 GitHub+jsDelivr,输出公网 https WorkBuddy
all 测试模式:一次返回所有格式 首次接入时测试
none 纯文本(.html 路径 + 数据),无内联 纯文本模型 / 终端

CDN 公网图床

  • SVG → PNG 栅格化(@resvg/resvg-js,可选依赖)
  • GitHub Contents API 上传 + jsDelivr CDN 加速
  • GitHub Actions 定时清理(默认保留 3 天)

清洗数据留存

结果附带完整数据(JSON,代码块包裹),让纯文本模型在上下文里继续做占比/趋势/对比分析,无需看图。returnData: false 可关。

自包含可交互 HTML

图表同时写入 .html 文件,浏览器打开即支持 hover / 缩放 / 类型切换 / 配色调整。

工具

工具 作用
chart_from_data 结构化数据 → 图表 HTML + 内联图片
chart_from_file CSV/XLSX 路径 → 图表 HTML + 内联图片
list_chart_types 列出支持的类型 / 配色与字段约定

字段约定:第一列 = 类别轴;其余列 = 数值序列(多列即多序列);chartType: auto 按数据自动选 饼/柱。

接入各客户端

详见 mcp/README.md

目录

search2chart-mcp/
├── mcp/              # 跨端 MCP server(内联 SVG + 可交互 HTML)
│   ├── server.js     # MCP stdio 协议 + 工具入口
│   ├── lib/
│   │   ├── chart.js      # 数据归一化 + ECharts option
│   │   ├── html.js       # 自包含可交互 HTML
│   │   ├── svg.js        # 零依赖 SVG 渲染器
│   │   ├── httpserver.js # 本地 HTTP 服务
│   │   ├── rasterize.js  # SVG→PNG
│   │   ├── upload.js     # GitHub + jsDelivr CDN
│   │   └── parse.js      # CSV/XLSX 解析
│   └── scripts/
│       ├── selftest.js    # 端到端自检
│       └── verify_cdn.cjs # CDN 端到端验证
├── dsh/              # 原生 DSH 内联插件
├── LICENSE
└── README.md

License

MIT

有意识地管理

安装与管理

前置条件与目标 Profile

目标 Web Profile

交付方式 Git Bundle — iqingyoung/search2chart-mcp#701f3e019bd5dd98c1843a1f7ea381d6468a3b7a

验证、更新与移除

显示生命周期命令
验证
dsh plugin --profile web list

兼容性与访问范围

Requires the @deepseek-ai/dsh-tools peer dependency Not declared in supplied evidence

检查兼容性证据

风险事实

local-service

The plugin description states that it uses a localhost HTTP service.

证据
证据与编辑审查Manifest、Bundle patch、分发与新鲜度

不可变证据

审查状态与源码活动

AI 已审查

请使用固定 Git bundle 路径;npm 包的仓库元数据与提供的源不一致。

AI 审查于 2026/9/10 UTC 11:36GitHub 事实核对日期: 2026/9/10 UTC 11:36

自当前证据基线以来,没有记录到重要源码变化。

下一步

按 Plugin 安装流程操作

订阅重要变化: dsh-chart