dsh-postgres-expert

DSH PLUGIN工具与能力

仓库 mirelconstantin/dsh-postgres-expert · npm dsh-postgres-expert

工具与能力 未标注验证等级 安全审查:未标注 可信度:未标注 可安装插件
安装这个插件

为 DeepSeek Harness 注入 PostgreSQL 专业知识:内置 11 个 Tiger Data pg-aiguide 技能,并接入 MCP 手册检索,避免模型凭记忆写出过时表结构。

一句话选型结论

按资料字段整理

dsh-postgres-expert 是工具与能力类的 DSH 可安装插件,未做沙盒验证,暂无安全审查结论,列出 4 项功能,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类工具与能力 收录类型可安装插件 验证等级未标注验证等级 安全审查未标注
验证等级 UNKNOWN 未标注验证等级
GitHub 星标 1 复刻 0 · 未关闭 issue 未标注
最近更新 2026-10-10 创建于 2026-10-10
README 11.8 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add dsh-postgres-expert
  1. 1
    确认版本与运行环境

    仓库没有标注兼容版本与 Node.js 要求,先确认你的 DSH 版本能装,再继续。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名dsh-postgres-expert可用 npm view 查看包信息

能做什么

4 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-postgres-expert:为 DeepSeek Harness 注入 PostgreSQL 专家能力

  • 内置 11 个 PostgreSQL 技能
  • 覆盖表设计、PostGIS、pgvector
  • 接入 pg-aiguide MCP 手册检索
  • 技能可离线使用

上游标签

agent-skillsai-skillsclaude-skillscodexcodis-plugindeepseek-harnessdeepseek-harness-plugindshdsh-externaldsh-plugindsh-pluginsmcpmcp-serverpgvectorpostgispostgres

验证等级与安全审查

未标注验证等级
自动化流程结论,不是人工审核
验证等级未标注验证等级上游未给出验证结论,安装前请自行确认
安全审查未标注静态分析结论,未标注不代表已通过审查
仓库健康度未标注按仓库活跃度与最近更新时间给出
可信度未标注综合仓库活跃度与验证结果

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。
  • 列出了 4 项功能,能直接看出它解决什么问题。

先想清楚的地方

  • 安全审查还没结论,装之前先看仓库改了什么、要什么权限。
  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在工具与能力场景里给 DSH 补能力的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-postgres-expert当前 未做沙盒验证 未标注 1 未标注 有
loopx 未做沙盒验证 未标注 6,233 未标注 无
dsh-startup-screen 未做沙盒验证 未标注 633 未标注 有
minara-skills L4 · 沙盒安装通过 中风险 360 未标注 有
dsh-blender-plugin 未做沙盒验证 未标注 211 未标注 无
tokenledger L5 · 运行验证通过 低风险 204 0.2.0-rc.2 等 11 个 有

仓库档案

工具与能力
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方mirelconstantin仓库 dsh-postgres-expert · 默认分支 未标注
分类工具与能力tools
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言JavaScript仓库主语言
许可证Apache-2.0商用或二次分发前请确认条款原文
星标 / 复刻 / issue1 / 0 / 未标注收录时的数值,非实时
创建 / 更新2026-10-10 · 2026-10-10最后推送 未标注
本站收录2026-10-10首次进入本站目录的时间

README 全文

11.8 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-postgres-expert

PostgreSQL expertise for DeepSeek Harness. Eleven curated skills from
Tiger Data's pg-aiguide, registered as native skills, plus the public MCP
server for version-exact manual search — so the model stops writing 2015-era
schemas from memory.

Install

Anyone can install this. It needs a DeepSeek Harness profile, and nothing else —
no API key, no database and no account, because the only network call it makes is
an optional documentation search against a public endpoint.

From the GUI, paste this into Add plugin:

dsh-postgres-expert

Or from a terminal:

dsh plugin add dsh-postgres-expert

That is a plain npm install. It needs neither git nor a GitHub account.

No build step is involved. Every entry point ships as committed source, so
pnpm never has to run this package's scripts and you are never asked to
allowlist a build. Restart the profile afterwards and three rows appear.

Asking an agent instead

You can also just say "install the dsh-postgres-expert plugin in this
profile"
and the agent will run the same install for you — it has a
plugin_manager install_bundle tool and writes the bundle for you. You do not
need this route, and it is not shorter; it is there because installing from an
agent is occasionally the only option available, such as over a remote host.

One thing to know if you use it: installing a package means its code runs on
your machine, so the agent will ask for approval first. That prompt is the
point, not an obstacle.

Installing by other routes

Route Command
npm, the default dsh plugin add dsh-postgres-expert
Pinned to a version dsh plugin add dsh-postgres-expert@1.0.0
Pinned to a commit dsh plugin add github:mirelconstantin/dsh-postgres-expert#
Tarball dsh plugin add ./dsh-postgres-expert-1.0.0.tgz
Local checkout dsh plugin add /absolute/path/to/dsh-postgres-expert
As a profile dependency see below

