D
dsh-plg (dsh-mcp-pack)
dreanzy/dsh-plg/packages/dsh-mcp-pack
按工作区控制 MCP 服务器的可见性与加载方式:行默认为 dynamic,启动时不挂载,模型按需用 mcp_load 加载(设为 eager 才保持启动即挂载);工具可用 ! 通配规则过滤;pack 可让一个工程隐藏某台 server 而不影响别的工程。与 @guowenzhang/dsh-mcp-manager 注册同名的 mcp_load/mcp_unload/mcp_call,二者只装一个。
安装
dsh plugin --profile web add github:dreanzy/dsh-plg该插件位于仓库的 packages/dsh-mcp-pack 子路径下。
README
dsh-plg
DeepSeek Harness 插件的单仓库。每个 packages/* 是一个插件包:一个 npm 包、一个 bundle、一个 entry,独立版本、独立发布、独立安装。
结构
packages/
<包名>/ # 约定 @dreanzy/ 作用域;包名不强制带 plugin- 前缀
package.json # name, dsh.bundle.patch, exports, scripts
cordis.patch.yml # 一条 insert,id 与包名后缀一致
tsconfig.json # 自包含,不 extends 根文件
src/index.ts # 服务端入口
test/*.test.js # node --test,测编译产物
安装
dsh plugin --profile <profile> add @dreanzy/<包名>
从源码安装(可选,需要 pnpm 允许该包执行构建):
dsh plugin --profile <profile> add "github:dreanzy/dsh-plg#<sha>&path:/packages/dsh-plugin-<name>"
源码安装会在你的机器上执行该包的
prepare脚本。pnpm ≥10 需要在 profile 的pnpm-workspace.yaml里为它加allowBuilds。只对锁定了 commit 的可信源码这么做。
开发
pnpm install
pnpm typecheck
pnpm test
pnpm build
发布
# 改 packages/<pkg>/package.json 的 version
pnpm --filter @dreanzy/dsh-plugin-<name> publish --access public
git tag dsh-plugin-<name>@<version>
决策记录见 docs/adr/,术语见 GLOSSARY.md。