
Product
Socket Threat Intel Now Shows Which Malware Campaigns Were Blocked or Detected
Socket Threat Intel now shows which malware campaigns were blocked or detected in your organization, with links to scans and Firewall events.
dsh-plugin-diraud
Advanced tools
Audit the DeepSeek Harness plugin list by origin (official vs self-installed): a /plugin-audit command plus a Source tab in Web Settings
English | 中文
A DeepSeek Harness (DSH) plugin-management enhancement: group the plugin list by source so you can tell official plugins apart from the ones you installed yourself at a glance.
/plugin-audit command: lists the currently loaded plugins grouped by
official / self-installed, with user / official / keyword filtering;/plugin-audit disable|enable <keyword>;cordis.patch.yml (kept across restarts,
reversible) and call ctx.loader.update for live effect (HMR-independent);
official/builtin plugins are locked;description;repository / homepage points
to GitHub, the card shows a GitHub button that opens its full feature
documentation (independent of the built-in "Plugin list" page);pnpm add <pkg>@latest --config.minimumReleaseAge=0, corepack/npx
fallback, live output);github: / git+
/ git:// / git@ specs can be updated even without an npm package —
branch/default-branch refs compare the locally-locked commit against the
remote HEAD via git ls-remote, tag refs list all tags to find a newer
stable tag; updates re-run pnpm add <original spec> (or the new tag spec);
refs pinned to a specific commit are marked not auto-updatable;pnpm add fails because an updated
package needs to run build scripts but is not in pnpm-workspace.yaml's
allowBuilds, the panel reads pnpm's suggested entry and appends it before
retrying. Git-hosted plugins use the full name@git-url#commit form — pnpm 11
no longer matches bare package names for git dependencies (see
pnpm#12367);link: deps show
"Updating with the desktop app" and local file: / workspace: deps show
"Local plugin", so a pnpm exit code 0 is never misreported as an actual
update; official/builtin plugins and this plugin itself (installed via
link: to protect the dev chain) are locked;pnpm remove, disables the button while running, and refreshes the list
afterwards. Non-self-installed packages and this plugin itself are rejected;Sidebar footer Plugin Catalog entry (since v0.5) — click to open the panel: self-installed plugins grouped by origin, each card with an enable/disable toggle:
The top bar shows the update area (可更新: 1 = 1 update available, 重新检查
= re-check, 全部更新 = update all), followed by the search box and the
grouped cards. Every card carries the enable/disable toggle, version, GitHub
button, update status and uninstall button:

Prerequisites: pnpm, the dsh CLI.
# Install (recommended: from npm)
dsh plugin --profile web add dsh-plugin-diraud
# Or from the GitHub main branch
dsh plugin --profile web add https://github.com/tttwh/dsh-plugin-diraud/archive/refs/heads/main.tar.gz
Restart dsh web, then:
/plugin-audit in the composer, or| Command | Purpose |
|---|---|
/plugin-audit | Overview: self-installed one-by-one + official count |
/plugin-audit user | Self-installed only |
/plugin-audit official | Official only (full list) |
/plugin-audit <keyword> | Filter by package / entry keyword |
/plugin-audit disable <keyword> | Disable a matching self-installed plugin (persisted) |
/plugin-audit enable <keyword> | Enable a matching self-installed plugin (persisted) |
dsh plugin --profile web remove dsh-plugin-diraud | Uninstall |
How toggles persist:
disable/enablewrites a- id: <raw config id>+disabled: trueoverride into the profile'scordis.patch.yml(the user config layer). dsh watches that file (watchUserPatches), so the change applies live without a restart, survives restarts, and deleting the row restores the default.Why the raw id (fixed in v0.4): loader entries carry a path-prefixed full id (
include:ssh), but the patch layer matches each config row's ownidfield (ssh). Older versions wrote the prefixed id into the patch file, so the row was skipped at boot ("patch: entry not found") and the toggle was silently lost on restart. v0.4 writes the raw id, keeps the full id forctx.loader.update, and cleans up legacyinclude:<id>rows.
Origin is derived from the package scope by default; edge cases (e.g. a
third-party package published under @deepseek-ai/) are overridden via
extraUserPackages. Override this plugin's row in the profile's
cordis.patch.yml:
- id: plugin-audit
config:
extraUserPackages:
- '@deepseek-ai/dsh-my-fork' # force-classify as self-installed
dsh-plugin-diraud/
src/classify.ts origin-classification pure function (single source of truth)
src/patch.ts cordis.patch.yml read/write (persist toggles)
src/toggle.ts shared toggle core (persist + ctx.loader.update)
src/updates.ts update core: semver compare, registry/git probe, pnpm exec (unit-testable)
src/gitspec.ts git-hosted dependency parsing + lockfile/ls-remote helpers (v0.9)
src/metadata.ts GitHub repository/homepage → canonical URL (v0.8)
src/translations.ts bilingual description dictionary (v0.6)
src/render.ts /plugin-audit output rendering (grouped view)
src/contract.ts typert wire contract (pluginAudit/toggle)
src/typert.ts host manifest registration
src/runtime.ts PluginAuditRuntime (@Remote toggle; executeToggle unit-tested)
src/index.ts host: /plugin-audit command + remote registration
src/client/ Sidebar Plugin Catalog entry (React) + toggle buttons + client remote
src/client/updateStore.ts module-level update task store (queue + resume)
build.mjs esbuild build (host ESM + client bundle)
cordis.patch.yml profile bundle patch (inserts this plugin)
demo/ demo & verification scripts (real-profile output)
MIT · Copyright (c) 2025 tttwh
FAQs
Audit the DeepSeek Harness plugin list by origin (official vs self-installed): a /plugin-audit command plus a Source tab in Web Settings
The npm package dsh-plugin-diraud receives a total of 0 weekly downloads. As such, dsh-plugin-diraud popularity was classified as not popular.
We found that dsh-plugin-diraud demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Product
Socket Threat Intel now shows which malware campaigns were blocked or detected in your organization, with links to scans and Firewall events.

Security News
Fixes for eMudhra and Brotli are out. Getting them everywhere they’re needed means tracking down bundled libraries, runtimes, and certificate stores.

Threat Research
/Security News
Socket uncovered secret-stealing workflows that ran in LiteLLM’s GitHub repository 11 days before the supply chain attack on PyPI and Docker.