前言¶
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 生态强调模块化,此插件通过引入独立的会话类型和预设,在不侵入原有功能的前提下,扩展了数据分析能力。