dsh-local-policy:用 Cordis 层关闭基础包里的 DeepSeek 相关插件

前言

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 版本文档中「从社区安装插件」的流程操作,不要仅凭仓库名自行拼接未在资料中出现的命令。

安装前建议:

  1. 在 GitHub 阅读 cordis.patch.yml 与 LICENSE,确认禁用列表符合你的环境要求。
  2. 明确插件以 当前 dsh 进程权限 运行,策略会影响同实例加载的全部 Cordis 插件图。

典型用法

仓库未提供分步教程;可复现的「用法」即:安装并启用 dsh-local-policy 后,让 bundle patch 参与 Cordis 合并。经过上面的步骤,你应观察到:

  1. 列在 patch 中的 DeepSeek 相关插件 id 处于禁用状态。
  2. web 的 fetchProvider 为 http,而非默认 DeepSeek 联网搜索链路。
  3. 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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye