dsh-data-mode: DeepSeek Harness 数据模式插件

前言

DeepSeek Harness (DSH) 的核心设计理念是“一切皆插件”。dsh-data-mode 是在此基础上扩展的一个插件,它为 DSH 增加了一种名为“Data Mode”的会话类型。该类型专注于只读分析场景:你可以连接数据库或上传文件,使用自然语言提问,而无需离开对话界面,也无需给模型写入数据库的权限。

核心功能

该插件主要解决在 DSH 环境中进行数据查询时的上下文与权限隔离问题。

  1. 数据源连接与预览

    • 支持连接 PostgreSQL、MySQL、SQLite,或上传 CSV/XLSX 文件。
    • 提供表预览功能,在提问前可查看表结构与样例数据。
    • 支持按数据源管理业务知识(指标定义、别名、公式)。
  2. 自然语言与只读 SQL

    • 使用自然语言发起查询,插件会将指令转换为只读 SQL。
    • 提供的只读 SQL 工具包括:SELECT、WITH、EXPLAIN、SHOW、DESCRIBE、PRAGMA。
    • SQL 执行限制:单次查询 LIMIT 最大 5000(默认 200),且必须是只读操作。
  3. 业务知识库

    • 每个数据源可以绑定独立的知识条目(Key-Value)。
    • 支持按数据源管理,便于统一口径(如定义 GMV)。
    • 知识库使用 BM25 召回机制,根据提问内容自动匹配相关条目并注入系统提示词。
  4. 环境隔离

    • 安装后,Standard、PTC、Minimal、Creative 等内置预设不受影响,SQL 工具不会出现在这些会话中。
    • 新增的 dsh-data 预设专用于 Data Mode。

安装与启用

本插件依赖 DSH 的 Web 环境及 Node.js 环境。

  1. 环境要求

    • DSH Web (dsh web) 环境。
    • Node.js 版本 >= 22.19.0 或 >= 24。
  2. 安装命令
    使用官方安装命令注册插件:

    dsh plugin --profile web add github:tieveto666-code/dsh-data-mode
  1. 启用
    • 安装后必须重启 dsh web。
    • 打开一个新的会话,并在会话类型选择中选择 Data Mode。

典型用法

  1. 在 Data Mode 会话中,点击“Data source”按钮注册数据源(数据库或文件)。
  2. 选择具体的数据源后,系统会加载该源的 schema 和知识库。
  3. 在对话中输入自然语言问题。例如:
    • “What were last month’s orders by category?”
    • “Which SKUs are low on stock?”
    • “Use our definition of GMV, not a guess.”
  4. 若源中有定义好的业务口径(如 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 生态强调模块化,此插件通过引入独立的会话类型和预设,在不侵入原有功能的前提下,扩展了数据分析能力。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