Skip to content

Your first conversation

When bunx roundtable start runs for the first time, it creates the agents from agents.ts. Each agent gets a channel under an Agents category, and a picture. It also creates a #dashboard channel at the top of the server with one status message, which it pins when it has the Pin Messages permission. Status and avatars says what that message shows.

The bot does not start a conversation. It answers when you write.

Every message you write in an agent’s channel is answered by that agent. You do not have to mention it. In any other channel of the server, nothing answers.

The coordinator is the agent whose channel is the entry channel, the one in DISCORD_ENTRY_CHANNEL_ID. It is where your general requests go, and it hands specialist work to the agent that owns it.

The project init writes has one agent, Guide, and its seed puts Guide in the entry channel, so Guide is the coordinator. Write to Guide there. Guide can create agents too: an agent does team work you ask of it directly, such as creating agents or groups, in its own name.

The seed in agents.ts does this with one line:

{
name: "guide",
displayName: "Guide",
prompt: "You are Guide, a friendly assistant. Answer briefly and ask when a request is unclear.",
avatarPrompt: "A friendly lighthouse keeper with a warm lantern",
channelId: env("DISCORD_ENTRY_CHANNEL_ID"),
},

An agent’s reply appears under its own name and avatar, not the bot’s. While it works, the channel shows that it is typing. In an agent’s own channel, after about five seconds, a short message appears: “Working; press Stop to interrupt.” with a Stop button. Only you can press it, and the message goes away when the turn ends.

When an agent needs a decision from you, it asks with buttons in the channel and its turn goes on once you answer. Commands that are destructive or change the system, and writes outside the shared workspace, are held until you confirm them.

Say what you want, in the language you like. For example:

Make me an agent that reads articles I save and keeps short notes.

The agent that answers can create the agent, with its own channel, picture, prompt, and a first job. Create agents shows what to say and what the new agent gets.

/roundtable is the control command. Only you can use it, and its answers are visible only to you. The name is the lowercase name of the assistant unless discord.rootCommand says otherwise. Anyone else who tries it gets an “Owner only” answer.

The built-in subcommands are about schedules:

Command What it does
/roundtable schedule list Lists the schedules of every channel
/roundtable schedule cancel Cancels one schedule; pick it from the list that appears

Schedules are created in conversation, not with a command. See Schedules and background work. Plugins can add more subcommands under the same command; Write a plugin starts there.