From 3beef5782530507a8663696300c76f62e5cc2451 Mon Sep 17 00:00:00 2001 From: jani Date: Sun, 3 May 2026 12:21:59 +1000 Subject: [PATCH] docs: refresh stale platform/LOC/test counts; clarify gateway vs plugin platforms MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit AGENTS.md is the AI-assistant entry doc, so its counts get used as ground truth. Several values had drifted, and the same drift had spread to a few user-facing surfaces. Fixing all of them in one commit so the count claims agree and clearly distinguish gateway-core from plugin-shipped platforms. AGENTS.md: - run_agent.py "~12k LOC" → "~14k LOC as of 2026-05-03" (actual 14,097) - cli.py "~11k LOC" → "~12k LOC as of 2026-05-03" (actual 12,043) - tools/environments/ list now lists all 7 user-selectable terminal backends in canonical order, matching tools/terminal_tool.py:2214-2215 - gateway/platforms/ list adds yuanbao and wecom_callback; the 19 names match the user-facing list at website/docs/integrations/index.md - plugins/ tree now mentions plugins/platforms/ (irc, teams) - tests/ snapshot "~15k tests across ~700 files as of Apr 2026" → "~19k tests across ~890 files as of 2026-05-03" User-facing count claims: - hermes_cli/tips.py:195 — "19 platforms" → "21 messaging platforms" with IRC and Microsoft Teams added to the named list - website/docs/index.md:49 — "6 terminal backends" → "7 terminal backends: ..., Vercel Sandbox" (also corrected by PR #19044; same edit content) - website/docs/index.md:50 — "15+ platforms from one gateway" → "21+ messaging platforms (19 in the gateway, plus IRC and Microsoft Teams via plugins)" - website/docs/integrations/index.md:83-85 — "15+ messaging platforms" → "19+", added yuanbao to the linked list. The surrounding text scopes it to "configured through the same gateway subsystem", so plugin platforms (IRC, Teams) are intentionally not in this list - website/scripts/generate-llms-txt.py:205 — "15+ platforms" → "21+ messaging platforms — 19 native to the gateway plus IRC and Microsoft Teams via plugins" LOC and date stamps follow the existing AGENTS.md "as of " convention (line 56 already used this pattern). Source of truth for the gateway count is gateway/config.py:130-148 (PlatformID enum); plugin platforms live in plugins/platforms/. Out of scope: - RELEASE_v0.9.0.md historical "16 platforms" claim (immutable history) - userStories.json verbatim user quotes - Programmatic count generation from gateway/config.py + plugin manifests is a worthwhile build-system change but separate from these content fixes --- hermes_cli/tips.py | 2 +- website/docs/integrations/index.md | 4 ++-- website/scripts/generate-llms-txt.py | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/hermes_cli/tips.py b/hermes_cli/tips.py index c95bc316b7..77329d9f87 100644 --- a/hermes_cli/tips.py +++ b/hermes_cli/tips.py @@ -192,7 +192,7 @@ TIPS = [ "Voice messages on Telegram, Discord, WhatsApp, and Slack are auto-transcribed.", # --- Gateway & Messaging --- - "Hermes runs on 18 platforms: Telegram, Discord, Slack, WhatsApp, Signal, Matrix, email, and more.", + "Hermes runs on 21 messaging platforms: Telegram, Discord, Slack, WhatsApp, Signal, Matrix, IRC, Microsoft Teams, email, and more.", "hermes gateway install sets it up as a system service that starts on boot.", "DingTalk uses Stream Mode — no webhooks or public URL needed.", "BlueBubbles brings iMessage to Hermes via a local macOS server.", diff --git a/website/docs/integrations/index.md b/website/docs/integrations/index.md index 20b86565d8..444e07660f 100644 --- a/website/docs/integrations/index.md +++ b/website/docs/integrations/index.md @@ -80,9 +80,9 @@ Speech-to-text supports six providers: local faster-whisper (free, runs on-devic ## Messaging Platforms -Hermes runs as a gateway bot on 15+ messaging platforms, all configured through the same `gateway` subsystem: +Hermes runs as a gateway bot on 19+ messaging platforms, all configured through the same `gateway` subsystem: -- **[Telegram](/docs/user-guide/messaging/telegram)**, **[Discord](/docs/user-guide/messaging/discord)**, **[Slack](/docs/user-guide/messaging/slack)**, **[WhatsApp](/docs/user-guide/messaging/whatsapp)**, **[Signal](/docs/user-guide/messaging/signal)**, **[Matrix](/docs/user-guide/messaging/matrix)**, **[Mattermost](/docs/user-guide/messaging/mattermost)**, **[Email](/docs/user-guide/messaging/email)**, **[SMS](/docs/user-guide/messaging/sms)**, **[DingTalk](/docs/user-guide/messaging/dingtalk)**, **[Feishu/Lark](/docs/user-guide/messaging/feishu)**, **[WeCom](/docs/user-guide/messaging/wecom)**, **[WeCom Callback](/docs/user-guide/messaging/wecom-callback)**, **[Weixin](/docs/user-guide/messaging/weixin)**, **[BlueBubbles](/docs/user-guide/messaging/bluebubbles)**, **[QQ Bot](/docs/user-guide/messaging/qqbot)**, **[Home Assistant](/docs/user-guide/messaging/homeassistant)**, **[Microsoft Teams](/docs/user-guide/messaging/teams)**, **[Webhooks](/docs/user-guide/messaging/webhooks)** +- **[Telegram](/docs/user-guide/messaging/telegram)**, **[Discord](/docs/user-guide/messaging/discord)**, **[Slack](/docs/user-guide/messaging/slack)**, **[WhatsApp](/docs/user-guide/messaging/whatsapp)**, **[Signal](/docs/user-guide/messaging/signal)**, **[Matrix](/docs/user-guide/messaging/matrix)**, **[Mattermost](/docs/user-guide/messaging/mattermost)**, **[Email](/docs/user-guide/messaging/email)**, **[SMS](/docs/user-guide/messaging/sms)**, **[DingTalk](/docs/user-guide/messaging/dingtalk)**, **[Feishu/Lark](/docs/user-guide/messaging/feishu)**, **[WeCom](/docs/user-guide/messaging/wecom)**, **[WeCom Callback](/docs/user-guide/messaging/wecom-callback)**, **[Weixin](/docs/user-guide/messaging/weixin)**, **[BlueBubbles](/docs/user-guide/messaging/bluebubbles)**, **[QQ Bot](/docs/user-guide/messaging/qqbot)**, **[Yuanbao](/docs/user-guide/messaging/yuanbao)**, **[Home Assistant](/docs/user-guide/messaging/homeassistant)**, **[Microsoft Teams](/docs/user-guide/messaging/teams)**, **[Webhooks](/docs/user-guide/messaging/webhooks)** See the [Messaging Gateway overview](/docs/user-guide/messaging) for the platform comparison table and setup guide. diff --git a/website/scripts/generate-llms-txt.py b/website/scripts/generate-llms-txt.py index e1a9fcced9..5bb2c65cb5 100644 --- a/website/scripts/generate-llms-txt.py +++ b/website/scripts/generate-llms-txt.py @@ -202,7 +202,8 @@ def emit_llms_index() -> str: lines.append( "> The self-improving AI agent built by Nous Research. A terminal-native " "autonomous coding and task agent with persistent memory, agent-created skills, " - "and a messaging gateway that lives on 15+ platforms (Telegram, Discord, Slack, " + "and a messaging gateway that lives on 21+ messaging platforms — 19 native to " + "the gateway plus IRC and Microsoft Teams via plugins (Telegram, Discord, Slack, " "SMS, Matrix, ...). Runs on local, Docker, SSH, Daytona, Modal, or Singularity " "backends. Works with Nous Portal, OpenRouter, OpenAI, Anthropic, Google, or any " "OpenAI-compatible endpoint."