Skip to content

Add bot-sessions — first desktop-plugin (@hermes/plugin-sdk) reference example - #12

Open
kennysamuerto wants to merge 1 commit into
NousResearch:mainfrom
kennysamuerto:add-bot-sessions-desktop-plugin
Open

Add bot-sessions — first desktop-plugin (@hermes/plugin-sdk) reference example#12
kennysamuerto wants to merge 1 commit into
NousResearch:mainfrom
kennysamuerto:add-bot-sessions-desktop-plugin

Conversation

@kennysamuerto

Copy link
Copy Markdown

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_AREA contributions
  • host.profileRoutes() + host.requestProfile() registry-routed RPC (profile-scoped session.list / cron.manage, with graceful fallbacks for older gateways)
  • host.onEvent live refresh (sessions.changed / cron.changed) with a slow polling fallback
  • host.state.focusedSessionProfile + useValue (follow-the-active-bot toggle)
  • ctx.storage persistence, host.openSession, theme variables throughout

A 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

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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants