dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
REA (Reverse Engineer Anything) is a plugin designed for the DeepSeek Harness (DSH) that provides agents with specialized tools to inspect binaries, applications, packages, and web pages while returning verifiable evidence for each conclusion.
REA for DeepSeek Harness
Reverse Engineer Anything, inside DeepSeek Harness. One installable plugin: REA's MCP server, its workflow skill, and a live readiness panel in the left sidebar.
REA gives an agent tools to inspect binaries, applications, packages, and pages and to return the evidence behind each conclusion. This plugin makes that experience installable from the Harness itself:
reverse-engineer-anything to the agent's skill catalog.npx and cached.The plugin is published as `@axyatech/dsh-plugin-rea`.
Settings → Plugins → Add plugin → paste the package name:
@axyatech/dsh-plugin-reaPin a release when you need reproducibility:
@axyatech/dsh-plugin-rea@1.1.0From an agent or the plugin_manager tool:
plugin_manager action=install_bundle target=@axyatech/dsh-plugin-reaDo this once:
https://raw.githubusercontent.com/axyatech/rea-harness-plugin/main/market/index.jsonREA for DeepSeek Harness then appears as a searchable market entry, with the version, compatibility, and install target read from the index. Select it and install.
DSH does not ship an official third-party market; Discover lists the indexes you add. This repository publishes its own format-1 index, which resolves to the npm release.
Settings → Plugins → Add plugin → choose the Git repository option → paste:
https://github.com/axyatech/rea-harness-plugin.gitOr install the same Git source from an agent:
plugin_manager action=install_bundle target=https://github.com/axyatech/rea-harness-plugin.gitgit clone https://github.com/axyatech/rea-harness-plugin.git
plugin_manager action=install_bundle target=/absolute/path/to/rea-harness-pluginThe bundle is applied immediately. Refresh the Harness page once; new sessions pick up the workflow skill. If the MCP server reports zero tools on first open, wait for the npx download and press Refresh.
The current npm release is `@axyatech/dsh-plugin-rea@1.1.0`; see Distribution for release and provenance details.
Ask in a new session:
Explain how search works in this shipped app, and show the evidence.Compare two builds of this Electron app and list the behavior that changed.Decompile this .NET method and reconstruct the interface it implements.The REA skill teaches the agent when and how to use the tool set. The panel confirms that the server, skill, and engines are ready before a deep investigation starts.
Component · Behavior MCP server · npx -y rea-agents@6.8.0 mcp; tools are exposed as mcp__rea__* (229 tools in 6.8.0). Workflow skill · reverse-engineer-anything, registered on each agent's own layer so it outranks a stale user copy while project-local skills still win. Sidebar entry · A REA icon opens the panel: connection, package, skill version, engine audit, tool search, quick prompts, and commands. Status endpoint · GET /plugins/rea/status returns the live tool inventory plus a cached rea doctor audit. Cross-platform Host half · Plain ESM with no runtime dependencies; tested by CI on macOS, Linux, and Windows.
flowchart LR
subgraph Harness["DeepSeek Harness"]
A[Agent] -->|mcp__rea__*| M[MCP client]
P[REA panel] -->|GET /plugins/rea/status| H[Host half]
H -->|tool inventory| T[Tool registry]
H -->|rea doctor| C[REA CLI]
H -->|skill provider| S[Skill registry]
A -->|loads skill| S
end
M -->|stdio| R[REA MCP server]
R --> E[Hopper · Ghidra · IDA · JADX · Kuna]
R --> F[Local binaries, apps, packages, pages]
C --> E
H -.->|reads| N[rea-agents package]
P -.->|renders| U[User]The panel never talks to the REA server directly: it reads the Host route. The Host half is optional-service based, so it stays inert in a Harness without a web server or skill registry. Nothing is written to disk.
REA 6.8.0 exposes 229 tools. The panel makes them searchable, and the same list is available to the agent under the mcp__rea__ namespace.
A few common entry points:
Tool · Use it for open_binary · Open an executable, archive, JavaScript bundle, or analysis database. analyze_function · Build a complete function dossier with pseudocode, assembly, calls, and references. analyze_javascript_application · Reconstruct an Electron or JavaScript application without executing it. inspect_managed_members · Decode .NET metadata, CIL anchors, and signatures without loading the assembly. inspect_artifact · Inventory a package, APK, IPA, DMG, ASAR, or archive with hashes and next probes. capture_browser_scenario · Run one bounded browser scenario and return evidence.
Surface · Supported · Status DSH · 0.2.x (engines.dsh: >=0.2.1-rc.3 =26.12.1 · Required for the npx MCP launch macOS · macOS 12+ · Runtime-verified (arm64, Web GUI) Linux · CI-tested Host logic · Full DSH + REA runtime not yet verified; REA needs procps Windows · CI-tested Host logic · Full DSH + REA runtime not yet verified Web GUI · Harness Web · Verified Electron `file://` shell · Not verified · Use the Web GUI
CI runs the Host test suite on Ubuntu, macOS, and Windows with Node 22, 24, and 26. The suite exercises the status route, loopback guard, home-path redaction, doctor parsing, and skill provider without requiring DSH or REA.
REA's analysis engines are optional:
GHIDRA_INSTALL_DIR and a JDK 21+.REA_* variables and its installation guide.The bundle's rows can be overridden in your own cordis.patch.yml (a profile patch, or the home patch at ~/.dsh/cordis.patch.yml). A non-insert patch replaces the whole config, so restate every field you need.
Pin another REA version or add engine paths:
- id: mcp-rea
name: "@deepseek-ai/dsh-mcp-client"
config:
serverName: rea
transport: stdio
command: npx
args: ["-y", "rea-agents@6.8.0", "mcp"]
toolCallTimeoutMs: 600000
failOnStartupError: false
env:
GHIDRA_INSTALL_DIR: /absolute/path/to/ghidra_12.1.4_PUBLIC
JAVA_HOME: /absolute/path/to/jdk-21Keep machine-specific engine paths in that local patch, never in this repository.
Environment variables read by the plugin itself:
Variable · Purpose REA_ROOT · Absolute path to a rea-agents package to use for the audit and skill. REA_LAUNCHER · Absolute path to a scripts/rea.mjs launcher. REA_NODE · Node executable for the audit (defaults to common paths, then node). REA_NPX · npm launcher for the audit fallback (defaults to npx). REA_INSTALL_ROOT · REA's installer state directory (default ~/.local/share/rea); its environment.json supplies engine paths for the audit.
Two MCP rows with the same serverName cannot both load. Remove the older registration first:
rea setup --client dsh writes a rea-mcp row to ~/.dsh/cordis.patch.yml — delete that row.mcp-rea insertion in a profile patch — replace it with the override shown above so it keeps your engine paths and targets the bundle row./plugins/rea/status rejects every non-loopback peer with 403; it answers GET/HEAD only and uses no request value in a command or path.~, including doctor details and remediation text.The full model, including the loopback proxy behavior and supply-chain notes, is in SECURITY.md.
Symptom · What to do Panel shows Offline or zero tools · Confirm node and npx are on the Harness PATH; run npx -y rea-agents@6.8.0 doctor --format json in a terminal; check the first-download network access; press Refresh. Failed to load plugins after updating or renaming this bundle · Restart DeepSeek Harness. The browser boot graph caches a client module id across a package rename; a restart rebuilds it. Two rea MCP servers or a startup error · Remove the older rea-mcp/mcp-rea registration from the home or profile patch. Status route returns 403 from another machine · That is the loopback guard. Use an SSH tunnel or a same-machine reverse proxy. Node engine warning in the panel · Update Node to REA's supported range; the server can still run outside it, but the audit reports the mismatch. Skill still shows an older version · New agents resolve the aligned copy; restart Harness so existing sessions re-resolve it. Project-local skills intentionally win. MCP fails only on Windows · Ensure a Node distribution with npx.cmd is on PATH; the Host half is CI-tested, the DSH MCP launch path is not yet runtime-verified on Windows.
No build step. The package is plain ESM plus a browser module.
npm test # node --test: route, redaction, loopback, doctor, skill provider
npm run check # node --check for both halves
npm pack --dry-runCI runs that same sequence on:
The preview images under docs/assets/ are rendered from the self-contained pages in docs/preview/:
chrome --headless=new --hide-scrollbars --force-device-scale-factor=2 \
--window-size=1200,810 --screenshot=docs/assets/panel.png \
file://$PWD/docs/preview/panel.htmlDSH's Discover tab has no official third-party catalog: it shows only the format-1 indexes a user adds. This repository therefore ships its own index:
market/index.jsonThe index is validated against DSH's dsh-plugin-market-index format and pins each release to an immutable npm version. Adding the raw index URL once makes the plugin discoverable and installable from Discover. The index entry also carries the engines.dsh compatibility range, so incompatible Harness versions are marked before installation.
The plugin is published to npm as `@axyatech/dsh-plugin-rea` (current release: `1.1.0`, MIT, private: false, public access). Verify the published version:
npm view @axyatech/dsh-plugin-rea versionThe unscoped dsh-plugin-rea name belongs to another publisher and is deliberately not used.