dsh-TableRAG
September 2, 2026 · View on GitHub
English | 中文
dsh-TableRAG connects one built TableRAG catalog to a DeepSeek Harness profile. DSH starts the local read-only TableRAG stdio server through its shipped MCP client and exposes the catalog tools as mcp__tablerag__<tool>.
The bundle contains no spreadsheets, project YAML, DuckDB database, credentials, or Python runtime. TableRAG remains the owner of indexing, evidence, and read-only query behavior.
Prerequisites
- Install DeepSeek Harness.
- Install TableRAG, create a project YAML, and build its index.
- Keep the absolute project YAML path and the
table-ragexecutable path available to the PowerShell process that launches DSH.
The TableRAG repository documents project configuration and index construction. A source checkout typically builds with:
uv sync --extra dev --locked
uv run table-rag build --project projects\my-project.local.yaml
Install from GitHub
Set the selected catalog in the same PowerShell process that installs and launches DSH. Set TABLERAG_EXECUTABLE when table-rag is not on PATH:
$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 must show the mcp-tablerag row. A missing project variable, invalid executable, missing index, or failed MCP discovery aborts plugin activation instead of publishing an empty connection.
Remove the bundle with:
dsh plugin --profile web remove dsh-tablerag
Use another profile name to keep the catalog away from unrelated sessions. Set optional TABLERAG_CWD only when the MCP child process must start outside the project YAML directory.
What the model gets
The DSH MCP client discovers the TableRAG tools and registers stable names such as:
mcp__tablerag__get_projectmcp__tablerag__find_tablesmcp__tablerag__search_knowledgemcp__tablerag__get_record
Calls and bounded results pass through the normal DSH tool pipeline and session log. Verify a deployment by calling mcp__tablerag__get_project and checking the returned project identity and catalog statistics.
How it works
cordis.patch.yml inserts one @deepseek-ai/dsh-mcp-client row:
TABLERAG_PROJECTselects the project YAML and catalog.TABLERAG_EXECUTABLEselects the TableRAG console script, defaulting totable-ragonPATH.TABLERAG_CWDoptionally overrides the child working directory.serverName: tableragkeeps model-facing tool names and permission rules stable across restarts.failOnStartupError: trueprevents silent startup without TableRAG tools.
The selected DSH profile owns connection lifetime and reconnect behavior. TableRAG continues to own spreadsheet discovery, index construction, DuckDB access, evidence, and read-only query semantics.
Limitations
- One bundle instance connects one project YAML under the fixed
tableragnamespace. Add a separately named profile row when one DSH process must expose another catalog. - DSH consumes MCP tools only. The optional
tablerag://catalogMCP resource is not bridged, but equivalent project and table information is available through tools. - Environment variables belong to the launching process. Use a trusted local launcher or an explicit profile-row override when paths must persist across shells. Do not commit machine-specific paths or credentials.
- This bundle does not install TableRAG, build an index, or modify source spreadsheets.
Development
npm test
npm run pack:check
For a local checkout installation:
dsh plugin --profile web add 'file:C:/path/to/dsh-TableRAG'
Licensed under Apache-2.0.