Add bot-sessions — first desktop-plugin (@hermes/plugin-sdk) reference example - #12
Open
kennysamuerto wants to merge 1 commit into
Open
Conversation
The Desktop Plugin SDK docs point to this repo for reference demos, but every example here so far is a Python/dashboard plugin. bot-sessions is a real-world @hermes/plugin-sdk desktop plugin: a per-bot conversation browser that demonstrates routes/sidebar/palette contributions, profile-routed RPC across connections (host.profileRoutes + host.requestProfile), live refresh from the gateway event stream, reactive host state (focusedSessionProfile) and ctx.storage persistence. Born from NousResearch/hermes-agent#89347. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds
bot-sessions, a desktop plugin (@hermes/plugin-sdk) that provides a unified, per-bot conversation browser: every session from every registered connection in one live list, with the filter automatically following the bot you are chatting with, category chips for Bot Mode plumbing / group rooms / sources, and each bot's cron routines in a collapsible section.Why
SDK surfaces demonstrated
ROUTES_AREA/SIDEBAR_NAV_AREA/PALETTE_AREAcontributionshost.profileRoutes()+host.requestProfile()registry-routed RPC (profile-scopedsession.list/cron.manage, with graceful fallbacks for older gateways)host.onEventlive refresh (sessions.changed/cron.changed) with a slow polling fallbackhost.state.focusedSessionProfile+useValue(follow-the-active-bot toggle)ctx.storagepersistence,host.openSession, theme variables throughoutA note on the guidelines
The contributing section asks for single-surface examples under ~200 LOC; this one is a "real plugin" (~430 LOC) that exercises several surfaces which currently have no example at all. If you'd rather have a trimmed single-surface version (e.g. just the profile-routed session list), happy to cut it down — or to split it into two smaller examples.
🤖 Generated with Claude Code