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; bothdsh.client.platformanddshClient.platformareweb - 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.entriesctx.reflect.storectx.tools.schemastools/resultevents
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-visibleoutlines - Uses
aria-liveannouncements - Uses
color-scheme: dark
Security¶
The security posture includes:
- CSP meta tag
X-Content-Type-Options: nosniff- Use of
esc()for server strings enteringinnerHTML - 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:
orbitcamera - 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 viewEsc: 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
dshprocess. - It reads runtime data and can execute
plug/unplug; you should check the source code, dependencies, andMITlicense before installing. - The
offline demo fallbackonly 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.
- Directory: jelly-000/dsh-3d-plugin-graph
- GitHub: jelly-000/dsh-3d-plugin-graph