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 倉庫進行二次開發或定製。