The GitHub route needs nothing but git access to this repository. The npm route
needs neither git nor an account, and is what the command above uses.

As a profile dependency, add it to package.json and to dsh.profile.bundles:

{
"dependencies": {
"dsh-postgres-expert": "1.0.0"
},
"dsh": {
"profile": {
"bundles": ["@deepseek-ai/dsh-base", "@deepseek-ai/dsh-web-app", "dsh-postgres-expert"]
}
}
}

dsh plugin add does both of those edits for you.

What it adds

Row What it does
postgres-expert-skills registers the 11 vendored skills on ctx.skills
postgres-expert-prompt the system-prompt section that makes the guidance known
postgres-expert-mcp connects the public pg-aiguide MCP server over Streamable HTTP

The rows are independent. postgres-expert-mcp is the only one that touches
the network
, so disabling it leaves the curated skills working entirely
offline:

- id: postgres-expert-mcp
disabled: true

Overriding that row replaces its whole config object, so re-declare every
field you still want. The fields are the
@deepseek-ai/dsh-mcp-client configuration:
transport, serverName, url, headers, toolCallTimeoutMs,
failOnStartupError, maxInstructionBytes and reconnect.

The skills

Skill Covers
postgres umbrella router; points at the right reference for any PostgreSQL task
design-postgres-tables data types, constraints, indexes, JSONB, partitioning
design-postgis-tables spatial design, geometry vs geography, SRIDs, spatial indexes
schema-exploration read-only exploration of an existing database through pg_catalog
postgres-database-migration zero-downtime DDL, lock levels, backfills, rollback
pgvector-semantic-search vector indexes, filtered search, tuning
postgres-hybrid-text-search BM25 and semantic search fused with RRF
setup-timescaledb-hypertables hypertables, compression, retention, continuous aggregates
find-hypertable-candidates SQL that scores existing tables for hypertable conversion
migrate-postgres-tables-to-hypertables partition-column choice, in-place vs blue-green, validation
timescaledb-hyperfunctions hyperfunctions for aggregation and analysis

How they load themselves

You do not have to invoke a skill, and you do not have to remember a name. The
harness does the routing, and it happens before the model ever decides anything:

  1. Every skill announces itself. At the first step of a session the harness
    injects an `` catalog carrying each skill's name and
    description — nothing else, no bodies. Each session gets this
    automatically.
  2. The descriptions are the routing table. They are written for it: pg-aiguide
    packs each description with trigger phrases and a keyword line (PostgreSQL, Postgres, schema, table design, indexes, constraints, hypertable, semantic search, …). That is what makes the match, not anything this plugin does.
  3. The model loads the one it needs. When the task is PostgreSQL, the model
    calls skill({ name }) by itself. That is the whole mechanism.

So "when it is about postgres" is already the behaviour: ask for a schema and
the model loads postgres or design-postgres-tables on its own. Ask about
React and nothing loads, because the catalog is the only thing in the prompt.

This plugin's own postgres-expert-prompt section reinforces it by naming the
skills and the MCP tool, so the model does not have to infer the tools exist.

The one thing this cannot do is override a deliberate restriction: a preset's
tools.restrict({ allow: [...] }), a subagent's toolFilter or a disabled
postgres-expert-skills row removes the skills from that scope, and the prompt
section withdraws itself with them rather than advertising tools it cannot
reach.

Bodies load on demand, so a session that never touches PostgreSQL pays nothing
for any of this.

The MCP connection

The harness connects to https://mcp.tigerdata.com/docs, negotiates the
protocol, discovers the tools and exposes each as an ordinary harness tool with
cancellation, permission checks and recorded results. It does not host or
supervise the server — Tiger Data runs it.

Upstream exposes exactly two tools:

Tool Arguments
mcp__pg-aiguide__search_docs source, query, optional limit (default 20) and semanticWeight (0 keyword → 1 semantic, default 0.7)
mcp__pg-aiguide__view_skill name, optional path

source carries both corpus and version in one value — tiger,
postgres_14 … postgres_18, postgis_3.3 … postgis_3.6. There is no
separate version argument.

view_skill overlaps with the skills vendored here, which is why the skills are
registered natively rather than read back over MCP.

Discovery is asynchronous: after a restart, wait for the mcp__pg-aiguide__*
tools before sending the first prompt that needs them. If the endpoint is
unreachable the bundle still loads, failOnStartupError: false keeps it that
way, and the reconnect policy retries with backoff.

Staying current

The vendored skills under assets/skills/ are what the plugin serves, so a copy
that is not synced is a package serving stale advice.

