355123f204cd4267b2f0d9d48c9e939853ceadfe
CI / validate (push) Failing after 2s
Rewrite hermes-zulip-plugin as a proper Hermes platform plugin with
auto-discovery via plugin.yaml + __init__.py + register() pattern.
Features:
- Zulip event queue registration and polling for real-time messages
- DM-first architecture — private messages route into agent's session
- Placeholder→edit streaming UX (Thinking... → final response)
- Typing indicators via Zulip API
- Exponential backoff reconnection and queue re-registration
- Message deduplication with sliding window
- Config via config.yaml or env vars (ZULIP_EMAIL, ZULIP_API_KEY, ZULIP_SITE)
- Standalone sender for cron/notification delivery
- Plugin auto-discovery via @hermes_agent.plugins entry point
Architecture follows the proven ntfy adapter pattern:
plugins/platforms/{name}/plugin.yaml
plugins/platforms/{name}/__init__.py → exports register()
plugins/platforms/{name}/adapter.py → ZulipAdapter(BasePlatformAdapter)
Deployment: copy to ~/.hermes/plugins/platforms/zulip/ and restart gateway
Requirements: pip install zulip httpx
Closes issue #24
Description
Multi-platform Zulip agent communication plugins (Hermes, openclaw, Agent Zero)
1.3 MiB
Languages
Python
50.6%
JavaScript
34.6%
TypeScript
11.1%
Shell
3.7%