Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Offload GPU-intensive ML tasks (BERTScore, embeddings) to one or multiple remote GPU machines
Offload GPU-intensive ML tasks (BERTScore, embeddings) to one or multiple remote GPU machines
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
OpenClaw plugin to offload ML tasks (BERTScore + embeddings) to one or many remote GPU hosts.
Multi-GPU host pool (hosts[]) with: round-robin or least-busy load balancing automatic failover periodic host health checks Backward compatibility with v0.1 (serviceUrl / url) Flexible model selection per request (model / model_type) GPU service model caching (on-demand loading) Optional transfer visibility via /status endpoint + batch progress logs
gpu_health gpu_info gpu_status (new in v0.2) gpu_bertscore gpu_embed
{ "plugins": { "@elvatis_com/openclaw-gpu-bridge": { "hosts": [ { "name": "rtx-2080ti", "url": "http://your-gpu-host:8765", "apiKey": "gpu-key-1" }, { "name": "rtx-3090", "url": "http://your-second-gpu-host:8765", "apiKey": "gpu-key-2" } ], "loadBalancing": "least-busy", "healthCheckIntervalSeconds": 30, "timeout": 45, "models": { "embed": "all-MiniLM-L6-v2", "bertscore": "microsoft/deberta-xlarge-mnli" } } } }
{ "plugins": { "@elvatis_com/openclaw-gpu-bridge": { "serviceUrl": "http://your-gpu-host:8765", "apiKey": "gpu-key", "timeout": 45 } } }
hosts: array of GPU hosts (v0.2) serviceUrl / url: legacy single-host config loadBalancing: round-robin or least-busy healthCheckIntervalSeconds: host health polling interval timeout: request timeout for compute endpoints apiKey: fallback API key for hosts that do not define per-host key models.embed, models.bertscore: plugin-side default models
cd gpu-service pip install -r requirements.txt uvicorn gpu_service:app --host 0.0.0.0 --port 8765 Default models are warmed on startup: Embed: all-MiniLM-L6-v2 BERTScore: microsoft/deberta-xlarge-mnli Additional models are loaded on-demand and cached in memory.
API_KEY: require X-API-Key for all endpoints except /health GPU_MAX_CONCURRENT: max parallel jobs (default 2) GPU_EMBED_BATCH: embedding chunk size for progress logging (default 32) MODEL_BERTSCORE: default warm model for BERTScore MODEL_EMBED: default warm model for embeddings TORCH_DEVICE: force device (cuda, cpu, cuda:1)
GET /health GET /info GET /status (queue + active jobs + progress) POST /bertscore POST /embed
/bertscore: { "candidates": ["a"], "references": ["b"], "model_type": "microsoft/deberta-xlarge-mnli" } /embed: { "texts": ["hello world"], "model": "sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2" }
If you expose your GPU service outside LAN, use defense-in-depth: Pre-shared key auth (required) Set API_KEY on service Configure same key in plugin host config (apiKey) Requests must include X-API-Key TLS/HTTPS (required on public internet) Recommended: nginx reverse proxy with Letβs Encrypt certs Alternative: run uvicorn with SSL cert/key directly
server { listen 443 ssl http2; server_name gpu.example.com; ssl_certificate /etc/letsencrypt/live/gpu.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/gpu.example.com/privkey.pem; location / { proxy_pass http://127.0.0.1:8765; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
uvicorn gpu_service:app --host 0.0.0.0 --port 8765 \ --ssl-keyfile /path/key.pem \ --ssl-certfile /path/cert.pem Optional: WireGuard VPN instead of public exposure Keep service private behind VPN Prefer private WireGuard IPs in plugin hosts[].url Operational hardening Firewall allowlist only OpenClaw server IP Rate limiting at reverse proxy Monitor logs and rotate keys periodically
npm run build npm test TypeScript runs in strict mode.
MIT
Agent frameworks, memory systems, reasoning layers, and model-native orchestration.
Largest current source with strong distribution and engagement signals.