Skip to content
Merged

Dev #222

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 24 additions & 69 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,23 +35,19 @@


</h5>
<p align="center">
⚡ Build AI agents instantly with natural language | 🔌 Connect tools with one-click integrations | 📂 Power with knowledge by adding documents for RAG | 🔄 Automate workflows by setting up triggers and actions | 🚀 Deploy anywhere via API or SDK<br><br>
☁️ Prefer a hosted version? Use our <b><a href="https://rowboatlabs.com">cloud</a></b> to starting building agents right away!
</p>

- ✨ **Start from an idea -> copilot builds your multi-agent workflows**
- E.g. "Build me an assistant for a food delivery company to handle delivery status and missing items. Include the necessary tools."
- 🌐 **Connect MCP servers**
- Add the MCP servers in settings -> import the tools into Rowboat.
- 📞 **Integrate into your app using the HTTP API or Python SDK**
- Grab the project ID and generated API key from settings and use the API.

Powered by OpenAI's Agents SDK, Rowboat is the fastest way to build multi-agents!

## Quick start
1. Set your OpenAI key
```bash
export OPENAI_API_KEY=your-openai-api-key
```bash
export OPENAI_API_KEY=your-openai-api-key
```

2. Clone the repository and start Rowboat
2. Clone the repository and start Rowboat (requires Docker)
```bash
git clone [email protected]:rowboatlabs/rowboat.git
cd rowboat
Expand All @@ -60,71 +56,30 @@ Powered by OpenAI's Agents SDK, Rowboat is the fastest way to build multi-agents

