Skip to content

fix(docs): deprecate hermes-memory-provider for Hermes + add HTTP transport#724

Merged
ajianaz merged 3 commits into
developfrom
fix/memory-provider-deprecation-notice
Jul 17, 2026
Merged

fix(docs): deprecate hermes-memory-provider for Hermes + add HTTP transport#724
ajianaz merged 3 commits into
developfrom
fix/memory-provider-deprecation-notice

Conversation

@ajianaz

@ajianaz ajianaz commented Jul 17, 2026

Copy link
Copy Markdown
Collaborator

Summary

The extension template was misleading — it presented Mode B (MemoryProvider) as active for Hermes, but this was deprecated on 2026-06-29. Users reading only the README would install a broken integration.

Changes

File Change
Add deprecation notice, clarify Hermes vs pi/claude/cursor, add transport modes section
Bump v1.0.0 → v1.1.0, add deprecation comment
Add dual transport (subprocess + HTTP via UTEKE_SERVER_URL), refactor recall/remember, extraction guard for missing binary
Link to extension template source in Mode B deprecated section

Key improvements

  1. No more silent failure for Hermes users — README now prominently warns deprecation
  2. HTTP transport option — templates now support UTEKE_SERVER_URL for container-based access (avoids subprocess hang issues)
  3. Backward compatible — existing subprocess mode unchanged, HTTP is opt-in
  4. Cross-referenced — docs/integrations/hermes.md now links to the template source

Scope

  • Docs + templates only — no Rust code changes
  • No impact on active Hermes agents (which already use Mode A + Mode C)

…nsport

- README: add deprecation notice for Hermes (removed 2026-06-29),
  clarify template is for pi/claude/cursor agents only
- README: add transport mode section (subprocess vs HTTP)
- plugin.yaml: bump to v1.1.0, add deprecation comment
- __init__.py.tmpl: add dual transport support (subprocess + HTTP),
  add UTEKE_SERVER_URL/UTEKE_TOKEN config, refactor recall/remember
  into separate _subprocess/_http methods, extraction guard for missing binary
- docs/integrations/hermes.md: link to extension template source in Mode B section
Use HTTP mode when:
- The `uteke` binary is not available on PATH or hangs on your system
- `uteke-serve` is already running as a daemon
- You want container-based access (e.g., `http://uteke:8767`)
Comment thread extensions/hermes-memory-provider/__init__.py.tmpl Fixed
@github-actions

github-actions Bot commented Jul 17, 2026

Copy link
Copy Markdown

🔍 Cora AI Code Review

Blocked — critical issues found.

🔴 Error (2)

  • extensions/hermes-memory-provider/__init__.py.tmpl:437 — The new condition if not self._extract or not self._bin: return silently skips extraction when no uteke binary is available. In HTTP-only mode (UTEKE_SERVER_URL set, UTEKE_BIN unset), users who chose HTTP specifically to avoid installing the binary will lose session-end fact extraction with no runtime indication. The docstring documents the limitation but there is no logger.warning emitted, so the behavior degradation is invisible. Consider logging a one-time warning when _use_http and not self._bin and self._extract.
  • extensions/hermes-memory-provider/README.md:70 — Insecure HTTP URL detected (not https). Use HTTPS for all external connections.

Review powered by cora-cli · BYOK · MIT

def _extract_messages(self, messages: List[Dict[str, Any]]) -> None:
"""Convert messages to clean text and run `import --extract` (blocking)."""
if not self._extract:
"""Convert messages to clean text and run `import --extract` (blocking).
@ajianaz
ajianaz merged commit c71829b into develop Jul 17, 2026
8 of 9 checks passed
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