Message channels
A message channel attaches this Host’s coding activity to Telegram, Feishu, WeCom, QQ, or a generic webhook. It is a bot configuration on the Host, separate from paired phones or workstations. Send and receive stay in the vendor IM apps.
Channel config and secrets live in the Host data directory. A remote workstation can start sessions. Creating, disabling, and rotating secrets stay on the Host machine under Settings.
Entry point
Open Settings, then Chat channels (Message channels). Three tabs: Channels, Commands, and Events.
Channels
Channels lists bots saved on this machine. New channel asks for:
- Name: the list label, required.
- Type: Telegram, Feishu bot, WeCom group bot, QQ bot, generic webhook.
- Credentials and chat binding for that type, next section.
- Enable channel: off stops event delivery and Test send. The row stays in the list.
- Authorized senders: one user ID per line. Inbound commands apply to the bound chat or group above, or to IDs on this list. Other messages are dropped. An empty list trusts only the bound chat or group.
After save, Test send posts a probe message. A row offers Edit channel, Delivery log, and Delete channel. Delete asks for confirmation and removes the secret as well.
Delivery log shows the latest delivery result and detail. On a failed send, read this log, then check credentials and network.
Telegram
Token from @BotFather. Optional chat id (negative for groups, numeric for DMs). Forum supergroups can enable Telegram topic mode: one topic per conversation; the general topic ignores plain text.
Feishu bot
App secret and group Chat ID. Groups usually require an @ mention before text is treated as a command.
WeCom bot
Add a group bot in the group settings, copy the key= value from the webhook URL, and paste it as the secret. Scan WeChat code binds a send/receive Weixin iLink bot.
QQ bot
OneBot HTTP URL for send. Optional forward WebSocket for inbound commands; empty derives it from the HTTP URL. Optional access_token. Message type is group or private, plus group id or QQ number.
Generic webhook
POST turn and permission summaries to an http:// or https:// URL. Events can add multiple URLs. Payload examples show JSON for prompt_started, prompt_finished, and similar events, with event, body, and source.
Commands
Commands sets the command prefix, for example /vibex. Authorized senders type prefix plus command in the IM. The usage list on this tab is authoritative:
folder [n|name]: list projects, or pick by index or name.agent [n|id]: list agents, or pick by index or id.task <text>: send a task to the currently selected conversation.sessions: list recent conversations on this Host.resume [n|id]: select by index or conversation id and continue.cancel: cancel the in-flight turn.approve [always]: approve a pending permission;alwayskeeps allowing that class of action.deny: deny a pending permission.search <keyword>: search conversations.today: list conversations created today.status: channel and Host status.help: list every command.
Put your own user ID in Authorized senders first, then colleagues. Permission and question cards posted to IM resolve the same pending request as the desktop. See Permission prompts.
Events
Events chooses which coding activities are pushed. Only checked items are sent:
- Task started: the Agent began a turn.
- Task finished: the Agent finished this task.
- Permission requested: approval or denial is needed in IM.
- Run error: the Agent reported an error.
- Connection status: Agent connection changed.
- Session created: a new conversation was created.
- Turn completed: a turn reached a terminal status.
Include prompt content in notifications is off by default. Off omits the raw prompt from a task-started notice so drafts stay out of IM. Turn it on and save when the raw text is required.
Daily digest is per channel and summarizes that day’s activity in the bound chat. The time shown on that channel row is authoritative.
Safety
Channels deliver summaries that omit secrets. Tokens, pairing codes, and .env stay in Host config. Point webhook URLs at receivers you control. After a channel is disabled or deleted, that IM stops receiving new events.

