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
Phase 2 — migrate workflows
Phase 3 — delete
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)
Background
Lark traffic already flows through NyxID relay (NyxID -> Aevatar channel callback, see
reference_nyxid_lark_relay). Telegram, by contrast, still has its ownTelegramBridgeGAgent+TelegramUserBridgeGAgentplus 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
Proposal
Phase 1 — confirm NyxID relay can carry Telegram
/channel-relay/*endpoints support Telegram alongside Lark (NyxID #?? — check first)reference_nyxid_telegram_relay(mirror ofreference_nyxid_lark_relay)Phase 2 — migrate workflows
telegram_openclaw_*.yamlworkflows to consume NyxID relay callbacks instead ofTelegramBridgeGAgentreference_channel_callback_flow)Phase 3 — delete
TelegramBridgeGAgent,TelegramUserBridgeGAgent, related DI, testsOutcome
Risk