前言¶
DeepSeek Harness (DSH) 的核心設計理念是“一切皆插件”。dsh-data-mode 是在此基礎上擴展的一個插件,它爲 DSH 增加了一種名爲“Data Mode”的會話類型。該類型專注於只讀分析場景:你可以連接數據庫或上傳文件,使用自然語言提問,而無需離開對話界面,也無需給模型寫入數據庫的權限。
核心功能¶
該插件主要解決在 DSH 環境中進行數據查詢時的上下文與權限隔離問題。
-
數據源連接與預覽
- 支持連接 PostgreSQL、MySQL、SQLite,或上傳 CSV/XLSX 文件。
- 提供表預覽功能,在提問前可查看錶結構與樣例數據。
- 支持按數據源管理業務知識(指標定義、別名、公式)。
-
自然語言與只讀 SQL
- 使用自然語言發起查詢,插件會將指令轉換爲只讀 SQL。
- 提供的只讀 SQL 工具包括:SELECT、WITH、EXPLAIN、SHOW、DESCRIBE、PRAGMA。
- SQL 執行限制:單次查詢
LIMIT最大 5000(默認 200),且必須是隻讀操作。
-
業務知識庫
- 每個數據源可以綁定獨立的知識條目(Key-Value)。
- 支持按數據源管理,便於統一口徑(如定義 GMV)。
- 知識庫使用 BM25 召回機制,根據提問內容自動匹配相關條目並注入系統提示詞。
-
環境隔離
- 安裝後,Standard、PTC、Minimal、Creative 等內置預設不受影響,SQL 工具不會出現在這些會話中。
- 新增的
dsh-data預設專用於 Data Mode。
安裝與啓用¶
本插件依賴 DSH 的 Web 環境及 Node.js 環境。
-
環境要求
- DSH Web (
dsh web) 環境。 - Node.js 版本 >= 22.19.0 或 >= 24。
- DSH Web (
-
安裝命令
使用官方安裝命令註冊插件:
dsh plugin --profile web add github:tieveto666-code/dsh-data-mode
- 啓用
- 安裝後必須重啓
dsh web。 - 打開一個新的會話,並在會話類型選擇中選擇 Data Mode。
- 安裝後必須重啓
典型用法¶
- 在 Data Mode 會話中,點擊“Data source”按鈕註冊數據源(數據庫或文件)。
- 選擇具體的數據源後,系統會加載該源的 schema 和知識庫。
- 在對話中輸入自然語言問題。例如:
- “What were last month’s orders by category?”
- “Which SKUs are low on stock?”
- “Use our definition of GMV, not a guess.”
- 若源中有定義好的業務口徑(如 GMV),回答會優先使用該口徑而非模型猜測。
注意事項¶
- 權限與安全:密碼存儲在
$DSH_HOME/data-mode/secrets.yaml,請確保文件權限安全。SQL 必須是隻讀操作,否則會被拒絕。 - 知識庫限制:每個源的知識條目上限爲 200 條,鍵長度不超過 100 字符,值不超過 1000 字符。
- DuckDB 可選依賴:插件依賴 DuckDB 進行高性能查詢。若未安裝,SQLite 和純 XLSX 文件仍可通過 Node.js 回退方案讀取。若遇到構建卡頓,需在 pnpm 配置中設置
allowBuilds.duckdb。 - 卸載:若需移除插件,執行:
dsh plugin --profile web remove dsh-data-mode
生態背景¶
該插件由社區開發者維護,遵循 MIT 許可證。DSH 生態強調模塊化,此插件通過引入獨立的會話類型和預設,在不侵入原有功能的前提下,擴展了數據分析能力。