Skip to main content

Structured memory plugin for project management and mental health tracking in Hermes

Project description

Forge Hermes Plugin

Hermes plugin for Forge.

This plugin follows the Hermes plugin guide directly:

  • a Python package with a hermes_agent.plugins entry point for pip discovery
  • a Hermes plugin manifest and registration module that expose Forge to Hermes
  • bundled Forge runtime assets so Hermes can start Forge safely without repo-only runtime imports

It exposes the same curated Forge contract as the OpenClaw adapter, but through Hermes' Python plugin system. It also bundles a Psyche interview playbook pack so Hermes can explore values, patterns, behaviors, beliefs, modes, and trigger reports with active listening before persisting them. It now also exposes the first-class Preferences surface, including the summary-first workspace read, the comparison-game starter, editable concept lists, contextual profile slices, direct signals, and exact score overrides. It also exposes Forge's wiki memory surface plus the sleep and sports review models, so Hermes can inspect recent nights, review workout context, enrich health sessions with reflective links, and work with file-first wiki pages.

Install

From the Forge repo:

~/.hermes/hermes-agent/venv/bin/python -m ensurepip --upgrade
~/.hermes/hermes-agent/venv/bin/python -m pip install --upgrade ./plugins/forge-hermes

That installs the package into Hermes' own Python environment through pip, creates ~/.hermes/forge/config.json automatically on first plugin load if it is missing, and defaults the Forge runtime data root to ~/.hermes/forge so local Hermes usage does not write into the repo root.

Use ~/.hermes/hermes-agent/venv/bin/python so the package lands in the Python environment Hermes actually runs and Hermes can discover Forge through the package entry point on the next startup.

If you want editable package mode while developing from this repo:

~/.hermes/hermes-agent/venv/bin/python -m ensurepip --upgrade
~/.hermes/hermes-agent/venv/bin/python -m pip install --upgrade --editable ./plugins/forge-hermes

Runtime behavior

  • defaults to FORGE_ORIGIN=http://127.0.0.1 and FORGE_PORT=4317
  • defaults FORGE_ACTOR_LABEL to aurel (hermes)
  • defaults FORGE_DATA_ROOT to ~/.hermes/forge
  • supports FORGE_API_TOKEN for remote or explicitly scoped access
  • supports FORGE_DATA_ROOT when you want Forge to use a specific local data folder
  • when Forge is local and not already running, the plugin calls the repo's tested Forge local-runtime bootstrap helper instead of maintaining a separate startup implementation
  • when port 4317 is busy and not explicitly pinned, the shared runtime helper can move Forge to the next free localhost port and remember that preferred port
  • if another Forge runtime is already serving the wrong storage root, startup fails loudly instead of attaching to the wrong database

Shared Multi-user Forge

This plugin can participate in one shared Forge system with OpenClaw, Codex, and the browser UI, but the runtime target needs to be aligned deliberately.

If you want Hermes to share the same Forge users and records:

  • use the same FORGE_ORIGIN
  • use the same FORGE_PORT
  • use the same FORGE_DATA_ROOT for local shared storage
  • give Hermes its own FORGE_ACTOR_LABEL, ideally a human-readable label such as Albert (hermes)

Forge's ownership model is explicit:

  • users are typed as human or bot
  • entity writes should set userId intentionally
  • reads can use one userId or several userIds
  • cross-user links are allowed

That is what lets a Hermes bot own its own tasks or strategies while still supporting human-owned goals and projects in the same Forge runtime.

Preferences Workspace

Forge Preferences is a first-class domain, not a hidden recommendation layer. Hermes can now:

  • read the full workspace with forge_get_preferences_workspace
  • start the comparison flow with forge_start_preferences_game
  • create, update, and delete preference_catalog, preference_catalog_item, preference_context, and preference_item through the same batch entity routes as other Forge entities
  • merge contextual profiles with the dedicated action route when two contexts should collapse into one
  • enqueue Forge entities directly into a preference domain
  • submit pairwise judgments and direct signals
  • override inferred scores when the user wants an explicit correction

This matches the current Forge UI:

  • the /preferences landing page leads with what Forge already knows
  • the comparison flow is a modal "Start the game" experience
  • Forge-native domains can auto-seed from real Forge entities
  • broader taste domains can seed from editable concept libraries such as food, activities, places, countries, fashion, people, media, and tools

Wiki, Sleep, And Sports

Hermes now ships the same explicit coverage for these newer Forge surfaces:

  • Wiki: forge_get_wiki_settings, forge_list_wiki_pages, forge_get_wiki_page, forge_search_wiki, forge_upsert_wiki_page, forge_get_wiki_health, forge_sync_wiki_vault, forge_reindex_wiki_embeddings, forge_ingest_wiki_source
  • Sleep: forge_get_sleep_overview, forge_update_sleep_session
  • Sports: forge_get_sports_overview, forge_update_workout_session

This matters because sleep and sports are not generic notes or tasks, and wiki pages are not normal batch entities. Hermes uses the dedicated routes so the health surfaces, markdown vault, backlinks, and metadata index stay aligned.

Environment variables

  • FORGE_ORIGIN
  • FORGE_PORT
  • FORGE_API_TOKEN
  • FORGE_ACTOR_LABEL
  • FORGE_TIMEOUT_MS
  • FORGE_DATA_ROOT

Notes

  • the recommended install path is now pip-based Hermes entry-point discovery, not the old folder-plugin symlink
  • edit ~/.hermes/forge/config.json if you want to move the data root or pin a different local port
  • the bundled skill pack is installed automatically on first plugin load under ~/.hermes/skills/forge-hermes/ if those files do not already exist

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

forge_hermes_plugin-0.2.26.tar.gz (4.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

forge_hermes_plugin-0.2.26-py3-none-any.whl (18.7 MB view details)

Uploaded Python 3

File details

Details for the file forge_hermes_plugin-0.2.26.tar.gz.

File metadata

  • Download URL: forge_hermes_plugin-0.2.26.tar.gz
  • Upload date:
  • Size: 4.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for forge_hermes_plugin-0.2.26.tar.gz
Algorithm Hash digest
SHA256 c37d63201b80cfb22ba7c48a85b8ec48043c37a5aa064767ddb40acef5b1065d
MD5 8476cbdb2b39854a321f49ddf1f916b2
BLAKE2b-256 b52709c0903518abf65f0159a556a10c8926aa501f5c106d33dee2e0bfdf91e0

See more details on using hashes here.

File details

Details for the file forge_hermes_plugin-0.2.26-py3-none-any.whl.

File metadata

File hashes

Hashes for forge_hermes_plugin-0.2.26-py3-none-any.whl
Algorithm Hash digest
SHA256 4a75ea5efb8a9bb558857d67d1d0f5c12271867d4b446a8d3b224e70a71a2b31
MD5 609f0b4b24184df19481234d07ab54c7
BLAKE2b-256 d5b8f5c3a6797c5faf58293f170f08b06e3b73949f5325024287bccdae9cd2e9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page