Plugin compatibility
How the most-downloaded third-party plugins of two agent ecosystems load in
a yoagent agent, unchanged, through yoagent-rutis's adapters. Generated by
scripts/ecosystem-matrix.mjs on 2026-10-11 and 2026-10-10; raw results in
plugin-compatibility.json.
What was checked. Each package is installed on its own from npm and loaded the way an agent would load it; the probe lists what a run would be offered. Nothing is called: tools are listed, not run, and no model is asked. So "works" means it loads and yoagent gets what is listed, not that every tool was exercised.
In short.
- pi: 12 of 20 give an agent run tools, tool-call or input hooks, or prompt additions (3 fully). 5 are refused because they hook what yoagent cannot enforce, or their startup needs pi app internals; 3 register nothing usable as installed. Their skills: all 118 (in 7 packages) load with yoagent's skills loader.
- DSH: 3 of 20 give an agent tools or prompt guidance. 13 need DSH's own app (its sessions, web server, model layer); 3 add nothing an agent uses (UI or settings). DSH's popular plugins mostly extend the DSH app rather than add agent tools.
Results.
- works: loads; everything it registers maps to yoagent.
- works, partly: loads; some of what it registers is an app feature yoagent's agent loop has no place for (commands, shortcuts, renderers, a DSH web UI, …), listed as ignored. Its tools, policies and prompt additions work.
- checked each run:
message_end/contexthandlers get copies on every run; reading is fine, a change stops the adapter (yoagent cannot apply it). The probe sends a single one-message turn, so a handler that rewrites only longer conversations shows up as a stopped run later. - refused: the adapter declined to load it — it handles an event
yoagent never fires that would decide what the agent does, or its startup
(
session_start) failed, typically reaching for pi app internals such as its model registry. Failing closed is the intended outcome. - nothing to use: loads, but offers a run no tools, hooks or prompt additions — everything it registers is ignored here, or, as installed, it registers nothing (several only do once given keys or a config file).
- needs a DSH host: it waits for services of DSH's own app (sessions, its web server, its model layer, …) or loads DSH app plugins that an agent library does not run.
- not applicable: nothing for an agent: themes, prompt templates, UI.
- failed / not installed: an error loading or installing it — or of this harness (a check that did not report), with the reason. Never a verdict on the package.
pi packages
The 20 most-downloaded packages (by monthly downloads, among the first 1000 results of npm's search) with the pi-package keyword, through the pi adapter (pi 1.1.0), on 2026-10-11. 9 works, partly · 5 refused · 3 nothing to use · 3 works.
| # | Package | Downloads / month | Result | What yoagent gets |
|---|---|---|---|---|
| 1 | pi-mcp-adapter 5.2.0 | 1,606,843 | works, partly | 1 tool, tool-call hooks, input hooks ignored: event "mcp_servers_change"; event "resources_discover"; event "session_tree"; command /mcp-adapter; command /mcp; command /mcp-auth; flag --mcp-config |
| 2 | billion-context 0.1.192 | 936,104 | refused | pi extensions handle events yoagent never fires, which would decide or rewrite what the agent does: pi-native.js: event "before_provider_headers"; pi-native.js: event "before_provider_request" (list an event in allowUnmapped to accept that it goes unenforced) |
| 3 | pi-web-access 0.38.0 | 693,533 | works, partly | 4 tools, tool-call hooks ignored: event "agent_settled"; event "session_tree"; command /websearch; command /curator; command /google-account; command /search; shortcut ctrl+shift+s; shortcut ctrl+shift+w |
| 4 | pi-subagents 0.77.0 | 622,053 | works, partly | 3 tools, tool-call hooks, input hooks, 2 skills ignored: event "turn_end"; event "model_select"; event "agent_end"; event "session_before_switch"; event "session_before_fork"; event "session_compact"; event "session_tree"; event "agent_start"; event "message_start"; event "agent_settled"; event "session_before_compact"; command /subagents-watchdog; comman |
| 5 | @langfuse/pi-observability-plugin 0.1.2 | 322,140 | nothing to use | loads but registers only session_start as installed (it may need configuration first) |
| 6 | @juicesharp/rpiv-ask-user-question 2.12.0 | 306,198 | works | 1 tool |
| 7 | pi-mcp-extension 1.5.1 | 270,009 | nothing to use | loads but registers nothing as installed (it may need configuration first) |
| 8 | @juicesharp/rpiv-todo 2.12.0 | 203,830 | works, partly | 1 tool ignored: event "session_compact"; event "session_tree"; event "tool_execution_end"; event "agent_start"; command /todos; shortcut ctrl+shift+t |
| 9 | openwiki 0.7.2 | 190,350 | works | 6 tools, 1 skill |
| 10 | pi-goal-x 0.32.3 | 141,230 | refused | pi extensions handle events yoagent never fires, which would decide or rewrite what the agent does: goal.ts: event "before_provider_request" (list an event in allowUnmapped to accept that it goes unenforced) |
| 11 | @plannotator/pi-extension 0.28.12 | 132,034 | works, partly | tool-call hooks ignored: event "turn_start"; event "turn_end"; event "message_start"; event "message_update"; event "tool_execution_start"; event "agent_end"; event "agent_settled"; event "resources_discover"; event "session_compact"; event "session_tree"; command /plannotator-plan-mode; command /plannotator-review; command |
| 12 | bigpowers 2.88.9 | 130,483 | works | 1 tool, tool-call hooks, 81 skills |
| 13 | @companion-ai/feynman 0.5.34 | 120,059 | refused | pi extensions handle events yoagent never fires, which would decide or rewrite what the agent does: research-tools.ts: event "before_provider_request" (list an event in allowUnmapped to accept that it goes unenforced) Its 16 skills still load with yoagent's skills loader. |
| 14 | pi-background-tasks 2.6.9 | 108,986 | refused | its session_start failed, so the adapter did not load it: anthropic-attribution.js: Cannot read properties of undefined (reading 'getProvider') |
| 15 | pi-lens 4.4.3 | 108,180 | works, partly | 8 tools, tool-call hooks, 4 skills, message_end and context checked each run (a rewrite would stop it) ignored: event "resources_discover"; event "session_tree"; event "tool_execution_end"; event "turn_start"; event "agent_end"; event "turn_end"; event "agent_settled"; command /lens-toggle; command /lens-context-toggle; command /lens-widget-toggle; command /lens-tdi; command /lens-map; command /lens-health; c |
| 16 | pi-powerline-footer 0.20.0 | 106,500 | works, partly | tool-call hooks, input hooks, message_end checked each run (a rewrite would stop it) ignored: event "user_bash"; event "model_select"; event "thinking_level_select"; event "session_tree"; event "session_info_changed"; event "agent_start"; event "message_update"; event "message_start"; event "turn_end"; event "session_before_compact"; event "session_compact"; event "session_compact_failed"; e |
| 17 | context-mode 1.0.169 | 103,613 | works, partly | tool-call hooks, 8 skills, context checked each run (a rewrite would stop it) ignored: event "before_provider_response"; event "turn_end"; event "session_before_compact"; event "session_compact"; command /ctx-stats; command /ctx-doctor |
| 18 | @dietrichgebert/ponytail 5.1.0 | 97,104 | works, partly | input hooks, prompt additions, 6 skills ignored: event "session_tree"; event "agent_start"; event "agent_end"; command /ponytail; command /ponytail-review; command /ponytail-audit; command /ponytail-gain; command /ponytail-debt; command /ponytail-help |
| 19 | @langchain/langsmith-pi-extension 0.2.1 | 91,431 | nothing to use | loads; everything it registers is ignored here ignored: command /langsmith-tracing |
| 20 | @narumitw/pi-usage 0.65.0 | 84,271 | refused | pi extensions handle events yoagent never fires, which would decide or rewrite what the agent does: index.ts: event "before_provider_request" (list an event in allowUnmapped to accept that it goes unenforced) |
DSH plugins
The 20 most-downloaded packages (by monthly downloads, among the first 1000 results of npm's search) with the dsh-plugin keyword, over DSH's base packages and the tools adapter (DSH 0.2.0-rc.2), on 2026-10-10. 3 not applicable · 13 needs a DSH host · 2 works, partly · 1 failed · 1 works.
| # | Package | Downloads / month | Result | What yoagent gets |
|---|---|---|---|---|
| 1 | dshmarket 1.66.15 | 561,135 | not applicable | starts, but adds no tools or guidance (UI, settings or server features). Its web UI needs DSH's web client. |
| 2 | @michengai/dsh-skills-manager 1.1.13 | 201,182 | needs a DSH host | waits for services yoagent's DSH runtime does not run: webServer, webRuntime, skills, sessions. Its web UI needs DSH's web client. |
| 3 | @michengai/dsh-archive-manager 1.0.16 | 180,612 | needs a DSH host | loads DSH packages an agent library does not ship: @deepseek-ai/dsh-workspace. Its web UI needs DSH's web client. (installed without its DSH peers (@deepseek-ai/dsh-workspace@0.2.0-rc.2, @deepseek-ai/dsh-spill-local@0.2.0-rc.2, @deepseek-ai/dsh-client-store@0.2.0-rc.2, @deepseek-ai/dsh-client-locale@0.2.0-rc.2, @deepseek-ai/dsh-client-runtime@0.2.0-rc.2, @deepseek-ai/dsh-host-webserver@0.2.0-rc.2, @deepseek-ai/dsh-storage-domain@0.2.0-rc.2, @deepseek-ai/dsh-typert-registry@0.2.0-rc.2, @deepseek-ai/dsh-client-connection@0.2.0-rc.2, @deepseek-ai/dsh-client-ui-sidebar@0.2.0-rc.2, @deepseek-ai/dsh-client-ui-workspace@0.2.0-rc.2, @deepseek-ai/dsh-client-ui-primitives@0.2.0-rc.2, @deepseek-ai/dsh-client-ui-conversation@0.2.0-rc.2, @deepseek-ai/dsh-session-format-catalog@0.2.0-rc.2, @deepseek-ai/dsh-session-projection-cache@0.2.0-rc.2)) |
| 4 | dsh-whale-widget 0.3.18 | 146,796 | not applicable | starts, but adds no tools or guidance (UI, settings or server features). |
| 5 | dsh-plugin-model-proxy 0.1.6 | 131,719 | needs a DSH host | waits for services yoagent's DSH runtime does not run: settings, llm. Its web UI needs DSH's web client. |
| 6 | dsh-cost-meter 1.8.20 | 108,950 | not applicable | starts, but adds no tools or guidance (UI, settings or server features). Its web UI needs DSH's web client. |
| 7 | @xmanrui/dsh-im 4.38.0 | 62,925 | needs a DSH host | waits for services yoagent's DSH runtime does not run: connection, credentials, typertGateway. Its web UI needs DSH's web client. |
| 8 | @nanmicoder/dsh-agent-teams 0.1.22 | 55,140 | needs a DSH host | waits for services yoagent's DSH runtime does not run: llm, subagents, agents. Its web UI needs DSH's web client. |
| 9 | @dfy-plugins/dsh-image-generation 0.1.4 | 52,343 | needs a DSH host | waits for services yoagent's DSH runtime does not run: attachments, credentials, fs, skills, sessionPersistence, settings. Its web UI needs DSH's web client. (installed without npm resolving its peers) |
| 10 | dsh-univer-office 0.3.7 | 49,557 | works, partly | 13 tools ignored: its web UI (DSH's web client) |
| 11 | dsh-mnemon 0.5.27 | 44,342 | needs a DSH host | waits for services yoagent's DSH runtime does not run: loader. Its web UI needs DSH's web client. |
| 12 | @liustack/modsearch 5.10.6 | 43,116 | failed | modsearch: failed plugin failed: TypeError: Cannot read properties of null (reading 'searchProvider') |
| 13 | dsh-pet 0.3.6 | 41,822 | needs a DSH host | waits for services yoagent's DSH runtime does not run: webServer, agentDefaultModel, credentials, llm, commands. Its web UI needs DSH's web client. |
| 14 | @dfy-plugins/dsh-bundle 0.1.2 | 41,676 | needs a DSH host | waits for services yoagent's DSH runtime does not run: webServer, settings, workspaceRegistry, llm, attachments, agents, credentials, fs, skills, sessionPersistence, agentPresets. |
| 15 | dsh-plugin-wallpaper-engine 1.3.1 | 41,148 | needs a DSH host | waits for services yoagent's DSH runtime does not run: webServer. Its web UI needs DSH's web client. (installed without its DSH peers (@deepseek-ai/dsh-client-runtime@0.2.0-rc.2, @deepseek-ai/dsh-host-webserver@0.2.0-rc.2, @deepseek-ai/dsh-client-ui-slots@0.2.0-rc.2)) |
| 16 | dsh-free-search 0.8.5 | 40,197 | works, partly | 9 tools, prompt guidance ignored: its web UI (DSH's web client) |
| 17 | @roarpeng/graphflow 2.2.0 | 34,657 | needs a DSH host | loads DSH packages an agent library does not ship: @deepseek-ai/dsh-mcp-client. Its web UI needs DSH's web client. |
| 18 | dsh-dream-skin 10.10.0 | 33,804 | needs a DSH host | waits for services yoagent's DSH runtime does not run: webServer, webRuntime. Its web UI needs DSH's web client. (installed without its DSH peers (@deepseek-ai/dsh-client-store@0.2.0-rc.2, @deepseek-ai/dsh-client-locale@0.2.0-rc.2, @deepseek-ai/dsh-client-runtime@0.2.0-rc.2, @deepseek-ai/dsh-client-ui-theme@0.2.0-rc.2, @deepseek-ai/dsh-client-ui-settings@0.2.0-rc.2, @deepseek-ai/dsh-client-ui-settings-general@0.2.0-rc.2)) |
| 19 | @dfy-plugins/dsh-visualize 0.1.5 | 30,262 | needs a DSH host | waits for services yoagent's DSH runtime does not run: fs, skills, sessionPersistence. Its web UI needs DSH's web client. (installed without npm resolving its peers) |
| 20 | dsh-find-plugin 0.4.0 | 29,744 | works | 1 tool |