mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-06-21 10:22:18 +00:00
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).
39 lines
1.5 KiB
YAML
39 lines
1.5 KiB
YAML
name: dingtalk-platform
|
|
label: DingTalk
|
|
kind: platform
|
|
version: 1.0.0
|
|
description: >
|
|
DingTalk gateway adapter for Hermes Agent.
|
|
Connects to DingTalk via the dingtalk-stream SDK (Stream Mode) and relays
|
|
messages between DingTalk chats and the Hermes agent. Supports text, images,
|
|
audio, video, rich text, files, group @mention gating, free-response chats,
|
|
and per-user allowlists.
|
|
author: NousResearch
|
|
requires_env:
|
|
- name: DINGTALK_CLIENT_ID
|
|
description: "DingTalk app key (Client ID)"
|
|
prompt: "DingTalk Client ID (app key)"
|
|
url: "https://open-dev.dingtalk.com"
|
|
password: false
|
|
- name: DINGTALK_CLIENT_SECRET
|
|
description: "DingTalk app secret (Client Secret)"
|
|
prompt: "DingTalk Client Secret"
|
|
url: "https://open-dev.dingtalk.com"
|
|
password: true
|
|
optional_env:
|
|
- name: DINGTALK_WEBHOOK_URL
|
|
description: "Static robot webhook URL for cross-platform / cron delivery"
|
|
prompt: "DingTalk robot webhook URL (optional)"
|
|
password: false
|
|
- name: DINGTALK_ALLOWED_USERS
|
|
description: "Comma-separated staff/sender IDs allowed to talk to the bot (* = any)"
|
|
prompt: "Allowed users (comma-separated)"
|
|
password: false
|
|
- name: DINGTALK_HOME_CHANNEL
|
|
description: "Default conversation ID for cron / notification delivery"
|
|
prompt: "Home channel ID"
|
|
password: false
|
|
- name: DINGTALK_HOME_CHANNEL_NAME
|
|
description: "Display name for the DingTalk home channel"
|
|
prompt: "Home channel display name"
|
|
password: false
|