Skip to content
Merged
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
143 changes: 8 additions & 135 deletions bot/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,10 +83,10 @@ uv pip install -e ".[bot,bot-langfuse,bot-telegram]"
## 🚀 Quick Start

> [!TIP]
> The easiest way to configure vikingbot is through the Console Web UI!
> Configure vikingbot through the configuration file `~/.openviking/ov.conf`!
> Get API keys: [OpenRouter](https://openrouter.ai/keys) (Global) · [Brave Search](https://brave.com/search/api/) (optional, for web search)
**1. Start the gateway**
**1. Initialize configuration**

```bash
vikingbot gateway
Expand All @@ -95,14 +95,10 @@ vikingbot gateway
This will automatically:
- Create a default config at `~/.openviking/ov.conf`
- Create bot startup files in the OpenViking workspace, default path is `~/.openviking/data/bot/`
- Start the Console Web UI at http://localhost:18791

**2. Configure via Console**
**2. Configure via ov.conf**

Open http://localhost:18791 in your browser and:
- Go to the **Config** tab
- Add your provider API keys (OpenRouter, OpenAI, etc.)
- Save the config
Edit `~/.openviking/ov.conf` to add your provider API keys (OpenRouter, OpenAI, etc.) and save the config.

**3. Chat**

Expand All @@ -122,62 +118,6 @@ vikingbot chat --logs

That's it! You have a working AI assistant in 2 minutes.

## 🐳 Docker Deployment

You can also deploy vikingbot using Docker for easier setup and isolation.

### Prerequisites

First, install Docker:
- **macOS**: Download [Docker Desktop](https://www.docker.com/products/docker-desktop)
- **Windows**: Download [Docker Desktop](https://www.docker.com/products/docker-desktop)
- **Linux**: Follow [Docker's official docs](https://docs.docker.com/engine/install/)

Verify Docker installation:
```bash
docker --version
```

### Quick Volcengine Image Registry Deployment (Recommended)
### Quick Docker Deploy

```bash
# 1. Create necessary directories
mkdir -p ~/.openviking/

# 2. Start container
docker run -d \
--name vikingbot \
--restart unless-stopped \
--platform linux/amd64 \
-v ~/.openviking:/root/.openviking \
-p 18791:18791 \
vikingbot-cn-beijing.cr.volces.com/vikingbot/vikingbot:latest \
gateway

# 3. View logs
docker logs --tail 50 -f vikingbot
```

Press `Ctrl+C` to exit log view, the container continues running in background.

### Local Build and Deploy

If you want to build the Docker image locally:

```bash
# Build image
./deploy/docker/build-image.sh

# Deploy
./deploy/docker/deploy.sh

# Stop
./deploy/docker/stop.sh
```

For more Docker deployment options, see [deploy/docker/README.md](deploy/docker/README.md).

Talk to your vikingbot through Telegram, Discord, WhatsApp, Feishu, Mochat, DingTalk, Slack, Email, or QQ — anytime, anywhere.

For detailed configuration, please refer to [CHANNEL.md](bot/docs/CHANNEL.md).
Expand All @@ -201,7 +141,7 @@ Config file: `~/.openviking/ov.conf` (custom path can be set via environment var
> Vikingbot shares the same configuration file with OpenViking. Configuration items are located under the `bot` field of the file, and will automatically merge global configurations such as `vlm`, `storage`, `server`, etc. No need to maintain a separate configuration file.
> [!IMPORTANT]
> After modifying the configuration (either via Console UI or by editing the file directly),
> After modifying the configuration (by editing the file directly),
> you need to restart the gateway service for changes to take effect.
### OpenViking Server Configuration
Expand Down Expand Up @@ -298,7 +238,7 @@ Vikingbot enables OpenViking hooks by default:

### Manual Configuration (Advanced)

If you prefer to edit the config file directly instead of using the Console UI:
Edit the config file directly:

```json
{
Expand Down Expand Up @@ -479,7 +419,6 @@ You only need to add sandbox configuration when you want to change these default
| Backend | Description |
|---------|-------------|
| `direct` | (Default) Runs code directly on the host |
| `opensandbox` | Uses OpenSandbox service |
| `srt` | Uses Anthropic's SRT sandbox runtime |

**Available Modes:**
Expand All @@ -505,41 +444,6 @@ You only need to add sandbox configuration when you want to change these default
}
```

**OpenSandbox Backend:**
```json
{
"bot": {
"sandbox": {
"backend": "opensandbox",
"backends": {
"opensandbox": {
"serverUrl": "http://localhost:18792",
"apiKey": "",
"defaultImage": "opensandbox/code-interpreter:v1.0.1"
}
}
}
}
}
```

**Docker Backend:**
```json
{
"bot": {
"sandbox": {
"backend": "docker",
"backends": {
"docker": {
"image": "python:3.11-slim",
"networkMode": "bridge"
}
}
}
}
}
```

**SRT Backend:**
```json
{
Expand Down Expand Up @@ -570,21 +474,6 @@ You only need to add sandbox configuration when you want to change these default
}
```

**AIO Sandbox Backend:**
```json
{
"bot": {
"sandbox": {
"backend": "aiosandbox",
"backends": {
"aiosandbox": {
"baseUrl": "http://localhost:18794"
}
}
}
}
}
```

**SRT Backend Setup:**

Expand All @@ -594,7 +483,7 @@ The SRT backend uses `@anthropic-ai/sandbox-runtime`.

The SRT backend also requires these system packages to be installed:
- `ripgrep` (rg) - for text search
- `bubblewrap` (bwrap) - for sandbox isolation
- `bubblewrap` (bwrap) - for sandbox isolation
- `socat` - for network proxy

**Install on macOS:**
Expand Down Expand Up @@ -661,27 +550,11 @@ which nodejs
| `vikingbot chat` | Interactive chat mode |
| `vikingbot chat --no-markdown` | Show plain-text replies |
| `vikingbot chat --logs` | Show runtime logs during chat |
| `vikingbot gateway` | Start the gateway and Console Web UI |
| `vikingbot gateway` | Start the gateway |
| `vikingbot status` | Show status |
| `vikingbot channels login` | Link WhatsApp (scan QR) |
| `vikingbot channels status` | Show channel status |

## 🖥️ Console Web UI

The Console Web UI is automatically started when you run `vikingbot gateway`, accessible at http://localhost:18791.

**Features:**
- **Dashboard**: Quick overview of system status and sessions
- **Config**: Configure providers, agents, channels, and tools in a user-friendly interface
- Form-based editor for easy configuration
- JSON editor for advanced users
- **Sessions**: View and manage chat sessions
- **Workspace**: Browse and edit files in the workspace directory

> [!IMPORTANT]
> After saving configuration changes in the Console, you need to restart the gateway service for changes to take effect.
Interactive mode exits: `exit`, `quit`, `/exit`, `/quit`, `:q`, or `Ctrl+D`.

<details>
<summary><b>Scheduled Tasks (Cron)</b></summary>
Expand Down
Loading