GUI

The graphical user interface (GUI) provides an intuitive way to launch and manage agents.

Not all agents support GUI interaction.
1

Launch the web interface

beeai ui
2

Launch the agent

  • Navigate to the Agents tab.
  • Select you desired agent.
  • Install the agent by clicking on the cloud icon next to the agent name.
  • Click the Launch this agent button.

CLI

You can launch and interact with agents directly from your terminal using the command-line interface (CLI).

Make sure the agent is installed and then you can run it using run command.

Basic syntax:

beeai install <agent_name>
beeai run <agent_name>
To list all available agents, run: beeai list.

Interactive interface

Agents that implement a standardized interface support interactive mode.

Example usage:

# Chat agents
beeai run chat

# Hands-off agents
beeai run gpt-researcher

Simplified interface

Chat and hands-off agents support simplified invocation, accepting text part of an input as the first parameter:

# Chat agent example
beeai run chat "Hello"

# Hands-off agent example
beeai run gpt-researcher "Impact of climate change on global agriculture"

ACP SDK

All agents available on the platform are ACP-compliant out of the box, enabling you to remotely interact with them through the ACP SDK.

The BeeAI platform is an ACP server that allows you to easily discover and run agents programmatically via the SDK or REST endpoints.

Install the SDK via

uv add acp-sdk

Example usage:

import asyncio

from acp_sdk.client import Client

async def client() -> None:
    async with Client(base_url="http://localhost:8333/api/v1/acp") as client:
        run = await client.run_sync(agent="aider", input="Create a python script that prints 'Hello, world!'")
        print(str(run.output[0]))

if __name__ == "__main__":
    asyncio.run(client())

BeeAI framework

The BeeAI Framework provides advanced tools to build and manage agent-based applications.

Install it via:

uv add beeai-framework

Example usage:

import asyncio
import sys
import traceback

from beeai_framework.agents.experimental.remote import RemoteAgent
from beeai_framework.errors import FrameworkError
from beeai_framework.memory.unconstrained_memory import UnconstrainedMemory
from examples.helpers.io import ConsoleReader

async def main() -> None:
    reader = ConsoleReader()

    agent = RemoteAgent(agent_name="chat", url="http://127.0.0.1:8333/api/v1/acp/", memory=UnconstrainedMemory())
    for prompt in reader:
        # Run the agent and observe events
        response = await agent.run(prompt).on(
            "update",
            lambda data, event: (reader.write("Agent 🤖 (debug) : ", data)),
        )

        reader.write("Agent 🤖 : ", response.result.text)

if __name__ == "__main__":
    asyncio.run(main())

For more advanced examples, including partial updates and error logging, refer to the BeeAI Framework repository.