Introduction

The philosophy of DSH (DeepSeek Harness) is “everything is a plugin”. For agent developers, once there are many plugins, the problem is not just which to install, but which plugins are running in the current DSH process, which tools are active, and which plugins can be safely uninstalled.

jelly-000/dsh-3d-plugin-graph is a web client plugin. It reads the current Cordis runtime and renders the plugin topology as a 3D graph that is rotatable, zoomable, and draggable. Nodes, edges, and states come from the runtime; it only uses offline demo fallback when no source is available. The plugin directory is an independent site, not the DeepSeek / Hypi official app store.

What is this

First, let’s clarify the positioning and basic information:

  • Plugin Name: jelly-000/dsh-3d-plugin-graph
  • Maintainer: jelly-000
  • License: MIT
  • Version: 0.1.0
  • Client Platform: web; both dsh.client.platform and dshClient.platform are web
  • Purpose: Provides an entry point for a “Plugin Graph” in the DSH web UI, used to view real-time plugin topology, tool activity, connection status, and execute plugin enable/disable operations.

Core Features

Real-time Runtime Data

Below is an introduction to the data it reads. The plugin retrieves nodes, edges, services, and tool facets from the running Cordis runtime:

  • ctx.loader.entries
  • ctx.reflect.store
  • ctx.tools.schemas
  • tools/result events

When no source is available, it falls back to offline demo fallback to avoid opening an empty page.

Interaction

The graph supports common 3D operations:

  • Drag empty area: orbit
  • Shift / Right-click drag: pan
  • Scroll wheel: zoom, anchored at the cursor position
  • Drag node: Move node with physics effects
  • Labels: Supports label LOD, adjusting display based on distance and occlusion

Plugin Operations

This plugin is not just for viewing:

  • Uninstalling requires double confirmation.
  • Uninstalling is implemented as entry.update({disabled:true}), and subsequent auto re-insertion will not occur.
  • The server guard will reject uninstallation operations targeting core infrastructure (loader / include / isolate), the graph plugin itself, and cascading operations that would hit the graph.
  • Re-enabling is a single operation.

Status and Activity

  • Live tool-execution log
  • Connection-state pill
  • Runtime flow effects

Frontend and Accessibility

  • Single-file UI, zero external dependencies, no CDN, no build step
  • Supports prefers-reduced-motion
  • Supports focus-visible outlines
  • Uses aria-live announcements
  • Uses color-scheme: dark

Security

The security posture includes:

  • CSP meta tag
  • X-Content-Type-Options: nosniff
  • Use of esc() for server strings entering innerHTML
  • Countermeasures against XSS / prototype-pollution / malformed-state

Performance

In automated 170-node synthetic load testing, the mean frame gap ≈ 17 ms.

Installation and Enabling

First, confirm the environment: you need a DSH installation with a web profile.

Then execute the installation command:

dsh plugin --profile web add https://github.com/jelly-000/dsh-3d-plugin-graph

Then restart the web profile, or let HMR take effect. For local development, you can also point add to a directory instead of a URL.

After the steps above, open the DSH web UI, and a “Plugin Graph” button will appear in the bottom right corner.

Typical Usage

Opening the Graph

You can enter via the button in the DSH web UI, or access it directly:

  • Graph UI: http://127.0.0.1:3080/plugins/dsh-3d-plugin-graph/
  • Live state JSON: http://127.0.0.1:3080/plugins/dsh-3d-plugin-graph/state

Enabling or Disabling Plugins

The interface shape is as follows, where action can be plug or unplug:

POST /plugins/dsh-3d-plugin-graph/action
{
  "action": "unplug",
  "id": "plugin-xxx"
}

Change action to plug when enabling.

Common Controls

  • Drag empty area: orbit camera
  • Shift / Right-click drag: pan
  • Scroll wheel: zoom, anchored at cursor
  • Drag node: Move node
  • Single-click node: Select and view details
  • Double-click node: Focus
  • Double-click empty area: Reset view
  • R: Reset view
  • Esc: Close popup / confirmation
  • Search box: Fuzzy plugin search

Development and Testing

The repository provides the following commands:

npm install
npm run verify
npm run test:ui
npm run test:security
npm run test:perf

These test suites can run without a live DSH instance, relying on mock servers and real headless Chrome.

Applicable Scenarios and Notes

Suitable for:

  • Developers maintaining the DSH plugin system
  • People needing to view the running status of plugins and tool activity in the current web profile
  • Scenarios where you want to confirm server guard and cascading effects before uninstalling a plugin

Notes:

  • The plugin runs with the permissions of the current dsh process.
  • It reads runtime data and can execute plug / unplug; you should check the source code, dependencies, and MIT license before installing.
  • The offline demo fallback only guarantees the interface can be opened, it does not represent the actual state of the current DSH.
  • The server guard will reject certain uninstallation requests; if an uninstallation is rejected, prioritize checking if the target plugin belongs to core infrastructure or would hit the graph itself.

Conclusion

The value of dsh-3d-plugin-graph is placing the live state of the DSH plugin ecosystem into a 3D interface: you can view nodes, view tool activity, execute plugin operations, and keep security guards on the server.