dsh-TableRAG

September 2, 2026 · View on GitHub

English | 中文

dsh-TableRAG 把一个已经构建的 TableRAG 目录连接到 DeepSeek Harness profile。DSH 通过随附的 MCP client 启动本地只读 TableRAG stdio server,并把目录工具暴露为 mcp__tablerag__<tool>

这个 bundle 不包含表格、项目 YAML、DuckDB 数据库、凭据或 Python 运行时。TableRAG 继续负责索引、来源证据和只读查询行为。

前置条件

  1. 安装 DeepSeek Harness
  2. 安装 TableRAG,创建项目 YAML 并完成索引构建。
  3. 准备项目 YAML 的绝对路径,以及启动 DSH 的 PowerShell 进程能够访问的 table-rag 可执行文件。

TableRAG 仓库提供项目配置和索引构建说明。使用源码 checkout 时,常用构建命令为:

uv sync --extra dev --locked
uv run table-rag build --project projects\my-project.local.yaml

从 GitHub 安装

在即将启动 DSH 的同一个 PowerShell 进程中设置目录路径。table-rag 不在 PATH 时还要设置 TABLERAG_EXECUTABLE

$env:TABLERAG_PROJECT = 'C:\path\to\TableRAG\projects\my-project.local.yaml'
$env:TABLERAG_EXECUTABLE = 'C:\path\to\TableRAG\.venv\Scripts\table-rag.exe'
dsh plugin --profile web add github:BitDG/dsh-TableRAG
dsh --profile web --dump-config
dsh --profile web

--dump-config 必须显示 mcp-tablerag 配置项。缺少项目变量、执行文件无效、索引不存在或 MCP 发现失败时,插件激活会直接失败,不会发布一个空的 TableRAG 连接。

移除 bundle:

dsh plugin --profile web remove dsh-tablerag

可以换用其他 profile 名称,让这条连接不影响无关会话。只有 MCP 子进程必须从项目 YAML 所在目录之外启动时,才需要设置可选的 TABLERAG_CWD

模型获得的能力

DSH MCP client 会发现 TableRAG 工具,并注册以下稳定名称:

  • mcp__tablerag__get_project
  • mcp__tablerag__find_tables
  • mcp__tablerag__search_knowledge
  • mcp__tablerag__get_record

调用与受限结果经过 DSH 的普通工具执行流程和会话日志。验收部署时应调用 mcp__tablerag__get_project,并核对返回的项目身份和目录统计。

工作原理

cordis.patch.yml 插入一条 @deepseek-ai/dsh-mcp-client 配置:

  • TABLERAG_PROJECT 选择项目 YAML 和目录。
  • TABLERAG_EXECUTABLE 选择 TableRAG 控制台程序,默认使用 PATH 中的 table-rag
  • TABLERAG_CWD 可以覆盖子进程工作目录。
  • serverName: tablerag 让模型工具名和权限规则在重启后保持稳定。
  • failOnStartupError: true 防止 DSH 在没有 TableRAG 工具时静默启动。

所选 DSH profile 拥有连接生命周期和重连行为。TableRAG 继续拥有表格发现、索引构建、DuckDB 访问、来源证据和只读查询语义。

限制

  • 一个 bundle 实例在固定的 tablerag namespace 下连接一个项目 YAML。一个 DSH 进程需要暴露另一个目录时,应增加一条使用不同名称的 profile 配置。
  • DSH 只消费 MCP tools,不桥接可选的 tablerag://catalog MCP resource;等价的项目和表信息可以通过工具读取。
  • 环境变量属于启动进程。需要跨 shell 持久保存路径时,使用可信的本地启动脚本或明确覆盖 profile 配置项。不要提交本机路径或凭据。
  • 这个 bundle 不安装 TableRAG、不构建索引,也不修改源表。

开发验证

npm test
npm run pack:check

从本地 checkout 安装:

dsh plugin --profile web add 'file:C:/path/to/dsh-TableRAG'

采用 Apache-2.0 许可证。