🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

禁回传补丁 mattcarvercom/dsh-no-phone-home

DeepSeek Harness
mattcarvercom37 天前有提交已提供中文文档扫描:含敏感能力

关闭遥测与反馈上传,阻止会话数据外发

30.6/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/29 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查未通过:缺少 main/exports/bin 入口声明。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add mattcarvercom/dsh-no-phone-home
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · other
装得上吗
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 37 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

缺少 main/exports/bin 入口声明

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-no-phone-home(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/14 16:17:34

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 12 处,展示前 6 条)
  • 读取本地文件
    src/audit.mjs:61
    if (!existsSync(bin)) continue
  • 读取本地文件
    src/audit.mjs:65
    if (existsSync(manifest) && JSON.parse(readFileSync(manifest, 'utf8')).name === '@deepseek-ai/dsh') return current
  • 读取本地文件
    src/audit.mjs:65
    if (existsSync(manifest) && JSON.parse(readFileSync(manifest, 'utf8')).name === '@deepseek-ai/dsh') return current
  • 读取本地文件
    src/audit.mjs:84
    if (existsSync(candidate)) return realpathSync(candidate)
  • 读取本地文件
    src/audit.mjs:106
    if (existsSync(groups)) {
  • 读取本地文件
    src/audit.mjs:107
    for (const group of readdirSync(groups, { withFileTypes: true })) {
扫描于 2026/11/3(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 关闭遥测上传
  • 阻止诊断数据外发
  • 关闭反馈收集

阻止 DeepSeek Harness(dsh)向外回传:一个纯补丁包,关掉所有遥测、诊断上传和反馈收集项

README

由 DeepSeek 最新模型翻译生成
dsh-no-phone-home 阻止 DeepSeek Harness (dsh) 回传数据。这是一个仅包含补丁的捆绑包:它不附带任何运行时代码,只是禁用随附的插件行,这些插件行会将数据发送到你的机器之外用于 DeepSeek 的诊断,或者会记录数据以便日后发送。 它禁用了什么 | 行 | 启用时的作用 | | session-telemetry-otel | 每当你留下反馈时(/feedback,或对消息评分),将会话日志前缀导出到 dsh-otel-collector.deepseeksvc.com。在随附的默认模式(FEEDBACK_ONLY)下,单次点赞就会上传截至该时间点的会话:消息文本、工具参数和结果,以及工作区路径。 | | otel | 会话遥测和产品遥测共用的 OTLP 传输。 | | session-log-deepseek | 将会话日志的增量副本(dsh_session_log,最大 8 MiB)附加到发送给官方 DeepSeek API 的每个请求中。 | | plugin-package-inventory-deepseek | 将你的活动插件列表(dsh_plugin_packages)附加到发送给官方 DeepSeek API 的每个请求中。
展开完整文档(README 剩余 1 节)
dsh-no-phone-home

阻止 DeepSeek Harness (dsh) 回传数据。这是一个仅包含补丁的捆绑包:它不附带任何运行时代码,只是禁用随附的插件行,这些插件行会将数据发送到你的机器之外用于 DeepSeek 的诊断,或者会记录数据以便日后发送。

它禁用了什么

| 行 | 启用时的作用 |
| session-telemetry-otel | 每当你留下反馈时(/feedback,或对消息评分),将会话日志前缀导出到 dsh-otel-collector.deepseeksvc.com。在随附的默认模式(FEEDBACK_ONLY)下,单次点赞就会上传截至该时间点的会话:消息文本、工具参数和结果,以及工作区路径。 |
| otel | 会话遥测和产品遥测共用的 OTLP 传输。 |
| session-log-deepseek | 将会话日志的增量副本(dsh_session_log,最大 8 MiB)附加到发送给官方 DeepSeek API 的每个请求中。 |
| plugin-package-inventory-deepseek | 将你的活动插件列表(dsh_plugin_packages)附加到发送给官方 DeepSeek API 的每个请求中。 |
| desktop-product-telemetry、product-analytics | 桌面产品分析及其 OTLP 导出器。上游仅在桌面配置文件中启用这些;此捆绑包在所有配置文件中禁用它们。 |
| command-feedback、message-feedback、ui-message-feedback | /feedback、消息评分和备注。这些记录的存在是为了授权并供给遥测上传;在遥测关闭的情况下,它们只会堆积起来等待日后上传。禁用它们会从消息中移除评分按钮。 |

较旧的 dsh 版本缺少其中一些行(otel 和桌面相关行是在 0.1.7-rc.2 之后出现的)。dsh 会跳过它没有的行的补丁,因此该捆绑包在两种情况下都能正常工作。

补丁仅针对行 id。如果上游将某个 id 移到不同的包,那么同时指定包的补丁会被跳过,否则会静默地重新启用该行。

未涵盖的内容

- DeepSeek API 请求头。 DeepSeek 模型适配器(llm-deepseek、llm-deepseek-account)会随每个模型请求发送 x-deepseek-harness-user-id(一个存储在 $DSH_HOME/.anonymous-user-id 中的随机 id)和 x-deepseek-harness-session-id。这些只会发送到你已经在向其发送提示的 DeepSeek 端点,并且仅当你使用 DeepSeek 路由时才会发送。通过其他适配器(例如 OpenAI 兼容的 llm-pi-ai)的路由不会发送此类请求头。移除它们需要在 dsh 本身中进行代码更改。
- 你有意使用的功能。 登录 DeepSeek 账户和 DeepSeek 网络搜索会在你使用它们时与 DeepSeek 通信。它们不是遥测,因此此捆绑包不会动它们。

安装

dsh plugin --profile web add github:mattcarvercom/dsh-no-phone-home#v1.0.0

这会安装该捆绑包并将其添加到配置文件的捆绑包列表中。在 HMR 处于活动状态时(web 的默认设置),它会应用于正在运行的 dsh web 而无需重启;否则请重启 dsh。你也可以从 Plugins 页面切换它。
为了纵深防御,还要在启动 dsh 的环境中设置 DSH_TELEMETRY_DISABLED=1。dsh 会在每个补丁层之后应用该开关,包括 Plugins 页面写入的 profile 补丁,因此即使该行在 UI 中被重新打开,它也会让 session-telemetry-otel 保持关闭。

验证

从本仓库的克隆中:

npm run check # audits ~/.dsh/profiles/web as dsh would compose it right now
npm test # checks the patch against your installed dsh; run after every dsh upgrade

两者都通过 PATH 上的 dsh 找到 dsh。将 DSH_PACKAGE_DIR 设置为已安装的 @deepseek-ai/dsh 包,或将 DSH_CHECKOUT 设置为源码检出,以使用不同的 dsh。check 还接受一个 profile 目录作为其参数,并遵循 DSH_HOME。

check 按 dsh 的顺序组合真实的层:每个 bundle、profile 补丁、$DSH_HOME/cordis.patch.yml,然后是 DSH_TELEMETRY_DISABLED。如果任何被拒绝的行被启用、如果 bundle 未挂载,或者如果某个已启用行的包名看起来像遥测但未被覆盖,它会以 1 退出。只有当 disabled 字面上为 true 时,一行才被视为已禁用;条件值(!!js)不算。你的 dsh 版本没有的行会被列为 absent。

npm test 会针对你已安装的 dsh 的 base 和 web-app bundle 检查补丁。如果被拒绝的包移动到新的行 id、如果补丁不再是仅 id 的,或者如果组合结果不干净,它会失败。它还会确认审计确实能捕获随附的默认值、之后的重新启用,以及一个新的遥测形态的行。

已使用来自 npm 的 dsh 0.1.7-rc.2 以及比它领先 155 个提交的源码检出,在 Node 25 和 26 上测试。

许可证

MIT
预览分享卡片长什么样 ↓mattcarvercom/dsh-no-phone-home
分享 · DeepSeek Harness Hub
mattcarvercom/dsh-no-phone-home

关闭遥测与反馈上传,阻止会话数据外发

这是你的仓库?认领条目

回到顶部