DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Cloak — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
C

dsh-cloak

Cloak

Context firewall for DeepSeek Harness: detects credentials in tool results and replaces them with opaque placeholders before they reach the model — the secret never enters context, the task keeps going.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:zhangmiao03/dsh-cloak#5058c40cc2ff14c34be747184e7b175743ec21e9
READMECompatibilityVersions

Compatibility and provenance

Cloak is published as dsh-cloak and currently resolves to version 0.1.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
github
Registry updated
9/4/2026

Versions

0.1.0stable
9/4/2026

Related plugins

Loading related plugins…

Latest
0.1.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
any
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
9/7/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in security-access.

Doctor@linxin666/dsh-doctorTransactional rescue mode for DSH profiles with a supervised launcher, isolated recovery capsule, deterministic repairs, health monitoring, and a local Web recovery consolePocketdsh-pocketPut DeepSeek Harness in your pocket: one package, one settings page, and scan a QR code on your phone to access DSH on your computer in sync (LAN + public network, real-time screen mirroring).DSCODE@toddzheng024/dscode-bundleA complete DeepSeek coding agent with persistent shell, Ultra collaboration and automatic permission review.Auto Reviewdsh-auto-reviewSecond-model AI auto-review for DeepSeek Harness approval requests: a read-only reviewer subagent decides allow/deny on the approval answerer chain, with fail-closed fallback and full session-log audit.

README

dsh-cloak

A context firewall for DeepSeek Harness: credentials in tool results are replaced with opaque placeholders before they reach the model. The secret never enters context — the task keeps going.

中文文档

$ cat .env                          ← the agent reads a config file
DEEPSEEK_API_KEY=sk-0123…cdef

→ what the model actually sees:
DEEPSEEK_API_KEY=⟦cloak:deepseek-api-key:1⟧

Why

Your agent reads .env files, config dumps, cloud CLI output, and log tails. Every credential in those results flows into the conversation — and from there into every request sent to your model provider. Export-time redaction (sharing, handoff) is too late: the secret already left your machine while the agent was working.

dsh-cloak guards the boundary where tool results enter model context:

  • Detect — 24 built-in high-precision signatures (AWS/Aliyun/GCP keys, DeepSeek/OpenAI/Anthropic/OpenRouter keys, GitHub/GitLab/npm tokens, Slack/Discord/飞书/企业微信 webhooks, Stripe/Shopify/Linear, JWTs, PEM private-key blocks, credentialed DB URLs, Authorization: Bearer …), plus key-name rules (password/secret/api_key/…) that catch unknown formats in .env, JSON, and YAML shapes. Custom regex rules via a JSON file.
  • Replace — matches become stable placeholders ⟦cloak:<category>:<n>⟧. The original values live only in a process-memory, agent-scoped vault. They never enter session logs, audit events, or model requests.
  • Inform — a system-prompt note and a per-result context message tell the model what placeholders mean: don't guess, don't reconstruct, don't re-read the source to recover them; ask the user when a real value is genuinely needed.

Pagination cursors (next_token, page_token, …) and placeholder values (${VAR}, changeme, …) are deliberately excluded, so paging and templates keep working.

Install

# GitHub channel (latest main):
dsh plugin --profile web add "github:zhangmiao03/dsh-cloak#main"
# GitHub channel (pinned release, recommended for stability):
dsh plugin --profile web add "github:zhangmiao03/dsh-cloak#v0.1.0"
# npm channel (after npm publish):
dsh plugin --profile web add dsh-cloak
# local development:
dsh plugin --profile web add /path/to/dsh-cloak

Uninstall: dsh plugin --profile web remove cloak.

Verify the mount, then restart dsh:

dsh --profile web --dump-config | grep -A2 'id: cloak'

Config

Per-row config in the profile cordis.patch.yml:

- id: cloak
  config:
    enabled: true
    dryRun: false          # audit-only mode: report what would be redacted
    builtins:
      enabled: true
    rulesFile: ~/.dsh/cloak-rules.json
    note: true             # attach the placeholder-semantics note for the model
    audit:
      maxEntries: 200
      logFile:             # optional JSONL audit trail

Custom rules file format:

[
  { "id": "internal-prefix", "pattern": "mycorp-[a-z0-9]{32}", "flags": "g" }
]

Surfaces

SurfaceKindNotes
tools/post-executelistenerRedacts successful plain-text tool results (content projection)
systemPrompt contextinjectionPlaceholder semantics for the model, before it ever sees one
/cloakcommand/cloak stats · /cloak scan <text> dry-scan
/cloak/api/*HTTPGET stats · GET recent · POST test {text}

Security properties

  • Original values never appear in audit events, logs, or API responses — categories and counts only.
  • The vault is agent-scoped and in-memory only; a restart makes old placeholders intentionally unrestorable.
  • Fail-open on scanner faults (a broken rule file or a scanner bug never turns a successful tool call into an error). Every fault is audited.
  • Zero runtime dependencies — Node builtins and the DSH host packages only.

Deliberate exclusions (v0.1)

Honest scope, same spirit as the host's own spill-policy:

  • Successful plain-text results only. Failed tool results and non-text blocks pass through untouched (replacing error text would corrupt error semantics).
  • The model cannot use a redacted credential: restoring secrets into tool arguments is impossible by platform design (PreToolDecision excludes input rewriting). When a task needs a real value, the model is instructed to ask the user. An approval-gated reveal (riding the host's ask/authorization seams) is planned.
  • User messages are not rewritten; outbound request bodies are not separately scanned (tool results are the dominant leak channel and are covered at the source). Both are candidate follow-ups.
  • dryRun audits without replacing; it is the recommended first rollout step.

Compatibility

Built and verified against DeepSeek Harness 0.1.2-rc.1 (developer-preview host; expect to re-pin on breaking host changes). Node ^22.19 || >=24.

Development

npm install --legacy-peer-deps
npm test            # 51 unit tests
npm run build       # links @deepseek-ai/* peers from the global dsh install, then tsc

License

MIT