- Add config.yaml.example as multi-agent swarm schema - 7 bot users across 3 platforms: hermes (4), pi (1), agent-zero (1), @all-bots - All owner_email values confirmed: - tanko, mumuni, abiba, kagentz -> jerome@sysloggh.com - koonimo -> jeremytabiri@gmail.com - koby -> theo@sysloggh.com - DRY: deploy.sh AGENTS array should derive from config.yaml in future - config.yaml is gitignored (secrets-safe); created locally with full data
This commit is contained in:
+56
-18
@@ -1,31 +1,69 @@
|
||||
# config.yaml.example — Shared configuration schema for all 3 platform plugins
|
||||
# config.yaml.example — Shared configuration schema (swarm version)
|
||||
# Copy to config.yaml and fill in per-agent values. Do NOT commit config.yaml.
|
||||
#
|
||||
# Fields marked ${ENV_VAR} should be set from environment variables.
|
||||
# All fields are required unless marked (optional).
|
||||
|
||||
agent:
|
||||
name: "tanko" # Agent name (lowercase, no spaces)
|
||||
display_name: "Tanko" # Human-readable display name
|
||||
zulip_bot_name: "tanko-bot" # Zulip bot username (ADR-003 naming)
|
||||
bot_id: 1234 # Zulip user ID of this bot (required for mentioned_users logic)
|
||||
owner_email: "jerome@sysloggh.net" # Human owner for private topic ACL
|
||||
private_topic: "tanko-private" # Private topic name (ADR-001 naming)
|
||||
|
||||
zulip:
|
||||
server_url: "https://chat.sysloggh.net"
|
||||
email: "tanko-bot@chat.sysloggh.net"
|
||||
api_key: "${ZULIP_API_KEY}" # Zulip bot API key — use env var, never hardcode
|
||||
stream: "agent-hub" # Zulip stream for agent communication
|
||||
all_bots_user_id: 1234 # User ID of the "All Bots" bot (ADR-006)
|
||||
stream: "agent-hub"
|
||||
realm: "SyslogGH"
|
||||
|
||||
swarm:
|
||||
# ─── Hermes Python Agents ───
|
||||
- name: "tanko"
|
||||
platform: hermes
|
||||
display_name: "Tanko"
|
||||
bot_email: "tanko-bot@chat.sysloggh.net"
|
||||
bot_id: 14 # Zulip user ID (required for mentioned_users logic)
|
||||
owner_email: "jerome@sysloggh.net" # Owner for private topic ACL (ADR-011)
|
||||
private_topic: "tanko-private"
|
||||
ct: "amdpve CT 112" # Deployment target
|
||||
plugin_path: "/opt/hermes-zulip-plugin"
|
||||
service: "zulip-plugin"
|
||||
|
||||
# ─── PI TypeScript Agent ───
|
||||
- name: "abiba"
|
||||
platform: pi
|
||||
display_name: "Abiba"
|
||||
bot_email: "abiba-bot@chat.sysloggh.net"
|
||||
bot_id: 19
|
||||
owner_email: "jerome@sysloggh.com"
|
||||
private_topic: "abiba-private"
|
||||
ct: "amdpve CT 100"
|
||||
plugin_path: "/root/.pi/agent/extensions/zulip.ts"
|
||||
service: "pi"
|
||||
|
||||
# ─── Agent Zero Plugin ───
|
||||
- name: "kagentz"
|
||||
platform: agent-zero
|
||||
display_name: "Kagentz"
|
||||
bot_email: "kagentz-bot@chat.sysloggh.net"
|
||||
bot_id: 13
|
||||
owner_email: "jerome@sysloggh.com"
|
||||
private_topic: "kagentz-private"
|
||||
ct: "amdpve CT 105"
|
||||
plugin_path: "/opt/agent-zero-plugin"
|
||||
service: "zulip-plugin"
|
||||
|
||||
# ─── @all-bots (virtual — no CT, no plugin) ───
|
||||
- name: "all-bots"
|
||||
platform: shared
|
||||
display_name: "All Bots"
|
||||
bot_email: "all-bots@chat.sysloggh.net"
|
||||
bot_id: 20 # ADR-006: dedicated user for @all-bots detection
|
||||
owner_email: null
|
||||
private_topic: null
|
||||
ct: null
|
||||
plugin_path: null
|
||||
service: null
|
||||
|
||||
error_handling:
|
||||
timeout_seconds: 30 # Max wait for agent response
|
||||
retry_count: 3 # Retry attempts before graceful degradation
|
||||
retry_delay_seconds: 5 # Delay between retries
|
||||
timeout_seconds: 30
|
||||
retry_count: 3
|
||||
retry_delay_seconds: 5
|
||||
graceful_message: "{{agent_name}} is processing your request — please wait..."
|
||||
|
||||
monitoring:
|
||||
health_endpoint_enabled: true
|
||||
health_port: 9200 # Health check HTTP port (all platforms)
|
||||
health_port: 9200
|
||||
log_level: "INFO" # DEBUG, INFO, WARNING, ERROR
|
||||
|
||||
Reference in New Issue
Block a user