前言¶
DeepSeek Harness(DSH)默认会随基础包(base bundle)带上若干与 DeepSeek 服务、联网搜索、会话遥测相关的 Cordis 插件。在本地开发、内网部署或合规审计场景里,你往往希望进程启动后不再加载这些官方集成,而不是逐个改全局配置或手工删包。
手动维护一份「禁用列表」容易和 DSH 版本漂移不同步。下面介绍的 dsh-local-policy 把策略写进一个 Cordis layer,通过 bundle patch 在加载阶段统一关掉指定插件,并调整 web 模块的默认 fetch 行为。
这是什么¶
dsh-local-policy(社区目录标识:xuan25/dsh-local-policy)由维护者 xuan25 发布,分类为 admin-security。仓库简介为:A cordis layer that disables shipped plugins that provide DeepSeek services in the base bundle(一层 Cordis 配置,用于禁用基础包中提供 DeepSeek 服务的内置插件)。
插件本身几乎不包含业务代码:在 package.json 里通过 DSH 的 bundle 机制指向 ./cordis.patch.yml,安装并启用后,由该 patch 文件对 Cordis 图做合并与覆盖。
当前在 GitHub 上星标为 0;SkillHub 目录页显示版本 v0.0.0,与 package.json 中的 "version": "0.0.0" 一致。仓库采用 MIT License(Copyright (c) 2026 Xuan25)。
核心功能¶
以下能力均来自仓库中的 cordis.patch.yml,启用插件即生效。
调整 web 默认 fetch 提供方¶
patch 对 id: web 的 config.fetchProvider 设为 http,注释说明意图为:Remove DeepSeek as the default web search provider(不再以 DeepSeek 作为默认联网搜索提供方)。
禁用 DeepSeek 官方集成类插件¶
同一文件中将下列 Cordis 插件标记为 disabled: true:
| 插件 id | 说明(来自 patch 注释) |
|---|---|
llm-deepseek |
Disable DeepSeek official integrations |
deepseek-llm-api-extensions |
同上 |
session-log-deepseek |
同上 |
plugin-package-inventory-deepseek |
同上 |
web-search-deepseek |
同上 |
关闭 OpenTelemetry 会话上报¶
session-telemetry-otel 被设为 disabled: true,注释为 Disable OpenTelemetry session reporting。
完整 patch 如下,便于对照与审计:
# Remove DeepSeek as the default web search provider.
- id: web
config:
fetchProvider: http
# Disable DeepSeek official integrations.
- id: llm-deepseek
disabled: true
- id: deepseek-llm-api-extensions
disabled: true
- id: session-log-deepseek
disabled: true
- id: plugin-package-inventory-deepseek
disabled: true
- id: web-search-deepseek
disabled: true
# Disable OpenTelemetry session reporting.
- id: session-telemetry-otel
disabled: true
工作机制简述¶
DSH 生态强调「一切皆插件」。本插件在 package.json 的 dsh.bundle.patch 字段注册 patch 路径:
{
"name": "dsh-local-policy",
"version": "0.0.0",
"private": true,
"dsh": {
"bundle": {
"patch": "./cordis.patch.yml"
}
}
}
启用后,Cordis 在合并 bundle 时会应用上述 layer:对应 id 的插件不会以可用状态加载,web 的配置会被覆盖。这与在本地手写多份 patch 再手动合并相比,更适合作为一条可版本化的「本地策略」插件单独安装。
安装与启用¶
SkillHub 社区目录(与 DeepSeek / 幻方无官方从属关系)将本插件标记为可安装,目录页:
https://www.skillhub.cn/plugins/xuan25/dsh-local-policy
当前抓取到的 GitHub 仓库 未包含 README,资料中亦 未给出 明文 dsh plugin … 安装命令。请在该目录页查看页面提供的安装说明,或对照你使用的 DSH 版本文档中「从社区安装插件」的流程操作,不要仅凭仓库名自行拼接未在资料中出现的命令。
安装前建议:
- 在 GitHub 阅读
cordis.patch.yml与LICENSE,确认禁用列表符合你的环境要求。 - 明确插件以 当前 dsh 进程权限 运行,策略会影响同实例加载的全部 Cordis 插件图。
典型用法¶
仓库未提供分步教程;可复现的「用法」即:安装并启用 dsh-local-policy 后,让 bundle patch 参与 Cordis 合并。经过上面的步骤,你应观察到:
- 列在 patch 中的 DeepSeek 相关插件 id 处于禁用状态。
web的fetchProvider为http,而非默认 DeepSeek 联网搜索链路。session-telemetry-otel不再参与会话 OpenTelemetry 上报。
若你仍需 LLM 能力,需要在禁用 llm-deepseek 等插件后,自行配置其他 LLM 插件或本地模型接入(具体命令取决于你的 DSH 版本与其它已安装插件,本文不展开未在资料中出现的配置项)。
适用场景与注意¶
适合谁
- 需要在单机或内网 DSH 实例上统一关闭内置 DeepSeek 服务插件的团队。
- 做安全基线或合规检查时,希望用一份可审查的 YAML 固定「默认不加载哪些官方集成」。
- 希望同时关闭 OTel 会话遥测、减少外连面的部署。
注意
- 禁用
llm-deepseek等插件后,默认 DeepSeek LLM 路径不可用,须提前规划替代方案。 - 将
web的fetchProvider改为http会改变联网搜索行为,需确认与现有工具链兼容。 - patch 中的插件 id 与上游 base bundle 命名绑定;DSH 大版本升级后,应重新核对 id 是否仍有效。
- 插件分类为 admin-security,仍属于第三方社区组件:安装前审阅源码,并确认 MIT 许可证满足你的分发要求。
结尾¶
dsh-local-policy 用最小的 Cordis layer 把「不加载哪些 DeepSeek 内置插件、如何改 web 默认 fetch、是否关闭 OTel 上报」写在一处,适合作为本地策略插件挂到 DSH 实例上。
- 社区目录:https://www.skillhub.cn/plugins/xuan25/dsh-local-policy
- 源码与 patch:https://github.com/xuan25/dsh-local-policy