Skip to content
This repository was archived by the owner on May 31, 2026. It is now read-only.
This repository was archived by the owner on May 31, 2026. It is now read-only.

Add bm-* slash commands for Basic Memory #2

Description

@groksrc

Feature Description

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.
  • Search/read/context/status command handlers return clear, human-readable output.
  • Recent activity behavior is documented, including any dependency on Basic Memory core support for updated-at based recent activity.
  • Tests pass for plugin command registration and command behavior.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions