In DSH / Cordis Web application development, dependencies between plugins, injection resolution results, and the nested structure of the Loader tree are often hard to present intuitively. Static package diagrams cannot reflect the actual runtime state, and logs are often too scattered. cordis-plugin-graph adds a new tab in settings and renders the runtime plugin network in real time as a Cytoscape graph.
This is a DSH / Cordis Web plugin. It provides a real-time, zoomable relationship graph for the running Cordis instance, showing injections, providers, and the Loader tree. It is maintained by cordisplugins.
Core Features¶
View Planes
Supports Client (rendering context) and Host (engine context) plane views. The Client view is inspected in-process and includes dsh-client-ui-* plugins, slot renderers, connections, themes, locales, and settings. The Host view polls from same-origin routes (engine context) and includes sessions, agents, tools, model adapters, and persistence. When a web server is not reachable (packaged desktop, headless), it gracefully degrades to Client-only mode.
Nodes and Lifecycle
Nodes represent plugin fibers. Nodes are colored by lifecycle stage (active, pending, loading, failed, unloading, disposed), and the disabled state of Loader rows is also indicated with color. Node size scales with the number of provided services to make differences intuitively distinguishable.
Connections
Supports displaying three types of connections, each toggleable independently:
* requires (inject): shows dependencies injected into that fiber.
* provides to: shows dependencies provided by that fiber.
* nested in (Loader tree): shows parent relationships in the Loader tree.
Runtime Activity
When the Host plane is displayed, tool call flow is shown. Tool nodes pulse with each call, allowing the flow of agent tasks in the graph to be visualized intuitively.
Interaction and Details
* Click a node to view module specifier, Loader entry ID, provided services, and live effect labels.
* Use the search bar to find plugin names or modules.
Installation and Enablement¶
Use the official command to add the plugin:
dsh plugin add cordis-plugin-graph
After restarting Host, the tab appears under Settings -> Plugins, next to “Plugin list”.
Typical Usage¶
- Switch Views: Switch between
Client/Host/Bothplane views in settings and observe plugin distribution in different contexts. - View Details: Click any node to view the specific services it provides and Loader information.
- Search and Filter: Use the search box to quickly locate specific plugins or modules.
- Monitor Runtime: Run agent tasks under the Host view, observe pulsing tool nodes, and confirm the tool call flow.
Applicability and Notes¶
- Deployment environment: Only applicable to
webprofile deployments (ACRYL or DSH Desktop). - Environment requirements: Requires Node.js ^22.19.0 || >=24.0.0 and Cordis 4.0.1.
- Permissions and security: The plugin runs under the current DSH process permissions. The source code and license (MIT) should be reviewed before installation.
- Fallback mechanism: If the current environment cannot access a web server (such as a packaged desktop application or a headless environment), the plugin automatically degrades to Client-only mode.
This plugin addresses the difficulty of troubleshooting runtime plugin structure through visualization and is suitable for use during development and debugging.