hermes-agent/plugins/platforms/slack/plugin.yaml
Teknium 5600105478 refactor(gateway): migrate slack/dingtalk/whatsapp/matrix/feishu/telegram/wecom/email/sms adapters to bundled plugins
Salvage of PR #41284 onto current main. Relocates the last 9 inline messaging
adapters (+ satellites: telegram_network, feishu_comment/_rules/meeting_invite,
wecom_crypto, wecom_callback) from gateway/platforms/ into self-contained
bundled plugins under plugins/platforms/<x>/, discovered via the platform
registry. Strips the per-platform core touchpoints from gateway/run.py,
gateway/config.py, hermes_cli/gateway.py, hermes_cli/setup.py, and
tools/send_message_tool.py.

Carries forward the migration fixes (explicit enabled:false honored,
get_connected_platforms forces discovery, plugin is_connected via
gateway.get_env_value, logs --component gateway matches plugins.platforms.*,
matrix hidden on Windows).

Additionally ports config keys main added since the PR base: the matrix
plugin's _apply_yaml_config now also covers allowed_users,
ignore_user_patterns, process_notices, and session_scope (the inline
gateway/config.py matrix block gained these in the 1340 commits the PR sat
open; they would otherwise have been silently dropped on deletion).
2026-06-20 10:26:45 -07:00

39 lines
1.4 KiB
YAML

name: slack-platform
label: Slack
kind: platform
version: 1.0.0
description: >
Slack gateway adapter for Hermes Agent.
Connects to Slack via slack-bolt in Socket Mode and relays messages
between Slack channels/DMs and the Hermes agent. Supports slash
commands, threads, mrkdwn rendering, approval blocks, free-response
channels, mention gating, and channel skill bindings.
author: NousResearch
requires_env:
- name: SLACK_BOT_TOKEN
description: "Slack bot token (xoxb-...)"
prompt: "Slack Bot Token (xoxb-...)"
url: "https://api.slack.com/apps"
password: true
- name: SLACK_APP_TOKEN
description: "Slack app-level token for Socket Mode (xapp-..., scope connections:write)"
prompt: "Slack App Token (xapp-...)"
url: "https://api.slack.com/apps"
password: true
optional_env:
- name: SLACK_ALLOWED_USERS
description: "Comma-separated Slack member IDs allowed to talk to the bot"
prompt: "Allowed users (comma-separated)"
password: false
- name: SLACK_ALLOW_ALL_USERS
description: "Allow any Slack user to trigger the bot (dev only)"
prompt: "Allow all users? (true/false)"
password: false
- name: SLACK_HOME_CHANNEL
description: "Default channel ID for cron / notification delivery (starts with C)"
prompt: "Home channel ID"
password: false
- name: SLACK_HOME_CHANNEL_NAME
description: "Display name for the Slack home channel"
prompt: "Home channel display name"
password: false