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.

Path Anonymizer — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
P

dsh-path-anonymizer

Path Anonymizer

DSH plugin: anonymize workspace-external file paths before model requests with user confirmation

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

npx -y @deepseek-ai/dsh plugin --profile web add github:yzhangjy/dsh-path-anonymizer#610b01261db9d9ad28eed883631fd73dcfc3d11a
READMECompatibilityVersions

Compatibility and provenance

Path Anonymizer is published as dsh-path-anonymizer 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
8/24/2026

Versions

0.1.0stable
8/24/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
8/23/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-path-anonymizer

English | 中文

A DeepSeek Harness plugin that detects workspace-external file paths in user messages before model requests, replaces them with numbered placeholders ([PATH_n]), and prompts the user to confirm whether the real paths should be sent to the model.

Installation

dsh plugin --profile web add github:yzhangjy/dsh-path-anonymizer

Then restart the web profile.

How It Works

  1. Detection — regular expressions scan each user message for file paths.

  2. Anonymization — each detected path is replaced with a numbered placeholder:

    /Users/alice/Documents/project/src/main.ts  →  [PATH_1]
    /etc/nginx/nginx.conf                      →  [PATH_2]
    ~/secrets/.env                             →  [PATH_3]
    

    Workspace awareness — paths that resolve inside the agent's working directory (cwd) are left untouched: the model already sees cwd in the system prompt and can explore the workspace itself, so anonymizing those would break coding with no privacy gain. Only paths outside the workspace (~/..., /etc/..., other projects, …) are anonymized. Set anonymizeWorkspacePaths: true to revert to anonymize-everything.

  3. Confirmation — before the model request proceeds, a dialog appears listing every detected path and its placeholder. The user chooses:

    • Send anonymized placeholders (recommended) — the model sees [PATH_n]
    • Send real paths — original paths are restored
    • Cancel this request — the step is rejected
  4. Session memory — the dialog includes a "remember" option so the same choice applies for the rest of the session.

Effect on tool calls

Anonymization redacts only the user-message text. That does affect tool calls in one specific way:

  • When an external path is anonymized, the model sees [PATH_n] instead of the real path, so it cannot call read / edit / bash on that path — it does not know the real path. It will usually ask you to reveal it instead.
  • Choosing "send real paths" in the dialog sends the path verbatim, so the model can access that external path normally.

This plugin is message redaction, not a security sandbox. It does not filter the model's own tool calls, tool arguments, or tool results, and it does not restrict filesystem access (DSH's sandbox governs that separately). A path the model learns from a tool result or from its own exploration is not anonymized.

Workspace paths are untouched, so reading and editing files inside the workspace works as usual.

Configuration

KeyDefaultDescription
enabledtrueEnable path detection and anonymization
confirmEveryTimetrueShow the confirmation dialog for every request
maxPathsPerPrompt10Max paths displayed in the confirmation dialog
autoAnonymizefalseSilently replace paths without showing a dialog
anonymizeWorkspacePathsfalseAlso anonymize paths inside cwd (default keeps them for coding)
detector.maxPaths50Max distinct paths to detect in one batch
detector.excludePatterns[]Extra regex patterns for paths to ignore
detector.includeSystemPathsfalseAlso detect system paths (/usr/lib/, /etc/, etc.)
anonymizer.placeholderFormat[PATH_{n}]Placeholder format; {n} is the match index

Example: auto-anonymize mode

- id: path-anonymizer
  config:
    enabled: true
    autoAnonymize: true   # never shows a dialog

Example: exclude additional patterns

- id: path-anonymizer
  config:
    detector:
      excludePatterns:
        - '^/nix/store/'
        - '^/home/ci/'

Path Detection Details

Matched patterns

PatternExample
Unix absolute/Users/alice/project/src/index.ts
Windows absoluteC:\Users\alice\Documents\file.txt
Home directory~/.ssh/config
Relative (./)./src/components/App.tsx
Relative (../)../../config/database.yml
Windows relative.\lib\utils.js
Env variable%APPDATA%\MyApp\settings.json
WSL\\wsl$\Ubuntu\home\user\file.txt

Excluded by default

  • URLs (https://, ftp://, file://)
  • Shell redirects (/dev/null, /dev/stdout)
  • System paths (/usr/lib/, /etc/, /proc/, /sys/, C:\Windows\) when includeSystemPaths is false
  • Protocol-relative URLs (//)
  • Lone slash (/)

Known Limitations

  • Regex-only detection — paths embedded in complex code syntax may be missed or falsely matched. The patterns balance recall against false positives for natural-language chat messages.
  • No filesystem validation — a string that looks like a valid path is treated as one; the plugin does not check whether the file actually exists.
  • Message content only — detection operates on text blocks within messages; non-text content blocks (images, tool calls) are not scanned.
  • One dialog per request — a batch with paths in several messages shows one combined dialog, not one per path.