Skip to content

[Bug] hermes adapter broken on main: MemosHttpClient is imported but not defined anywhere #2096

Description

@fancyboi999

Summary

The hermes adapter cannot be imported on current main: memos_provider/__init__.py imports MemosHttpClient from bridge_client, but that class does not exist anywhere in the repository.

Repro

cd apps/memos-local-plugin
python -m unittest tests.python.test_hermes_provider_pipeline
File ".../adapters/hermes/memos_provider/__init__.py", line 68, in <module>
    from bridge_client import BridgeError, MemosBridgeClient, MemosHttpClient  # noqa: E402
ImportError: cannot import name 'MemosHttpClient' from 'bridge_client'

git grep "class MemosHttpClient" across the repo → zero hits.

Impact

  • Every plugin test under apps/memos-local-plugin/tests/python/ fails at collection (import error before any test runs).
  • Any real Hermes host loading memos_provider hits the same ImportError at module load — the adapter is entirely non-functional on main, not just in tests.
  • CI does not catch this because python-tests.yml runs pytest tests (repo root) only; the plugin's Python tests are not wired into CI.

Where it came from

__init__.py references MemosHttpClient at lines 68, 282, 334, 336 (type union with MemosBridgeClient, plus an http_bridge = MemosHttpClient() construction path). These usages arrived via the pr/may27-fixes merge (0398e0ed, followed by ruff fixup c739e9f2), but the class definition itself was never committed — it looks like the branch was merged with half of an HTTP-client feature.

Suggested fix

Either commit the missing MemosHttpClient implementation in bridge_client.py, or revert the usages in __init__.py until the HTTP client feature is complete. Also worth adding apps/memos-local-plugin/tests/python to CI so import-level breakage like this fails fast.

Found while rebasing #2095 (the plugin tests there pass once this class is stubbed).

Metadata

Metadata

Labels

area:pluginOpenClaw & Hermesstatus:in-progressSomeone or AI is working on it | 人工或 AI 正在处理

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions