Skip to content

Deprecate Telegram bridge GAgents, route Telegram traffic through NyxID relay #644

@eanzhao

Description

@eanzhao

Background

Lark traffic already flows through NyxID relay (NyxID -> Aevatar channel callback, see reference_nyxid_lark_relay). Telegram, by contrast, still has its own TelegramBridgeGAgent + TelegramUserBridgeGAgent plus the workflow YAMLs that wire it up.

If NyxID relay can carry Telegram the same way it carries Lark, these GAgents are obsolete — they become a parallel "second system" with its own state machine, contradicting CLAUDE.md "单一主干, 插件扩展".

Current Telegram-bridge surface

src/workflow/extensions/Aevatar.Workflow.Extensions.Bridge/
  TelegramBridgeGAgent.cs              (base class)
  TelegramUserBridgeGAgent.cs          (subclass)
  ServiceCollectionExtensions.cs       (DI)
test/Aevatar.Workflow.Host.Api.Tests/
  TelegramBridgeGAgentTests.cs
tools/Aevatar.Tools.Cli/workflows/
  telegram_openclaw_bridge_chat.yaml
  telegram_openclaw_file_operator.yaml
  telegram_openclaw_github_repo_research.yaml

Proposal

Phase 1 — confirm NyxID relay can carry Telegram

  • Verify NyxID's /channel-relay/* endpoints support Telegram alongside Lark (NyxID #?? — check first)
  • If gaps exist on the NyxID side, stop — CLAUDE.md "外部仓库无改动权" forbids requiring NyxID changes for an aevatar-side cleanup. Treat as documentation-only deprecation in that case.
  • Document the relay-based Telegram callback envelope in reference_nyxid_telegram_relay (mirror of reference_nyxid_lark_relay)

Phase 2 — migrate workflows

  • Convert the three telegram_openclaw_*.yaml workflows to consume NyxID relay callbacks instead of TelegramBridgeGAgent
  • Maintain feature parity smoke test on Telegram bot
  • Cross-reference with the channel bot relay code map (reference_channel_callback_flow)

Phase 3 — delete

  • Delete TelegramBridgeGAgent, TelegramUserBridgeGAgent, related DI, tests
  • CI guard against the namespace
  • Update docs that reference these GAgents

Outcome

  • GAgent type count: 21 → 19 (after Issue "Delete dead GAgents" lands first)
  • Single unified relay path for all chat platforms (Lark + Telegram)
  • One fewer parallel state machine to maintain

Risk

  • Telegram-specific behavior (group/user separation, callback verification) must be preserved through the relay path
  • If NyxID relay does not yet support Telegram, this issue becomes a docs-only deprecation note until that gap is closed (out of scope for this repo)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions