Skip to content

An AI roundtable that creates its own personas and skills

Tell it what you need in Discord. It can set up a new agent with its own channel, its own personality, and its own skills.

You talk to one agent, the coordinator, in your server’s entry channel. Say what you want.

In the guide channel, a user asks for an agent that keeps reading notes. Guide answers that it made Notes in a new notes channel, with a prompt, an avatar, and a skill for saving links, and that it already started its first job.

The new agent gets its own channel, an avatar, and a prompt. It starts on its first job right away. You don’t edit a config file or restart anything.

Make agents

Ask for a researcher, an editor, a tutor. Each one lives in its own channel and keeps its own conversation.

Write its own skills

An agent can write a skill and link it to other agents. It also remembers things between conversations.

Work as a group

Put two to six agents in one group channel. For each message, it picks who answers.

Tidy up for you

Ask it to archive an agent or rearrange the channels. Nothing is deleted. Archived channels keep their history.

In the research channel, Researcher answers a request with two bullet points and notes that the result was handed to the editor channel.

Agents can pass work to each other. Here the researcher hands its summary to the editor.

A Discord message listing three agents, Guide, Researcher and Editor, with their channels, models and whether each is idle or working.

A status message in the server keeps itself up to date, so you can see who is doing what.

  1. Create a project.

    Terminal window
    npx pi-roundtable init my-bot
  2. Install, start PostgreSQL, and fill in .env.

    Terminal window
    cd my-bot
    bun install
    docker compose up -d
    cp .env.example .env
  3. Check the setup, then start the bot.

    Terminal window
    bunx roundtable doctor
    bunx roundtable start

The first agent now has a channel in your server. Say hello, then ask it for a second one. Once an agent has a schedule, /roundtable schedule list shows it.

Everything above works without a line of code. When you want more, add a plugin in TypeScript: a tool every agent can call, a slash command, an HTTP route, or a part of the bot you want to replace. A plugin can be tested without Discord or PostgreSQL. See Write a plugin.

  • It’s built for one owner and one Discord server. You can let other people talk to the agents, but the risks of that are yours.
  • It runs on Bun only. The package ships its TypeScript source, so there is no build step.
  • MIT licensed.