mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-06-17 09:41:58 +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). |
||
|---|---|---|
| .. | ||
| activeSessionSwitcher.tsx | ||
| agentsOverlay.tsx | ||
| appChrome.tsx | ||
| appLayout.tsx | ||
| appOverlays.tsx | ||
| branding.tsx | ||
| fpsOverlay.tsx | ||
| helpHint.tsx | ||
| markdown.tsx | ||
| maskedPrompt.tsx | ||
| messageLine.tsx | ||
| modelPicker.tsx | ||
| overlayControls.tsx | ||
| pluginsHub.tsx | ||
| prompts.tsx | ||
| queuedMessages.tsx | ||
| skillsHub.tsx | ||
| streamingAssistant.tsx | ||
| streamingMarkdown.tsx | ||
| textInput.tsx | ||
| themed.tsx | ||
| thinking.tsx | ||
| todoPanel.tsx | ||