mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-06-18 09:51:59 +00:00
The TUI had no way to toggle plugins — `/plugins` only printed a static list, and the classic `hermes plugins` picker is curses-based and can't run inside the Ink UI. Users had to drop to a separate shell and run `hermes plugins enable/disable`. Add a PluginsHub overlay modeled on the existing SkillsHub: - New gateway RPC `plugins.manage` (list + toggle) backed by the same disk-discovery + dashboard_set_agent_plugin_enabled primitives the CLI and dashboard already use, so all three surfaces agree on state. The toggle path also wires the plugin's toolset into platform_toolsets. - `/plugins` with no arg opens the hub; any subcommand still falls through to the text slash worker for CLI parity. - pluginsHub overlay state threaded through overlayStore / interfaces / useInputHandlers (Esc closes) / appOverlays (renders the FloatBox); preserved across turn teardown like other user-toggled overlays. - Hub UI: arrow/number select, Enter/Space toggles live, Tab switches user-only vs all (bundled) scope, shows ✓/✗/○ activation glyphs. plugins.manage added to _LONG_HANDLERS (disk + config I/O). |
||
|---|---|---|
| .. | ||
| slash | ||
| createGatewayEventHandler.ts | ||
| createSlashHandler.ts | ||
| delegationStore.ts | ||
| gatewayContext.tsx | ||
| gatewayRecovery.ts | ||
| inputSelectionStore.ts | ||
| interfaces.ts | ||
| overlayStore.ts | ||
| scroll.ts | ||
| setupHandoff.ts | ||
| spawnHistoryStore.ts | ||
| turnController.ts | ||
| turnStore.ts | ||
| uiStore.ts | ||
| useComposerState.ts | ||
| useConfigSync.ts | ||
| useInputHandlers.ts | ||
| useLongRunToolCharms.ts | ||
| useMainApp.ts | ||
| useSessionLifecycle.ts | ||
| useSubmission.ts | ||