You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add plugin-owned in-session slash commands for Basic Memory in hermes-basic-memory, using a bm-* prefix to avoid collisions with Hermes core commands and other memory providers.
Motivation
Hermes already exposes Basic Memory to the agent through bm_* tools, but humans in CLI/gateway sessions do not have a lightweight slash-command surface for direct memory operations. Prefixing commands with bm-* keeps the UX discoverable while making ownership clear.
This should live in the hermes-basic-memory plugin rather than Hermes core because the commands are Basic Memory-specific and Hermes supports plugin-registered slash commands via ctx.register_command(...).
Proposed Commands
Initial command set:
/bm-search <query> — search Basic Memory and return compact results.
/bm-read <identifier> — read a note by title, permalink, or memory:// URL.
/bm-context <identifier> — build/navigate Basic Memory context for a note or memory:// URL.
/bm-recent [timeframe] — show recent Basic Memory activity/context.
/bm-status — show plugin/provider status, mode, active project/path where available, and Basic Memory availability.
Optional follow-up command, depending on UX/safety:
/bm-remember <text> — capture a quick note/memory. This should be designed carefully to avoid accidental writes or unclear folder/title behavior.
Implementation Notes
Register commands from the plugin's register(ctx) entry point with ctx.register_command(name, handler, description=..., args_hint=...).
Prefer command names like bm-search, bm-read, etc. so users invoke /bm-search, /bm-read, etc.
Reuse the existing provider/MCP/tool path where practical instead of duplicating Basic Memory logic.
Hermes core should not need changes unless plugin command metadata/autocomplete/dispatch proves insufficient.
Include tests covering command registration and representative handler behavior.
Update README/CHANGELOG with the command list and examples.
Acceptance Criteria
When the Basic Memory plugin is enabled, Hermes exposes the new /bm-* slash commands in CLI/gateway sessions.
Commands do not conflict with built-in Hermes slash commands.
Feature Description
Add plugin-owned in-session slash commands for Basic Memory in
hermes-basic-memory, using abm-*prefix to avoid collisions with Hermes core commands and other memory providers.Motivation
Hermes already exposes Basic Memory to the agent through
bm_*tools, but humans in CLI/gateway sessions do not have a lightweight slash-command surface for direct memory operations. Prefixing commands withbm-*keeps the UX discoverable while making ownership clear.This should live in the
hermes-basic-memoryplugin rather than Hermes core because the commands are Basic Memory-specific and Hermes supports plugin-registered slash commands viactx.register_command(...).Proposed Commands
Initial command set:
/bm-search <query>— search Basic Memory and return compact results./bm-read <identifier>— read a note by title, permalink, ormemory://URL./bm-context <identifier>— build/navigate Basic Memory context for a note ormemory://URL./bm-recent [timeframe]— show recent Basic Memory activity/context./bm-status— show plugin/provider status, mode, active project/path where available, and Basic Memory availability.Optional follow-up command, depending on UX/safety:
/bm-remember <text>— capture a quick note/memory. This should be designed carefully to avoid accidental writes or unclear folder/title behavior.Implementation Notes
register(ctx)entry point withctx.register_command(name, handler, description=..., args_hint=...).bm-search,bm-read, etc. so users invoke/bm-search,/bm-read, etc.Acceptance Criteria
/bm-*slash commands in CLI/gateway sessions.