dsh-web-ui
zhu1090093659
Plugin and skin collection for DeepSeek Harness (DSH) Web UI - task board, git graph, right-side panel, remote mobile UI, pet, live token stats, and skin center.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:jelly-000/dsh-3d-plugin-graph
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
A live 3D visualization of the DSH plugin ecosystem. Every node, edge and state you see is the real Cordis runtime — nothing is mocked.

DSH (DeepSeek Harness) is itself an ecosystem of 170+ Cordis plugins. This plugin opens a window into that ecosystem: it reads the running Cordis runtime and renders the live plugin topology as an interactive 3D graph you can orbit, zoom, drag and operate.
tools/result events — when a tool runs, white light motes travel along the affected edges in real time.ctx.loader.entries(), ctx.reflect.store, ctx.tools.schemas(), tools/result events); the UI merges state polls without ever moving your dragged nodes.R to reset, Esc to close.entry.update({disabled:true}); nothing silently re-inserts a plugin later.assets/index.html), zero external dependencies, no CDN, no build step.prefers-reduced-motion support, focus-visible outlines, aria-live announcements, color-scheme: dark.default-src 'self'), X-Content-Type-Options: nosniff, esc() on every server-originated string that touches innerHTML.Requires a DSH installation with a web profile.
dsh plugin --profile web add https://github.com/jelly-000/dsh-3d-plugin-graph
Then restart the web profile (or let HMR pick it up). For local development you can point add at a directory instead of a URL.
Once installed, open the DSH web UI — a floating 「插件图谱」 entry appears bottom-right. Or access directly:
| What | URL |
|---|---|
| The 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 |
| Enable / disable a plugin | POST /plugins/dsh-3d-plugin-graph/action with {"action":"plug"|"unplug","id":"plugin-xxx"} |
| Input | Action |
|---|---|
| Drag empty space | Orbit camera |
| Shift / right drag | Pan |
| Wheel | Zoom, anchored at cursor |
| Drag a node | Move it (physics: collision + springs) |
| Click a node | Select → detail card |
| Double-click a node | Focus it (camera converges) |
| Double-click empty space | Reset view |
R |
Reset view |
Esc |
Close popup / confirmation |
| Search box (top right) | Fuzzy plugin search, arrows + Enter to focus |
flowchart LR
A[ctx.loader.entries] --> B[Plugin nodes]
C[ctx.reflect.store] --> D[Service providers]
E[fiber.inject] --> F[Dependency edges]
G[ctx.tools.schemas] --> H[Tool surface]
I[tools/result events] --> J[Activity stream]
B --> K[/state snapshot/]
D --> K
F --> K
H --> K
J --> K
K --> L[3D UI - 2s poll merge]
Full details in docs/ARCHITECTURE.md — key decisions:
dsh_plugin_graph_status tool output schema declares every top-level key, so bind failures are impossible.npm install # no runtime deps; scripts need none either
npm run verify # offline harness simulation: states, edges, guards, schema, adversarial HTTP
npm run test:ui # headless Chrome + CDP: real pointer drag / orbit / zoom / unplug flows (77 checks)
npm run test:security # XSS / prototype-pollution / malformed-data adversarial checks
npm run test:perf # 170-node synthetic load, asserts mean frame gap < 25 ms
All suites run against mock servers and real headless Chrome — no live DSH instance needed.
lib/index.js Host plugin: /state, /action (guarded), /, /client.js, tool dsh_plugin_graph_status
lib/client.js Browser client launcher (ModuleLoader protocol), floating entry + panel
assets/index.html Single-file 3D UI (no external dependencies)
docs/ Architecture notes, screenshot, demo video
scripts/ verify / ui / security / perf test suites
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: visualization。