You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This guide will help you set up and run the RowBoat applications locally using Docker. Please see our [docs](https://docs.rowboatlabs.com/) for more details.
5
-
6
-
RowBoat offers several optional services that can be enabled using Docker Compose profiles. You can run multiple profiles simultaneously using:
7
-
```bash
8
-
docker compose --profile rag_urls_worker --profile chat_widget --profile tools_webhook up -d
9
-
```
10
-
See the relevant sections below for details on each service.
11
-
12
-
## Table of Contents
13
-
-[Prerequisites](#prerequisites)
14
-
-[Local Development Setup](#local-development-setup)
15
-
-[Python SDK](#option-1-python-sdk)
16
-
-[HTTP API](#option-2-http-api)
17
-
-[Optional Features](#enable-rag)
18
-
-[Enable RAG](#enable-rag)
19
-
-[URL Scraping](#url-scraping)
20
-
-[File Uploads](#file-uploads)
21
-
-[Enable Chat Widget](#enable-chat-widget)
22
-
-[Enable Tools Webhook](#enable-tools-webhook)
23
-
-[Troubleshooting](#troubleshooting)
24
-
-[Attribution](#attribution)
4
+
RowBoat is the fastest way to build production-ready multi-agent systems with OpenAI's Agents SDK.
25
5
26
6
## Prerequisites
27
7
@@ -34,29 +14,15 @@ Before running RowBoat, ensure you have:
34
14
- Obtain from your OpenAI account.
35
15
36
16
3.**MongoDB**
37
-
-**Option 1**: Use an existing MongoDB deployment with your connection string.
- Other platforms: Refer to the MongoDB documentation for details.
44
24
45
-
4. **Auth0 Account and Application Setup**
46
-
- **Create an Auth0 Account**: Sign up at [Auth0](https://auth0.com).
47
-
- **Create a New Application**: Choose "Regular Web Application", select"Next.js" as the application type, and name it "RowBoat".
48
-
- **Configure Application**:
49
-
- **Allowed Callback URLs**: In the Auth0 Dashboard, go to your "RowBoat" application settings and set`http://localhost:3000/api/auth/callback` as an Allowed Callback URL.
50
-
- **Get Credentials**: Collect the following from your Auth0 application settings:
51
-
- **Domain**: Copy your Auth0 domain (ensure you append `https://` to the Domain that the Auth0 dashboard shows you)
52
-
- **Client ID**: Your application's unique identifier
53
-
- **Client Secret**: Your application's secret key
54
-
- **Generate secret**: Generate a session encryption secret in your terminal and note the output for later:
55
-
```bash
56
-
openssl rand -hex 32
57
-
```
58
-
59
-
## Local Development Setup
25
+
## Quickstart
60
26
61
27
1. **Clone the Repository**
62
28
```bash
@@ -69,24 +35,11 @@ Before running RowBoat, ensure you have:
69
35
```bash
70
36
cp .env.example .env
71
37
```
72
-
- Update your `.env` file with the following configurations:
38
+
- Open the new .env file and update the OPENAI_API_KEY:
73
39
74
40
```ini
75
41
# OpenAI Configuration
76
42
OPENAI_API_KEY=your-openai-api-key
77
-
78
-
# Auth0 Configuration
79
-
AUTH0_SECRET=your-generated-secret # Generated using openssl command
80
-
AUTH0_BASE_URL=http://localhost:3000 # Your application's base URL
81
-
AUTH0_ISSUER_BASE_URL=https://example.auth0.com # Your Auth0 domain (ensure it is prefixed with https://)
82
-
AUTH0_CLIENT_ID=your-client-id
83
-
AUTH0_CLIENT_SECRET=your-client-secret
84
-
85
-
# MongoDB Configuration (choose one based on your setup)
You can find the chat-widget embed code under `/projects/<PROJECT_ID>/config`
248
+
249
+
After setup, the chat widget will appear on your website and connect to your RowBoat project.
250
+
251
+
## Enable Authentication
252
+
253
+
By default, RowBoat runs without authentication. To enable user authentication using Auth0:
254
+
255
+
1. **Auth0 Setup**
256
+
- **Create an Auth0 Account**: Sign up at [Auth0](https://auth0.com).
257
+
- **Create a New Application**: Choose "Regular Web Application", select "Next.js" as the application type, and name it "RowBoat".
258
+
- **Configure Application**:
259
+
- **Allowed Callback URLs**: In the Auth0 Dashboard, go to your "RowBoat" application settings and set `http://localhost:3000/api/auth/callback` as an Allowed Callback URL.
260
+
- **Get Credentials**: Collect the following from your Auth0 application settings:
261
+
- **Domain**: Copy your Auth0 domain (ensure you append `https://` to the Domain that the Auth0 dashboard shows you)
262
+
- **Client ID**: Your application's unique identifier
263
+
- **Client Secret**: Your application's secret key
264
+
- **Generate secret**: Generate a session encryption secret in your terminal and note the output for later:
265
+
```bash
266
+
openssl rand -hex 32
267
+
```
268
+
269
+
2. **Update Environment Variables**
270
+
Add the following to your `.env` file:
271
+
```ini
272
+
USE_AUTH=true
273
+
AUTH0_SECRET=your-generated-secret # Generated using openssl command
274
+
AUTH0_BASE_URL=http://localhost:3000 # Your application's base URL
275
+
AUTH0_ISSUER_BASE_URL=https://example.auth0.com # Your Auth0 domain (ensure it is prefixed with https://)
276
+
AUTH0_CLIENT_ID=your-client-id
277
+
AUTH0_CLIENT_SECRET=your-client-secret
278
+
```
279
+
280
+
After enabling authentication, users will need to sign in to access the application.
281
+
282
+
## Interact with RowBoat API
283
+
284
+
There are two ways to interact with RowBoat's API:
285
+
286
+
1.**Option 1: Python SDK**
287
+
288
+
289
+
For Python applications, we provide an official SDK for easier integration:
290
+
```bash
291
+
pip install rowboat
292
+
```
293
+
294
+
```python
295
+
from rowboat import Client
296
+
297
+
client = Client(
298
+
host="http://localhost:3000",
299
+
project_id="<PROJECT_ID>",
300
+
api_key="<API_KEY>"# Generate this from /projects/<PROJECT_ID>/config
301
+
)
302
+
303
+
# Simple chat interaction
304
+
messages = [{"role": "user", "content": "Tell me the weather in London"}]
305
+
response_messages, state = client.chat(messages=messages)
306
+
```
307
+
308
+
For more details, see the [Python SDK documentation](./apps/python-sdk/README.md).
309
+
310
+
1.**Option 2: HTTP API**
311
+
You can use the API directly at [http://localhost:3000/api/v1/](http://localhost:3000/api/v1/)
312
+
- Project ID is available in the URL of the project page
313
+
- API Key can be generated from the project config page at `/projects/<PROJECT_ID>/config`
0 commit comments