3. Access the app at [http://localhost:3000](http://localhost:3000).

Note: We have added native RAG support including file-uploads and URL scraping. See the [RAG](https://docs.rowboatlabs.com/using_rag) section of our docs for this.

Note: See the [Using custom LLM providers](https://docs.rowboatlabs.com/setup/#using-custom-llm-providers) section of our docs for using custom providers like OpenRouter and LiteLLM.
To add tools, RAG, more LLMs, and triggers checkout the [Advanced](#advanced) section below.

## Demo
## Demos
#### Meeting-prep assistant
Chat with the copilot to build a meeting-prep workflow, then add a calendar invite as a trigger. Watch the full demo [here](https://youtu.be/KZTP4xZM2DY).
[![meeting-prep](https://github.com/user-attachments/assets/27755ef5-6549-476f-b9c0-50bef8770384)](https://youtu.be/KZTP4xZM2DY)

#### Create a multi-agent assistant with MCP tools by chatting with Rowboat
[![Screenshot 2025-04-23 at 00 25 31](https://github.com/user-attachments/assets/c8a41622-8e0e-459f-becb-767503489866)](https://youtu.be/YRTCw9UHRbU)
#### Customer support assistant
Chat with the copilot to build a customer support assistant, then connect your MCP server, and data for RAG. Watch the full demo [here](https://youtu.be/Xfo-OfgOl8w).
[![output](https://github.com/user-attachments/assets/97485fd7-64c3-4d60-a627-f756a89dee64)](https://youtu.be/Xfo-OfgOl8w)

## Integrate with Rowboat agents
#### Personal assistant
Chat with the copilot to build a personal assistant. Watch the full demo [here](https://youtu.be/6r7P4Vlcn2g).
[![personal-assistant](https://github.com/user-attachments/assets/0f1c0ffd-23ba-4b49-8bfb-ec7a846f1332)](https://youtu.be/6r7P4Vlcn2g)

There are 2 ways to integrate with the agents you create in Rowboat
## Advanced
1. Native RAG Support: Enable file uploads and URL scraping with Rowboat's built-in RAG capabilities – see [RAG Guide](https://docs.rowboatlabs.com/docs/using-rowboat/rag).

1. HTTP API
- You can use the API directly at [http://localhost:3000/api/v1/](http://localhost:3000/api/v1/)
- See [API Docs](https://docs.rowboatlabs.com/using_the_api/) for details
```bash
curl --location 'http://localhost:3000/api/v1/<PROJECT_ID>/chat' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <API_KEY>' \
--data '{
"messages": [
{
"role": "user",
"content": "tell me the weather in london in metric units"
}
],
"state": null
}'
```

2. Custom LLM Providers: Use any LLM provider, including aggregators like OpenRouter and LiteLLM - see [Using more LLM providers](https://docs.rowboatlabs.com/docs/using-rowboat/customise/custom-llms).

2. Python SDK
You can use the included Python SDK to interact with the Agents
```
pip install rowboat
```
3. Tools & Triggers: Add tools and event triggers (e.g., Gmail, Slack) for automation – see [Tools](https://docs.rowboatlabs.com/docs/using-rowboat/tools) & [Triggers](https://docs.rowboatlabs.com/docs/using-rowboat/triggers).

See [SDK Docs](https://docs.rowboatlabs.com/using_the_sdk/) for details. Here is a quick example:
```python
from rowboat import Client, StatefulChat
from rowboat.schema import UserMessage, SystemMessage

# Initialize the client
client = Client(
host="http://localhost:3000",
project_id="<PROJECT_ID>",
api_key="<API_KEY>"
)

# Create a stateful chat session (recommended)
chat = StatefulChat(client)
response = chat.run("What's the weather in London?")
print(response)

# Or use the low-level client API
messages = [
SystemMessage(role='system', content="You are a helpful assistant"),
UserMessage(role='user', content="Hello, how are you?")
]

# Get response
response = client.chat(messages=messages)
print(response.messages[-1].content)
```
4. API & SDK: Integrate Rowboat agents directly into your app – see [API](https://docs.rowboatlabs.com/docs/api-sdk/using_the_api) & [SDK](https://docs.rowboatlabs.com/docs/api-sdk/using_the_sdk) docs.

##

Refer to [Docs](https://docs.rowboatlabs.com/) to learn how to start building agents with Rowboat.
83 changes: 83 additions & 0 deletions apps/docs/docs.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
{
"$schema": "https://mintlify.com/docs.json",
"theme": "maple",
"name": "Rowboat",
"description": "Rowboat is an open-source platform for building multi-agent systems. It helps you orchestrate tools, RAG, memory, and deployable agents with ease.",
"colors": {
"primary": "#6366F1",
"light": "#6366F1",
"dark": "#6366F1"
},
"icons": {
"library": "fontawesome"
},
"navigation": {
"groups": [
{
"group": "Getting Started",
"pages": [
"docs/getting-started/introduction",
"docs/getting-started/quickstart",
"docs/getting-started/license"
]
},
{
"group": "Using Rowboat",
"pages": [
"docs/using-rowboat/rowboat-studio",
"docs/using-rowboat/agents",
"docs/using-rowboat/tools",
"docs/using-rowboat/rag",
"docs/using-rowboat/triggers",
"docs/using-rowboat/jobs",
"docs/using-rowboat/conversations",
{
"group": "Customise",
"icon": "sliders",
"pages": [
"docs/using-rowboat/customise/custom-llms"
]
}
]
},
{
"group": "API & SDK",
"pages": ["docs/api-sdk/using_the_api", "docs/api-sdk/using_the_sdk"]
},
{
"group": "Development",
"pages": ["docs/development/contribution-guide", "docs/development/roadmap"]
}
]
},
"background": {
"decoration": "gradient",
"color": {
"light": "#FFFFFF",
"dark": "#0D0A09"
}
},
"navbar": {
"primary": {
"type": "button",
"label": "Try Rowboat",
"href": "https://app.rowboatlabs.com"
}
},
"footer": {
"socials": {
"github": "https://github.com/rowboatlabs/rowboat",
"linkedin": "https://www.linkedin.com/company/rowboat-labs",
"discord": "https://discord.gg/PCkH9TWC"
}
},
"contextual": {
"options": [
"copy",
"view",
"chatgpt",
"claude"
]
}
}

27 changes: 27 additions & 0 deletions apps/docs/docs/add_tools.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
## Add tools to agents
Copilot can help you add tools to agents. You can (a) add a mock tool, (b) add a tool from an MCP server, (c) integrate with you own tools using a webhook.


### Adding mock tools
You can mock any tool you have created by checking the 'Mock tool responses' option.


![Example Tool](img/mock-tool.png)

### Adding MCP tools

You can add a running MCP server in Settings -> Tools.

![Example Tool](img/add-mcp-server.png)

You can use [supergateway](https://github.com/supercorp-ai/supergateway) to expose any MCP stdio server as an SSE server.

Now, you can import the tools from the MCP server in the Build view.

![Example Tool](img/import-mcp-tools.png)


### Debug tool calls in the playground
When agents call tools during a chat in the playground, the tool call parameters and response are available for debugging real-time. For testing purposes, the platform can produce mock tool responses in the playground, without integrating actual tools.

![Mock Tool Responses](img/mock-response.png)
29 changes: 29 additions & 0 deletions apps/docs/docs/agents.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Agents

## Overview
- Agents carry out a specific part of the conversation and / or perform tasks like orchestrating between other agents, triggering internal processes and fetching information.
- Agents carry out tasks through tools provided to them.
- Agents can be connected to other agents through a mention in the agent's instruction.

## Agent Configurations

### Description
The description conveys the agent's role in the multi-agent system. Writing a good description is important for other agents to know when to pass control of the conversation to an agent.

### Instructions
Agent instructions are the backbone of an agent, defining its behavior. RowBoat Studio's copilot produces a good framework for agent instructions, involving Role, Steps to Follow, Scope and Guidelines. Since agents are powered by LLMs, general best practices while writing prompts apply.

### Examples
The agent uses examples as a reference for behavior in different scenarios. While there are no prescribed formats to provide examples in, examples should include what the user might say, what the agent should respond with as well as indications of any tool calls to be made.

### Prompts
Prompts attached to an agent will be used by the agent in addition to instructions.

### Tools
Tools attached to an agent will be put out as tool calls. The behavior of when to invoke tools can be fine-tuned by specifying corresponding instructions or prompts. Adding examples to agents can also be useful in controlling tool call behavior.

### Connected Agents
In the agent instructions, the connected agents are shown with an '@mention'. If the agent mentioned in an instruction (connected agent) does not actually exist, the connected agent's name would show up with an '!' to call to attention.

### Model
RowBoat currently supports OpenAI LLMs. Agents can be configured to use GPT-4o or GPT-4o-mini.
Loading