assets/upstream.json is the provenance. It records the upstream commit, a
SHA-256 digest per file, and the licence the copy was taken under — so the exact
upstream state this package corresponds to is reviewable without fetching
anything.

npm run sync          # rewrite assets/skills/ and the pin from upstream
npm run sync:check    # fail if the vendored tree differs from what upstream gives
npm test              # behaviour tests over the catalogue and the sync helpers

A GitHub Actions workflow runs sync daily and opens a pull request when
upstream has moved. CI runs sync:check on Linux and Windows on every push
and pull request, so a package cannot be published against a stale mirror.

Releasing

Merging an upstream sync is not enough on its own: the registry serves a fixed
tarball, so a new upstream state needs a new npm version before anyone receives
it.

npm run prepublish      # every gate, without publishing
npm version patch       # 1.0.0 -> 1.0.1
npm publish
git push --follow-tags

npm publish runs scripts/prepublish.mjs first, and refuses if any of it
fails. A published name and version can never be reused, even after an
unpublish, so the gate checks that the version is free on the registry, that the
working tree is committed, and that the tag points at HEAD — otherwise the
registry and the repository would describe different code under the same
version.

How the sync reads upstream

One repository tarball, with the sha resolved by git ls-remote — so it needs no
GitHub token and cannot exhaust the API rate limit on a schedule. Two details of
the upstream tree are handled explicitly:

  • Symlinks are materialised. pg-aiguide's postgres umbrella skill points
    its references/ at the sibling skills with relative symlinks. Those links do
    not survive every checkout or npm publish, so their contents are copied into
    place and the vendored tree is identical on every platform.
  • Only markdown below skills/ is copied, so the output stays reviewable.

Licence and attribution

The vendored skills are redistributed unmodified under the Apache License
2.0 from timescale/pg-aiguide. See
LICENSE and NOTICE; the upstream copyright notice is
retained verbatim as that licence requires.

This plugin configures a connection to a public MCP server operated by Tiger
Data. It vendors no server code and sends no telemetry.

icon.svg is Pazalo's logo.

Layout

cordis.patch.yml            the bundle: three independent rows
icon.svg                    the plugin panel's row image
src/catalog.js              reads the vendored skills and their frontmatter
src/entry-skills.js         loader entry registering the skills
src/entry-prompt.js         loader entry publishing the guidance section
src/prompt.js               the guidance text and its visibility check
assets/skills/              the vendored pg-aiguide skills (synced, not edited)
assets/upstream.json        the upstream commit and a digest per file
scripts/sync-upstream.mjs   the vendoring tool
scripts/check-patch.mjs     CI gate: bundle patch, exports and icon
test/plugin.test.js         behaviour tests

Never edit anything under assets/skills/ by hand: the next sync overwrites it
and sync:check fails on the difference. Change upstream, or change this
plugin's own source.

Plugin © 2026 dsh-postgres-expert contributors
Skills © 2025 Timescale, Inc., d/b/a Tiger Data — Apache-2.0

常见问题

6 问
答案由本站依据条目字段整理,不引用上游原文
dsh-postgres-expert 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add dsh-postgres-expert` 即可。对应的 npm 包名是 `dsh-postgres-expert`。

dsh-postgres-expert 的验证等级是什么意思?

未标注验证等级。上游未给出验证结论,安装前请自行确认

dsh-postgres-expert 安全吗?

未标注。

dsh-postgres-expert 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-postgres-expert 用的是什么许可证?

上游标注为 Apache-2.0。商用或二次分发前请到仓库确认许可证原文。

dsh-postgres-expert 有哪些功能?

内置 11 个 PostgreSQL 技能、覆盖表设计、PostGIS、pgvector、接入 pg-aiguide MCP 手册检索、技能可离线使用。

工具与能力
按星标排序,可作替代方案

loopx

loopx

LoopX 是面向长周期 Agent 的本地优先控制平面,作为 DSH plugin 为 DeepSeek Harness 提供持久目标、证

未标注验证等级 6,233 星

dsh-startup-screen

dsh-startup-screen

DeepSeek Harness 的启动界面与启动动画插件。

未标注验证等级 633 星

dsh-blender-plugin

dsh-blender-plugin

让 AI 模型通过直连 TCP 通道实时驱动 Blender 的 DSH plugin:15 个工具覆盖视口取帧、任意角度渲染、内循环搜索、

未标注验证等级 211 星

tokenledger

TokenLedger

TokenLedger 为 DeepSeek Harness 提供零配置的 Token 用量记账,自动归属到实际服务请求的中转站,无需凭据即

L5 · 运行验证通过 204 星

deepseek-harness-jev

deepseek-harness-jev

把 TypeSafe Jev 接入 DeepSeek Harness 作为 System One 决策层,为技能与文件选择、任务监督、纠偏和

未标注验证等级 203 星

mirelconstantin 的其它插件

3 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 —。