Skip to main content

Channels

Use this page when the base CLI path already works and you need to choose the right delivery surface story before diving into commands or config fields. The base CLI path still comes first. A user should be able to succeed with ask or chat before enabling service channels. If you want the exact per-surface setup contract instead of the conceptual surface map, go directly to Channel Guides. Keep Channel Recipes for representative rollout paths, smoke tests, and multi-channel sequencing. If you already know the provider and channel together, skip the narrower recipe pass and go to Common Setups plus the dedicated playbook that matches the rollout shape. If you specifically need the owner model behind gateway run, continue to Gateway And Supervision.

Canonical Channel CLI Story

Public docs now prioritize grouped shells over flat verbs:
  • generic channel actions: loong channels send <surface> ...
  • generic channel serve loops: loong channels serve <surface> ...
  • richer family namespaces stay first-class when they expose more than thin wrappers, but those richer payload workflows should stay on the dedicated family namespace instead of widening the canonical grouped contract

Already Know The Rollout Shape?

If the provider and channel are already obvious, skip this concept page and go straight to the matching playbook.
If you already know you want…Go here
Volcengine plus Feishu or LarkVolcengine Plus Feishu Or Lark
Volcengine plus WeComWeCom Rollout
BytePlus Coding plus TelegramBytePlus Coding Plus Telegram
a local model plus outbound deliveryLocal Model Plus Outbound Delivery
several runtime-backed channels on one hostGateway Rollout

Fast Path By Situation

If you need…Start with…Why
Feishu or Lark should own a live team-chat runtimeFeishu/Larkit is the most feature-rich managed-bridge-capable service channel today
Telegram is enough for the live reply loopTelegramit is the smallest managed-bridge-capable service setup path
Matrix should own a self-hosted or federated room runtimeMatrixhomeserver and room trust boundaries stay explicit on a managed-bridge-capable service lane
WhatsApp Cloud API should own a business-account reply loopWhatsApp Cloud APIdirect sends and the webhook reply loop are both shipped on a managed-bridge-capable service lane
WeCom should own the official enterprise AIBot laneWeComit aligns with the shipped managed-bridge-capable long-connection contract
WeChat or personal WhatsApp ecosystems should route through an external bridgeWeixin, OneBot, or WhatsApp Personalplugin-backed surfaces keep bridge ownership explicit instead of pretending a native runtime exists
QQ should own a native official gateway runtimeQQ BotLoong owns the runtime directly through channels serve qqbot or gateway run
one LINE or generic inbound webhook lane should run a built-in serve loop without gateway supervisionLINE or Webhookstandalone native-serve surfaces are real runtimes, but their owner is still the direct channels serve <surface> loop
outbound notifications without a reply loopChannel Guides and Channel Setupoutbound-only surfaces stay visible without being overclaimed as runtimes
one host supervising several runtime-backed channelsGateway And Supervisionowner commands, selectors, and rollout order live there

Reading Rule

  • Use this page to choose the delivery-surface lane.
  • Use Channel Guides when one surface is already decided and you need the exact built-in contract.
  • Use Channel Recipes when you need commands, smoke tests, or concrete config.
  • Use Common Setups when provider and channel choice belong together.
  • Use Gateway And Supervision when the real question is ownership, selectors, or long-lived supervision.

Choose The Right Surface Story

LayerWhat it meansCurrent examples
Base assistant looplocal operator-first pathonboard, ask, chat, doctor
Gateway owner contractdaemon-owned runtime control for longer-lived surfacesgateway run, gateway status, gateway stop
Gateway-supervised service channelsLoong-runnable service lanes that can join gateway run; some still keep implementation_status=plugin_backed in the catalog because their setup and transport contracts preserve managed-bridge capabilityFeishu / Lark, Telegram, Matrix, QQ Bot, WhatsApp Cloud API, WeCom
Standalone native-serve channelsLoong-runnable send plus serve lanes whose runtime still stays on their own channels serve <surface> loop; some still keep managed-bridge-capable catalog metadataLINE, Webhook
External plugin-backed bridge surfacesshipped channel contracts whose upstream session lifecycle stays in an external bridge or managed pluginWeixin, OneBot, WhatsApp Personal
Config-backed outbound surfacesshipped direct-send surfaces without a full reply-loop runtimeDiscord, Slack, DingTalk, Email, Teams, Google Chat, Signal, Twitch, and similar outbound integrations
Catalog or planned surfacesinventory or future direction onlyZalo, Zalo Personal, WebChat

