DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

dsh-veil

Veil

DeepSeek Harness 插件:模型看到一致的化名,你的机器保留真实值(veil 隐私代理)

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add dsh-veil@0.1.0
README兼容性版本

兼容性与来源证明

Veil 以 dsh-veil 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
npm
Registry 更新时间
2026/11/4

版本

0.1.0stable
2026/10/23

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
32.1 kB
文件数
6
Surface
any
许可证
Apache-2.0
发布源
npm
周下载
39
查看源码 ↗项目主页 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 security-access 分类下经过校验的插件。

Doctor@linxin666/dsh-doctorDSH 配置档案的事务性救援模式,配备受监督的启动器、隔离的恢复容器、确定性修复、健康监控以及本地 Web 恢复控制台Pocketdsh-pocket把 DeepSeek Harness 装进你的口袋:一个包、一个设置页,手机扫码即同步访问电脑上的 DSH(局域网 + 公网,实时同屏)。Codex Subscriptiondsh-codex-subscription在 DeepSeek Harness 中通过 OAuth 使用 ChatGPT 和 Codex 订阅,支持配额、安全重置、网络搜索、图像和快速模式,并可通过 ChatGPT 移动应用(Beta)控制 DSHXdpooldsh-xdpool将你拥有的所有免费额度汇聚为一个 DSH 模型池:合并所有本地登录的 WorkBuddy 账户并自动故障转移,通过二维码/网页登录 13 个供应商,汇总 76 个供应商的免费层额度,此外还提供用量仪表盘、模型路由和本地 OpenAI 兼容网关

README

dsh-veil

A DeepSeek Harness (dsh) plugin that sends every DeepSeek model request through veil, a local privacy proxy. The model sees consistent pseudonyms for your customers' names, emails, phones and other seeded values. Your machine keeps the real values: dsh's tools run with them, and you read them in dsh's answers.

dsh ──► veil (127.0.0.1, started by this plugin) ──► DeepSeek API
          real values → pseudonyms on the way out
          pseudonyms → real values on the way back (answers, tool calls)

Install

  1. Install veil 0.3.1 or later, then seed it with the data the model must not see:

    pip install veil-proxy             # or: brew install lemonadesaltbagel/veil/veil
    veil seed postgresql://localhost/app ./customers.db   # any sources veil supports
    
  2. Add the plugin to a dsh profile (dsh 0.2.1-rc.2 or later; dsh plugin needs pnpm):

    dsh plugin --profile headless add dsh-veil
    dsh plugin --profile web add dsh-veil
    

    Before the npm package is published, install a release tarball or a checkout:

    dsh plugin --profile headless add https://github.com/lemonadesaltbagel/dsh-veil/releases/download/v0.1.0/dsh-veil-0.1.0.tgz
    
  3. Use dsh as usual. dsh --profile headless "…" and the web app start veil with the session and stop it on exit. /veil shows the proxy, the upstream and the counts of seeded values and pseudonyms.

What it changes in your profile

The bundle's patch (cordis.patch.yml) does four things:

  • Starts veil. The veil row runs veil proxy on a free loopback port. It provides the veil service only after the proxy answers its health check.
  • Routes DeepSeek through it. The llm-deepseek and llm-deepseek-account rows inject that service and take baseURL from it.
  • Fails closed. If veil can't start, those rows never activate. dsh then reports NO_ADAPTER and sends nothing, instead of calling DeepSeek directly.
  • Turns off llm-pi-ai. That route sends other providers (OpenAI, Gemini, …) straight to their APIs, past veil.

A fetch guard backs this up. It refuses any model request (/messages, /chat/completions, /responses, :generateContent) that isn't addressed to veil. It catches a later layer that points an adapter elsewhere, such as a profile cordis.patch.yml, a --patch overlay or a Models setting, and prints dsh-veil: refused a model request to ….

Tool calls

veil restores real values into a tool call only for tools it knows by name. dsh's tools take Claude Code's argument names, so the plugin maps them onto veil's roles (veil proxy --tool-alias):

dsh toolveil rolewhat the tool receives
bashBashreal values, shell-escaped; commands that send data off the machine keep pseudonyms
read, grep, glob, working_directoryRead / Grep / Globreal values
edit, writeEdit / Writereal values only where the file already had them, escaped for the file's language
str_replace_editor(built in)as Write / Edit
every other tool (run_code, workflow, pwsh, subagent, web_*, terminals)nonepseudonyms only

Configuration

Override the veil row in your profile's cordis.patch.yml:

- id: veil
  config:
    command: /opt/homebrew/bin/veil                 # default: veil on PATH
    upstream: https://api.deepseek.com/anthropic    # default: $DEEPSEEK_BASE_URL, then this
    args: [--ner]                                   # extra `veil proxy` arguments
    # url: http://127.0.0.1:8787                    # use a running `veil proxy` instead of starting one
    # toolAliases: {bash: Bash}                     # replaces the table above
    # logFile: /tmp/veil.log                        # default: <tmp>/dsh-veil/veil-<pid>.log
    # startTimeoutMs: 60000
    # guardFetch: true

veil's own settings (vault, seeded sources, display mode) live in VEIL_HOME, shared with the veil CLI. See the veil README.

Limits

  • Your machine is trusted. dsh's session logs hold real values, because veil hands dsh real values on the way back. Only the DeepSeek API sees pseudonyms.
  • Images aren't scanned. veil passes images and /v1/files uploads through unchanged.
  • No other providers. The DeepSeek account route signs in with an account token, which the account service may refuse to send to a local address; the API-key route is the tested one. The pi-ai providers are off.
  • Tested surface. The end-to-end test covers dsh --profile headless. The web app uses the same rows, but /veil hasn't been exercised in its UI yet.
  • Leftover proxy. veil stops with dsh. If dsh is killed with SIGKILL, its veil proxy keeps running until you stop it.

Development

npm install && npm run build
npm test                 # unit tests
npm run e2e              # real dsh + real veil + a scripted model: 0 leaks, tools get real values,
                         # fails closed without veil, refuses a baseURL past veil

The e2e test needs dsh, pnpm and veil on PATH, or DSH_BIN and VEIL_BIN. CI runs it on every push against the npm dsh and the PyPI veil-proxy.

License

Apache License 2.0, like veil.