Messaging App Session Workflow
Define the route, thread, session, workspace, pickup, and session switch workflow for messaging channels.
The messaging app session workflow defines how VibeAround selects a workspace, thread, and session when a user talks to a local AI coding agent from apps such as Feishu/Lark, Discord, Slack, Telegram, or WeChat.
The core rule is: normal messages are route-private; only explicit continuation resumes a session. A route is identified by the channel, bot, and chat. Each route can have at most one active thread.
Workspace Path
Normal IM conversations use the default IM workspace:
<default_workspace>/im/<channel>For example:
- Feishu/Lark:
<default_workspace>/im/feishu - Discord:
<default_workspace>/im/discord - Slack:
<default_workspace>/im/slack
Users can change the global default_workspace in Settings. Messaging channel workspaces are not adjusted from the messaging channel; if a user explicitly switches workspace, the current route starts a new thread in the target workspace.
Rules
- Normal message: use only the current route's active thread; if none exists, create a new thread and a fresh session.
/pickup <code>: consume only short-lived handoff codes created by a local agent. Codes live in memory, so they expire when the app restarts; create a new handover from the agent if that happens.- Pickup: if an open thread already matches the handoff payload, such as a Web Chat thread, attach the current route to it; otherwise create a thread and resume the specified session.
/session: list sessions for the current agent in the current workspace. The current agent is the manually selected route agent, or the default agent when none was selected./session --switch <id>: switch only when exactly one existing session matches. If no session is found or the id is ambiguous, show an error instead of creating a new session.- Workspace or agent changes: create a new thread and start a fresh session.
- Profile changes: keep the current thread and session; restart the agent host if needed, then resume the same session.
/close: close the current route's active thread./new: close the current route's active thread, then create a new thread in the current workspace and agent with a fresh session.