9e8f1bbeed
Dashboard / frontend (push) Failing after 0s
Dashboard / api (push) Failing after 0s
Lint PowerShell / powershell-lint (ubuntu-latest) (push) Failing after 1s
Python Lint / Lint Python with Ruff (push) Failing after 1s
ShellCheck / Lint shell scripts (push) Failing after 1s
Matrix Smoke / linux-smoke (push) Failing after 1s
Matrix Smoke / distro: cachyos (push) Failing after 15s
Matrix Smoke / distro: linux-mint-21.3 (push) Failing after 15s
Matrix Smoke / distro: debian-12 (push) Failing after 5m21s
Matrix Smoke / distro: fedora-41 (push) Failing after 4m56s
Matrix Smoke / distro: ubuntu-24.04 (push) Failing after 2m13s
Matrix Smoke / distro: rocky-9 (push) Failing after 10m39s
Matrix Smoke / distro: manjaro (push) Failing after 12m11s
Matrix Smoke / distro: opensuse-tw (push) Failing after 11m53s
Matrix Smoke / distro: archlinux (push) Failing after 20m3s
Matrix Smoke / distro: ubuntu-22.04 (push) Failing after 13m49s
Validate .env Schema / tier-1-env-validation (push) Successful in 52s
Validate .env Schema / tier-2-env-validation (push) Successful in 44s
Validate .env Schema / tier-3-env-validation (push) Successful in 52s
Validate .env Schema / tier-4-env-validation (push) Successful in 51s
Validate Extensions Catalog / Check catalog is up-to-date (push) Failing after 9m47s
Secret Scan / Scan for secrets (push) Failing after 21m4s
Validate Docker Compose / Validate Docker Compose files (push) Has been cancelled
Python Type Check / Type check with mypy (push) Has been cancelled
Validate .env Schema / tier-0-env-validation (push) Has been cancelled
Test Linux / integration-smoke (push) Has been cancelled
Lint PowerShell / powershell-lint (windows-latest) (push) Has been cancelled
Matrix Smoke / macos-smoke (push) Has been cancelled
204 lines
4.0 KiB
Markdown
204 lines
4.0 KiB
Markdown
# OpenClaw Integration
|
|
|
|
> ⚠️ **DEPRECATED as of 2026-05-12.** OpenClaw is replaced by [Hermes Agent](HERMES.md) as ODS's default agent. New installs no longer enable OpenClaw by default. This extension stays installable via `--openclaw` / `ods enable openclaw` for one release cycle, then is removed.
|
|
>
|
|
> **Migrating an existing install:** see [MIGRATION-OPENCLAW-TO-HERMES.md](MIGRATION-OPENCLAW-TO-HERMES.md). The two agents do not share storage; the migration is a clean break — your OpenClaw data stays on disk untouched but Hermes starts fresh.
|
|
|
|
Run OpenClaw with your ODS for AI agent capabilities.
|
|
|
|
## What OpenClaw Adds
|
|
|
|
- **Tool use** — File operations, shell commands, web browsing
|
|
- **Sub-agents** — Spawn parallel workers on your local GPU
|
|
- **Channels** — Connect to Discord, Telegram, Signal, etc.
|
|
- **Memory** — Persistent context across sessions
|
|
- **Cron** — Scheduled tasks and reminders
|
|
|
|
## Quick Setup
|
|
|
|
### Option 1: Add to Docker Compose
|
|
|
|
OpenClaw is already included in `docker-compose.base.yml`. To add it manually:
|
|
|
|
```yaml
|
|
openclaw:
|
|
image: ghcr.io/openclaw/openclaw:latest
|
|
container_name: ods-openclaw
|
|
restart: unless-stopped
|
|
environment:
|
|
- OPENCLAW_CONFIG=/config/openclaw.json
|
|
volumes:
|
|
- ./config/openclaw:/config
|
|
- ./data/openclaw:/data
|
|
ports:
|
|
- "7860:18789"
|
|
depends_on:
|
|
llama-server:
|
|
condition: service_healthy
|
|
profiles:
|
|
- openclaw
|
|
```
|
|
|
|
### Option 2: Run Standalone
|
|
|
|
```bash
|
|
# Install OpenClaw
|
|
npm install -g @openclaw/openclaw
|
|
|
|
# Copy config
|
|
cp config/openclaw/openclaw.json.example ~/.openclaw/openclaw.json
|
|
|
|
# Edit config to point to your llama-server
|
|
# Change baseUrl if llama-server is on different host
|
|
vim ~/.openclaw/openclaw.json
|
|
|
|
# Start
|
|
openclaw gateway start
|
|
```
|
|
|
|
## Configuration
|
|
|
|
Key settings in `openclaw.json`:
|
|
|
|
```json
|
|
{
|
|
"agent": {
|
|
"model": "local-llama/qwen2.5-32b-instruct"
|
|
},
|
|
"providers": {
|
|
"local-llama": {
|
|
"type": "openai-compatible",
|
|
"baseUrl": "http://llama-server:8080/v1", // or http://localhost:8080/v1
|
|
"apiKey": "not-needed"
|
|
}
|
|
},
|
|
"subagent": {
|
|
"enabled": true,
|
|
"maxConcurrent": 10 // Adjust based on your GPU
|
|
}
|
|
}
|
|
```
|
|
|
|
## Using OpenClaw
|
|
|
|
### CLI Mode
|
|
|
|
```bash
|
|
# Interactive chat
|
|
openclaw chat
|
|
|
|
# One-shot query
|
|
openclaw ask "Summarize the files in ./docs"
|
|
|
|
# With specific model
|
|
openclaw ask --model local-llama/qwen2.5-32b-instruct "Hello"
|
|
```
|
|
|
|
### Gateway Mode (For Channels)
|
|
|
|
```bash
|
|
# Start gateway daemon
|
|
openclaw gateway start
|
|
|
|
# Check status
|
|
openclaw gateway status
|
|
|
|
# View logs
|
|
openclaw gateway logs
|
|
```
|
|
|
|
### Web UI
|
|
|
|
When gateway is running, visit: **http://localhost:7860**
|
|
|
|
## Sub-Agent Scaling
|
|
|
|
Your ODS can run multiple parallel sub-agents:
|
|
|
|
| VRAM | Max Concurrent | Notes |
|
|
|------|----------------|-------|
|
|
| 16GB | 5-8 | Shared context |
|
|
| 24GB | 10-15 | Good parallelism |
|
|
| 48GB+ | 20-40 | Heavy workloads |
|
|
|
|
Configure in `openclaw.json`:
|
|
```json
|
|
{
|
|
"subagent": {
|
|
"maxConcurrent": 10,
|
|
"timeoutSeconds": 300
|
|
}
|
|
}
|
|
```
|
|
|
|
## Connecting Channels
|
|
|
|
### Discord
|
|
|
|
```json
|
|
{
|
|
"channels": {
|
|
"discord": {
|
|
"enabled": true,
|
|
"token": "YOUR_BOT_TOKEN",
|
|
"guilds": ["GUILD_ID"]
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
### Telegram
|
|
|
|
```json
|
|
{
|
|
"channels": {
|
|
"telegram": {
|
|
"enabled": true,
|
|
"token": "YOUR_BOT_TOKEN"
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
## Memory & Persistence
|
|
|
|
OpenClaw stores:
|
|
- **Workspace** — `./data/openclaw/workspace/`
|
|
- **Memory** — `./data/openclaw/memory/`
|
|
- **Sessions** — `./data/openclaw/sessions/`
|
|
|
|
Mount these volumes for persistence:
|
|
```yaml
|
|
volumes:
|
|
- ./data/openclaw:/data
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
### "Model not found"
|
|
|
|
Verify llama-server is running and model name matches:
|
|
```bash
|
|
curl http://localhost:8080/v1/models
|
|
```
|
|
|
|
### Sub-agents timing out
|
|
|
|
Increase timeout or reduce concurrent limit:
|
|
```json
|
|
{
|
|
"subagent": {
|
|
"timeoutSeconds": 600,
|
|
"maxConcurrent": 5
|
|
}
|
|
}
|
|
```
|
|
|
|
### Out of VRAM
|
|
|
|
Reduce sub-agent concurrency or context window.
|
|
|
|
---
|
|
|
|
*For more, see [OpenClaw docs](https://docs.openclaw.ai)*
|