feat: Gen 4 — deployment scripts, v1.0.0 release with native plugin support
Gen 4 of build-zulip-plugin contract — closing the deployment gap: 1. Rewrote deploy.sh for dual-mode deployment - --mode=native: deploys to ~/.hermes/plugins/platforms/zulip/ + hermes gateway restart - --mode=legacy: old /opt/hermes-zulip-plugin/ + systemctl (deprecated) - Per-agent deployment, dry-run support, health verification 2. Added verify-deployment.sh - Checks plugin files, Hermes Gateway, health endpoint, env vars - Returns clear verdict: deployed or what's missing 3. Updated ARCHITECTURE.md to v2 - Documents native plugin as CURRENT, old systemd as DEPRECATED - Cross-references hermes-zulip-plugin/DEPRECATED.md 4. Tagged v1.0.0 — 14/14 Success Criteria met, deployable
This commit is contained in:
+32
-7
@@ -1,8 +1,20 @@
|
||||
# Zulip Multi-Platform Agent Communication — Architecture
|
||||
# Zulip Multi-Platform Agent Communication — Architecture (v2)
|
||||
|
||||
## Overview
|
||||
A production-ready system enabling 6 AI agents across 3 platforms (Hermes Python, Agent Zero, pi TypeScript) to communicate through Zulip via dedicated per-agent bot users.
|
||||
|
||||
## Architecture (Hermes Native Plugin — Current)
|
||||
|
||||
As of v1.0.0, Hermes agents (Tanko, Mumuni, Koonimo, Koby) use the **Hermes native platform plugin**
|
||||
at `~/.hermes/plugins/platforms/zulip/`. This replaces the old standalone systemd service.
|
||||
|
||||
Benefits of the native plugin:
|
||||
- Extends `BasePlatformAdapter` — zero changes to Hermes core
|
||||
- Auto-registers via `register(ctx)` at Gateway startup
|
||||
- Direct session injection (no subprocess overhead)
|
||||
- Leverages Gateway's built-in health checks, config, and error handling
|
||||
- Unified logging with all other Hermes platform adapters
|
||||
|
||||
## Architecture Diagram
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
@@ -66,18 +78,31 @@ User types: @all-bots status report
|
||||
- **Swarm Development**: The "Swarm" refers to our collaborative development methodology where multiple agents/developers work on different components of the plugin simultaneously.
|
||||
|
||||
|
||||
### Hermes (Python) — BasePlatformAdapter
|
||||
- Path: `hermes-zulip-plugin/src/hermes_zulip/`
|
||||
### Hermes (Python) — BasePlatformAdapter (CURRENT)
|
||||
- Path: `plugins/platforms/zulip/`
|
||||
- Deploy: `~/.hermes/plugins/platforms/zulip/`
|
||||
- Implements: `BasePlatformAdapter` (Hermes Gateway)
|
||||
- Config: `config.yaml` per-agent
|
||||
- Entry point: `plugin.yaml` (Hermes manifest)
|
||||
- Config: Hermes `config.yaml` under `platforms.zulip.extra` or env vars
|
||||
- Entry point: `plugin.yaml` + `register(ctx)` (Hermes manifest)
|
||||
- Versions: Gen 3 (v1.0.0) — 1,169 lines, 14/14 Success Criteria met
|
||||
- Features: DM-first, placeholder→edit streaming, dedup, self-test, health stats, @all-bots resolution
|
||||
|
||||
### Agent Zero — A0 Plugin System
|
||||
### Agent Zero — A0 Plugin System (LEGACY — to migrate)
|
||||
- Path: `agent-zero-plugin/src/`
|
||||
- Implements: Agent Zero plugin API
|
||||
- Config: `config.yaml` per-agent
|
||||
|
||||
### pi (TypeScript) — pi Extension API
|
||||
### pi (TypeScript) — pi Extension API (CURRENT)
|
||||
- Path: `pi-zulip-extension/`
|
||||
- Deploy: PM2-managed process
|
||||
- Runs under `pi --mode rpc --session-id zulip-service`
|
||||
- Active: abiba-bot only (ZULIP_EXTENSION_ACTIVE=true guard)
|
||||
|
||||
### Legacy Hermes Plugin (DEPRECATED)
|
||||
- OLD path: `hermes-zulip-plugin/src/hermes_zulip/`
|
||||
- OLD deploy: `/opt/hermes-zulip-plugin/` + systemd service
|
||||
- Status: Replaced by `plugins/platforms/zulip/` native plugin as of v1.0.0
|
||||
- Migration: See `hermes-zulip-plugin/DEPRECATED.md`
|
||||
- Path: `pi-zulip-extension/src/`
|
||||
- Implements: pi extension (TypeScript module in `~/.pi/agent/extensions/`)
|
||||
- Config: `config.yaml` per-agent
|
||||
|
||||
Reference in New Issue
Block a user