CI / validate (pull_request) Failing after 2s
Builds on the NousResearch Hermes Agent plugin system: - plugins/platforms/zulip/ — full BasePlatformAdapter implementation - Zulip event queue polling (like pi-zulip-extension) - DM-first + @mention + @all-bots routing - Placeholder→edit streaming UX - Typing indicators - Deduplication and echo-loop prevention - Auto-registers via register(ctx) — zero core changes - plugin.yaml with full env var schema - hermes-zulip-plugin/DEPRECATED.md — migration guide from old subprocess-based service Configuration: Env vars: ZULIP_SITE, ZULIP_EMAIL, ZULIP_API_KEY (required) Config: platforms.zulip.extra in Hermes config.yaml
57 lines
1.8 KiB
YAML
57 lines
1.8 KiB
YAML
name: zulip-platform
|
|
label: Zulip
|
|
kind: platform
|
|
version: 1.0.0
|
|
description: >
|
|
Zulip messaging platform adapter for Hermes Agent. Connects to a Zulip
|
|
server via event queue polling, processes DMs and @mentions, and sends
|
|
replies with placeholder→edit streaming. Uses the official zulip-js
|
|
HTTP API pattern (polling, not WebSockets) — lightweight, no external
|
|
SDK beyond httpx.
|
|
|
|
author: Syslog Solution LLC
|
|
|
|
requires_env:
|
|
- name: ZULIP_SITE
|
|
description: "Zulip server URL (e.g. https://chat.sysloggh.net)"
|
|
prompt: "Zulip server URL"
|
|
password: false
|
|
- name: ZULIP_EMAIL
|
|
description: "Bot email address (e.g. tanko-bot@chat.sysloggh.net)"
|
|
prompt: "Zulip bot email"
|
|
password: false
|
|
- name: ZULIP_API_KEY
|
|
description: "Zulip bot API key"
|
|
prompt: "Zulip API key"
|
|
password: true
|
|
|
|
optional_env:
|
|
- name: ZULIP_STREAM
|
|
description: "Primary stream to subscribe to (default: agent-hub)"
|
|
prompt: "Zulip stream name"
|
|
password: false
|
|
- name: ZULIP_ALL_BOTS_USER_ID
|
|
description: "User ID of the @all-bots user (default: 1)"
|
|
prompt: "All Bots user ID"
|
|
password: false
|
|
- name: ZULIP_AGENT_NAME
|
|
description: "Agent display name for logging (default: hermes-agent)"
|
|
prompt: "Agent name"
|
|
password: false
|
|
- name: ZULIP_OWNER_EMAIL
|
|
description: "Owner email for private topic ACL"
|
|
prompt: "Owner email"
|
|
password: false
|
|
- name: ZULIP_POLL_INTERVAL
|
|
description: "Event poll interval in seconds (default: 3)"
|
|
prompt: "Poll interval (seconds)"
|
|
password: false
|
|
- name: ZULIP_HOME_CHANNEL
|
|
description: "Default recipient for cron / notification delivery"
|
|
prompt: "Home channel (email or stream:topic)"
|
|
password: false
|
|
- name: ZULIP_HOME_CHANNEL_NAME
|
|
description: "Human label for the home channel"
|
|
prompt: "Home channel display name"
|
|
password: false
|