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

隐私护盾 DavidCarliez/ds-cover

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

在请求发往模型前过滤敏感信息并还原响应

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

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add DavidCarliez/ds-cover
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · tool
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
暂无时间戳·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 16 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

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

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 33 处,展示前 25 条)
  • 写入本地文件
    src/controller.js:105
    await mkdir(join(this.home, '.config/cover'), { recursive: true, mode: 0o700 });
  • 写入本地文件
    src/controller.js:106
    await mkdir(join(this.home, '.local/share/cover'), { recursive: true, mode: 0o700 });
  • 读取本地文件
    src/controller.js:108
    const state = JSON.parse(await readFile(this.statePath, 'utf8'));
  • 读取本地文件
    src/controller.js:116
    config = await readFile(this.configPath, 'utf8');
  • 写入本地文件
    src/controller.js:126
    await writeFile(this.configPath, imported, { mode: 0o600, flag: 'wx' });
  • 读取本地文件
    src/controller.js:129
    config = await readFile(this.configPath, 'utf8');
  • 发起网络请求
    src/controller.js:152
    const response = await fetch(`${this.baseURL}/__cover/health`, { signal: signal ? AbortSignal.any([signal, timeout]) : timeout, redirect: 'error' });
  • 读取本地文件
    src/controller.js:178
    const applied = JSON.parse(await readFile(this.appliedPath, 'utf8'));
  • 写入本地文件
    src/controller.js:188
    await writeFile(temporary, JSON.stringify(applied, null, 2) + '\n', { mode: 0o600, signal });
  • 写入本地文件
    src/controller.js:189
    await rename(temporary, this.appliedPath);
  • 删除本地文件
    src/controller.js:194
    await rm(temporary, { force: true });
  • 删除本地文件
    src/controller.js:199
    try { await rm(this.appliedPath, { force: true }); }
  • 写入本地文件
    src/controller.js:269
    await writeFile(temporary, JSON.stringify(state, null, 2) + '\n', { mode: 0o600, signal });
  • 删除本地文件
    src/controller.js:274
    await rm(temporary, { force: true });
  • 读取本地文件
    src/controller.js:315
    try { return await readFile(this.configPath, 'utf8'); }
  • 读取本地文件
    src/controller.js:341
    try { text = await readFile(this.sourcePolicy, 'utf8'); }
  • 删除本地文件递归
    src/controller.js:392
    } finally { await rm(directory, { recursive: true, force: true }); }
  • 删除本地文件
    src/controller.js:409
    await rm(temporary, { force: true });
  • 删除本地文件递归
    src/controller.js:427
    } finally { await rm(directory, { recursive: true, force: true }); }
  • 执行外部命令来自配置/变量
    src/controller.js:497
    const child = spawn(this.binary, ['monitor', '--show-content', '--json'], { env: this.env, stdio: ['ignore', 'pipe', 'ignore'] });
  • 发起网络请求
    src/controls.js:101
    async fetch(endpoint, request) {
  • 发起网络请求
    src/router.js:80
    outgoing = (target.protocol === 'https:' ? https : http).request(target, { method: request.method, headers }, incoming => {
  • 读取本地文件
    src/server.js:75
    const require = createRequire(await realpath(process.argv[1]));
  • 读取本地文件
    src/server.js:76
    const manifest = JSON.parse(await readFile(require.resolve('@deepseek-ai/dsh/package.json'), 'utf8'));
  • 发起网络请求
    src/server.js:177
    fetch: request => controls.fetch(endpoint, request),
扫描于 2026/11/4(0 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

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

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-llm-deepseek@deepseek-ai/cordis@deepseek-ai/dsh-llm@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

为 DeepSeek Harness Web 提供隐私保护,含原生锁定指示器、策略编辑器和本地控制。

README

由 DeepSeek 最新模型翻译生成
ds-cover 为 DeepSeek Harness Web 提供 Cover 隐私保护。应用底部的锁形图标显示保护状态,点击可打开控制面板。 插件把 DeepSeek 原生的 API-key 请求和账号请求都交给真正的 Cover 引擎处理。Cover 在内容到达 DeepSeek 之前过滤敏感信息,并在响应中还原可逆的替换内容,流式文本和工具参数也不例外。 快速开始 要求: DeepSeek Harness 0.2.1-rc.2(已测试)、Node.js 22+、Cover 0.3.0+。cover 可执行文件必须在 harness 进程的 PATH 中,或者通过 COVER_BIN 指定。 在本仓库中运行: npm ci npm run build dsh plugin --profile web add "link:$PWD" 打开 harness,点击 Cover 锁形图标,查看 Setup checks,然后选择 Start。也可以在会话中运行 /cover start。 保护默认开启,自动回退默认关闭。 守护进程未运行时,原生 DeepSeek 请求会被拦截,而不是在无保护的情况下发出。安装、重启或禁用插件时,请确保没有正在进行的生成。 使用 Cover - Overview: 开关保护、管理守护进程、检查安装与健康状态。
展开完整文档(README 剩余 1 节)
ds-cover

为 DeepSeek Harness Web 提供 Cover 隐私保护。应用底部的锁形图标显示保护状态,点击可打开控制面板。

插件把 DeepSeek 原生的 API-key 请求和账号请求都交给真正的 Cover 引擎处理。Cover 在内容到达 DeepSeek 之前过滤敏感信息,并在响应中还原可逆的替换内容,流式文本和工具参数也不例外。

快速开始

要求: DeepSeek Harness 0.2.1-rc.2(已测试)、Node.js 22+、Cover 0.3.0+。cover 可执行文件必须在 harness 进程的 PATH 中,或者通过 COVER_BIN 指定。

在本仓库中运行:

npm ci
npm run build
dsh plugin --profile web add "link:$PWD"

打开 harness,点击 Cover 锁形图标,查看 Setup checks,然后选择 Start。也可以在会话中运行 /cover start。

保护默认开启,自动回退默认关闭。 守护进程未运行时,原生 DeepSeek 请求会被拦截,而不是在无保护的情况下发出。安装、重启或禁用插件时,请确保没有正在进行的生成。

使用 Cover

- Overview: 开关保护、管理守护进程、检查安装与健康状态。Advanced management 中包含模型下载和 Cover 更新/回滚。
- Policy: 编辑并校验完整的 YAML 策略,包括自定义检测器和全部六种动作:allow、placeholder、pseudonymize、mask、redact、block。切换标签页时草稿会保留;关闭前若有未保存的修改,会先询问。
- Inspect: 在本地预览请求的转换结果,不发送给 DeepSeek。
- Activity: 查看请求元数据,或显式开启敏感内容的临时实时视图。

保存的修改会一直标记为 pending restart,直到 Cover 重新加载。对已在运行的守护进程执行 Start 不会应用修改。自动回退开启时,即使 Cover 状态健康,锁形图标也会给出警告。

锁形图标描述的是所选服务商的下一次请求,而不是机器上的全部流量:

| 状态 | 含义 |
| Protected | 原生路由已配置,且 Cover 状态健康。 |
| Blocked | 保护已开启,但受保护的路由不可用。 |
| Protection off | 请求绕过 Cover。 |
| Unprotected fallback | Cover 不可用,且显式开启的回退允许直接请求。 |
| Not configured | 不支持所选服务商。 |
| Status unknown | 无法验证所选服务商或当前连接状态。 |

失败或被策略拦截的请求绝不会直接重试。更新和回滚会更换共享的 Cover 可执行文件,可能影响其他集成。下载和可执行文件更新都需要显式操作。
会话命令:/cover status、on、off、start、stop、restart、doctor、test、monitor、fallback on/off、models status/pull。每条命令前都加 /cover;要看详细输出,请用面板。

配置与隐私

运行时文件放在仓库之外的 ~/.local/share/ds-cover。策略文件位于该目录下的 .config/cover/config.yaml。

首次使用时,如果存在 ~/.config/cover/config.yaml 策略,ds-cover 会校验并导入它;否则使用 Cover 的出厂默认值。它会单独分配路由、密钥和日志设置,不改动原配置,也不改动守护进程。之后对原策略的修改不会自动导入。

个人策略、允许列表、密钥和日志不会随包发布,也不会提交到仓库。 仓库里的测试规则都是合成的。策略编辑器只改动私有的运行时配置。

防护有边界:

- 只覆盖 DeepSeek 原生的 API-key 服务商和账号服务商。其他服务商、shell 命令、浏览器流量、MCP 工具、登录和遥测都在边界之外。
- 连接凭据仍会到达 DeepSeek。图片和不透明附件不做扫描;图片内容不能外流时,请设置 media.images: block。
- 预览和主动开启的实时捕获会把敏感内容暴露给已认证的浏览器。请使用可信连接,避免屏幕共享。连接重置时实时视图会清空;被弃置的视图会在 15 秒内过期。
- 移除或停用插件会恢复底层服务商路由。只停守护进程时,防护仍然开启,请求会被拦截,除非启用了 fallback。

检测器和协议的限制见 Cover 的安全边界。

开发

npm test
npm run build
npm run check:package

测试使用真实的 Cover 二进制和原生 DeepSeek 适配器,配合临时策略和回环上游——不调用云端模型。测试覆盖策略动作、流式与工具恢复、认证、fail-closed 路由、策略激活和客户端生命周期。CI 在 Node.js 22 和 24 上运行。

npm pack 会自动构建打包产物。check:package 校验包是否来自干净的源码,并加载它的宿主入口和客户端入口。

改动源码后需要重新构建。客户端改动会通过 harness 重新加载;宿主改动需要重新组合配置档或重启,除非 HMR 监视了这个仓库。

许可证

Apache-2.0。基于 DavidCarliez/cover 和原生 DeepSeek Harness 插件 API 构建。
预览分享卡片长什么样 ↓DavidCarliez/ds-cover
分享 · DeepSeek Harness Hub
DavidCarliez/ds-cover

在请求发往模型前过滤敏感信息并还原响应

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部