Gateway And Runtime Ownership

  • gateway run, gateway status, and gateway stop are the current explicit owner contract for longer-lived delivery surfaces.
  • LINE and Webhook have native serve commands, but they are still standalone native-serve lanes rather than gateway-supervised ones.
  • Loong does not flatten gateway ownership, standalone native serves, plugin-backed bridge surfaces, and outbound-only sends into one vague “channel support” story.
  • Use Gateway And Supervision when you need the command-by-command ownership model, selector syntax, and rollout order in one place.

Gateway-Supervised Service Channels

These are the service lanes that can currently join gateway run at the operator/runtime layer. Some still keep implementation_status=plugin_backed in the catalog because their setup and transport contracts preserve managed-bridge-capable or externally bridged history.
SurfaceTransport shapePrimary commands
Feishu / Larkwebhook or websocketloong channels send feishu, loong channels serve feishu
TelegramBot API pollingloong channels send telegram, loong channels serve telegram
MatrixClient-Server sync looploong channels send matrix, loong channels serve matrix
QQ Botofficial QQ gateway runtimeloong channels send qqbot, loong channels serve qqbot
WhatsApp Cloud APICloud API plus verified webhook serviceloong channels send whatsapp, loong channels serve whatsapp
WeComofficial AIBot long connectionloong channels send wecom, loong channels serve wecom

Standalone Native-Serve Channels

These are Loong-runnable send plus serve lanes, but their runtime owner is still the individual channels serve <surface> loop instead of gateway supervision. Their catalog metadata may still preserve managed-bridge-capable setup truth even though the current operator/runtime grouping is standalone.
SurfaceTransport shapePrimary commands
LINEMessaging API push plus signed webhook reply looploong channels send line, loong channels serve line
Webhookoutbound POST plus signed inbound webhook serviceloong channels send webhook, loong channels serve webhook

External Plugin-Backed Bridge Surfaces

These are already operator-visible channel contracts, but they stay honest about runtime ownership.
SurfaceCurrent transport storyPrimary operator surfaces
WeixinClawBot / iLink-style bridgeloong doctor, loong channels, managed bridge discovery
OneBotOneBot v11 bridge ecosystemloong doctor, loong channels, managed bridge discovery
WhatsApp PersonalQR-linked Baileys bridgeloong whatsapp-personal bridge run, loong doctor, loong channels

Outbound Surface Families

These surfaces ship direct sends, config validation, and inventory metadata without claiming a full reply-loop runtime. This page keeps the concept layer short on purpose; the fuller field-level inventory remains in Channel Setup.
Surface familyCurrent examplesTypical command shape
workplace chat sinksSlack, Discord, Microsoft Teams, Google Chat, Mattermost, Nextcloud Talk, Synology Chatloong channels send <surface>
messaging and bridge targetsDingTalk, Signal, IRC, iMessage / BlueBubbles, Nostr, Tlonloong channels send <surface>
direct delivery and alerting lanesEmail, Twitchloong channels send <surface>

Public Documentation Rule

Loong tries to keep the public channel story truthful:
  • the gateway contract is documented as the runtime owner contract
  • shipped gateway-supervised surfaces are documented as gateway-supervised
  • shipped standalone native-serve surfaces are documented as native serve lanes without overclaiming gateway supervision
  • shipped plugin-backed surfaces are documented as bridge-owned rather than pretending the gateway already owns their listener lifecycle
  • outbound-only surfaces are documented as outbound-only
  • catalog entries are not overclaimed as runtime support

Typical Progression

  1. Get the local assistant path healthy first.
  2. Add one gateway-supervised service channel if you need the shortest path into gateway run.
  3. Use a standalone native-serve channel when you need a real built-in channels serve <surface> loop but do not need gateway supervision yet.
  4. Reach for a plugin-backed bridge surface when the ecosystem is real but Loong intentionally delegates login and listener ownership to an external bridge.
  5. Use outbound-only surfaces when you need governed direct sends without pretending they are full runtime surfaces.
  6. Reach for gateway run when you want multiple gateway-supervised service channels attached to the same CLI host.

Where To Go Next

  • Continue to Channel Guides for the full actionable channel matrix.
  • Continue to Channel Recipes for representative gateway-supervised, standalone native-serve, and outbound rollout examples.
  • Continue to Channel Setup for the practical public setup guide.
  • Continue to Gateway And Supervision for the longer-lived owner contract and channel-account selection rules.
  • For the broader public runtime contract, continue to Use Loong.
  • The full field-level source spec still lives in the repository’s public Channel Setup markdown.