DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

DavidCarliez /

DavidCarliez/ds-cover

Verified

Cover privacy protection for DeepSeek Harness Web, with a native lock indicator, policy editor, and local controls.

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@a97d8770

ds-cover

Cover privacy protection for DeepSeek Harness Web. A lock at the bottom of the app shows protection status and opens the control panel.

The plugin routes native DeepSeek API-key and account requests through the real Cover engine. Cover filters sensitive content before it reaches DeepSeek and restores reversible replacements in responses, including streamed text and tool arguments.

Quick start

Requires: DeepSeek Harness 0.2.1-rc.2 (tested), Node.js 22+, and Cover 0.3.0+. The cover executable must be on the harness process's PATH, or set through COVER_BIN.

From this repository, run:

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

Open the harness, click the Cover lock, review Setup checks, then select Start. Alternatively, run /cover start in a session.

Protection starts enabled; automatic fallback starts disabled. Until the daemon is running, native DeepSeek requests are blocked rather than sent unprotected. Install, restart, or disable the plugin only when no generation is active.

Using Cover

  • Overview: toggle protection, manage the daemon, and check setup and health. Advanced management contains model downloads and Cover updates/rollbacks.
  • Policy: edit and validate the full YAML policy, including custom detectors and all six actions: allow, placeholder, pseudonymize, mask, redact, and block. Drafts survive tab switches; closing asks before discarding unsaved changes.
  • Inspect: preview a request's transformations locally, without sending it to DeepSeek.
  • Activity: view request metadata, or explicitly enable a temporary live view of sensitive content.

Saved changes remain marked pending restart until Cover reloads them. Starting an already-running daemon does not apply changes. The lock also warns when automatic fallback is enabled, even while Cover is healthy.

The lock describes the selected provider's next request, not all traffic on the machine:

Status Meaning
Protected The native route is configured and Cover is healthy.
Blocked Protection is enabled, but the protected route is unavailable.
Protection off Requests bypass Cover.
Unprotected fallback Cover is unavailable and explicitly enabled fallback permits direct requests.
Not configured The selected provider is not supported.
Status unknown The selected provider or current connection status cannot be verified.

A failed or policy-blocked request is never retried directly. Updates and rollbacks change the shared Cover executable and can affect other integrations. Downloads and executable updates require an explicit action.

Session commands: /cover status, on, off, start, stop, restart, doctor, test, monitor, fallback on/off, and models status/pull. Prefix each with /cover; use the panel for detailed output.

Configuration and privacy

Runtime files live outside the repository in ~/.local/share/ds-cover. The policy is at .config/cover/config.yaml inside that directory.

On first use, ds-cover validates and imports an existing ~/.config/cover/config.yaml policy, if present; otherwise it uses Cover's stock defaults. It assigns separate routing, key, and log settings without changing the original configuration or daemon. Later edits to the original policy are not imported automatically.

Personal policies, allowlists, keys, and logs are not shipped or committed. Repository test rules are synthetic. The policy editor changes only the private runtime configuration.

Protection has limits:

  • Only native DeepSeek API-key and account providers are covered. Other providers, shell commands, browser traffic, MCP tools, sign-in, and telemetry are outside this boundary.
  • Connection credentials still reach DeepSeek. Images and opaque attachments are not scanned; use media.images: block when image content must not leave.
  • Previews and opt-in live captures can expose sensitive content to the authenticated browser. Use a trusted connection and avoid screen sharing. Live views clear on connection resets; abandoned views expire within 15 seconds.
  • Removing or disabling the plugin restores the underlying provider routing. Stopping only the daemon leaves protection enabled and requests blocked, unless fallback is enabled.

See Cover's security boundary for detector and protocol limits.

Development

npm test
npm run build
npm run check:package

Tests use the real Cover binary and native DeepSeek adapter with temporary policies and loopback upstreams—no cloud model calls. They cover policy actions, streaming/tool restoration, authentication, fail-closed routing, policy activation, and client lifecycle. CI runs on Node.js 22 and 24.

npm pack builds bundles automatically. check:package verifies a clean-source package and loads its host and client entry points.

Rebuild after source edits. Client changes reload through the harness; host changes require profile recomposition or restart unless HMR watches this repository.

License

Apache-2.0. Built on DavidCarliez/cover and the native DeepSeek Harness plugin APIs.

—/ 5

No ratings yet

Verified DSH bundle

Commit a97d87704398

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout