DeepSeek Harness (DSH) 的核心理念是“一切皆插件”。在开发或使用智能体分析金融数据时,往往需要直观的图表来辅助判断。dsh-stock-chart 作为一个内置插件,旨在解决“如何在 DSH 环境中快速渲染专业级 K 线图”的问题。它基于 TradingView 的 Lightweight Charts 引擎,提供日线/周线切换、常用技术指标计算以及绘制工具,并采用 SQLite 持久化存储数据,以节省模型上下文 Token。该插件由 xlin20021 维护,采用 MIT 许可证。
核心特性¶
- K 线图:支持日线与周线一键切换(周线由日线自动聚合)。
- 技术指标:自动计算 MA5/10/20/60/120、BOLL、MACD、KDJ 及成交量。
- 绘制标注:基于
lightweight-charts-drawing,支持线条、矩形、文字等工具,支持键盘 Delete/Backspace 删除选中元素。 - 数据持久化:使用 SQLite 存储历史数据,支持跨会话、跨浏览器复现图表。
- 省 Token 取数:内置
stk-fetch.mjs脚本,直接将 K 线数据写入 SQLite,避免通过模型上下文传递大量历史数据。 - 插件配置:提供可视化设置页,可配置 Python 路径、MCP 服务器名等参数。
安装¶
安装前需确保已安装依赖项 @deepseek-ai/dsh-settings 和 @deepseek-ai/schemastery。
方式 1:本地开发安装¶
在 web profile 的 package.json 中添加依赖:
"dependencies": { "dsh-stock-chart": "file:E:/dsh/dsh-stock-chart" }
在 dsh.profile.bundles 中添加条目 "dsh-stock-chart",然后重启 dsh web。
方式 2:发布后安装¶
使用官方安装命令:
dsh plugin --profile web add github:<repo>#vX.Y.Z
(请将 <repo> 替换为实际的 GitHub 仓库地址,vX.Y.Z 替换为具体版本号。)
使用方法¶
使用流程分为两步:数据入库和图表渲染。
1. 数据入库¶
运行取数脚本将数据写入 SQLite。以 A 股为例:
node E:\dsh\dsh-stock-chart\stk-fetch.mjs <symbol> mootdx
港股(5位代码)或美股(字母代码)可使用 mcp 源:
node E:\dsh\dsh-stock-chart\stk-fetch.mjs <symbol> mcp
2. 图表渲染¶
在 DSH 会话中调用 stock_chart_push 函数。由于数据已存储在 SQLite 中,agent 只需传入股票代码即可:
stock_chart_push({ symbol: "600519", name?: "贵州茅台", quote?: { ... } })
插件会自动读取 SQLite 中的数据并渲染图表。若数据库无数据,函数会返回取数脚本的路径提示用户先入库。
配置说明¶
插件配置位于 DSH 的「设置 → 插件 → dsh-stock-chart」,配置文件会保存到 ~/.dsh/stkdata/config.json。
- Python 路径:用于运行
mootdx库获取 A 股数据。默认为 PATH 中的python。 - 股票 MCP 服务器名:用于获取港股/美股数据。默认为
stock。 - 数据目录:SQLite 数据库的存放位置。默认为
~/.dsh/stkdata。
环境变量 STK_PYTHON、STK_MCP_URL、STK_DATA_DIR 可覆盖上述配置。
架构与依赖¶
- 架构:
stk-fetch.mjs:运行在 agent 侧,负责从数据源取数并写入 SQLite。dsh/index.js:插件主程序,提供接口读取 SQLite、计算指标并提供 HTTP 端点。chart.html:浏览器端页面,负责图表渲染与绘制交互。
- 依赖:
- 插件本体依赖
@deepseek-ai/cordis、@deepseek-ai/dsh-brand、@deepseek-ai/dsh-invariants、@deepseek-ai/dsh-settings和@deepseek-ai/schemastery。 - 第三方依赖:Lightweight Charts (Apache-2.0)、lightweight-charts-drawing (MIT) 和 mootdx (MIT)。
- 插件本体依赖
dsh-stock-chart 为 DSH 环境提供了标准化的金融图表解决方案,适合需要在对话中可视化分析股票行情的开发者与用户。所有代码与配置均开源,可参考 GitHub 仓库进行二次开发或定制。