← Back to Wiki

tech stack

WAGMIOS
request flow
OpenClaw Agent
X-API-Key header
Go API
scope check
Docker socket
/var/run/docker.sock
Vue UI
:5174
backend
Go 1.21
net/http · gorilla/mux
API server, middleware, scope enforcement, Docker socket proxy, marketplace handler.
gorilla/mux v1.8.1 gorilla/websocket v1.5.1 google/uuid v1.6.0
WebSocket feed
gorilla/websocket · real-time
Live activity broadcast to UI. Every agent action — start, stop, pull, install — emits an event.
activity log audit trail
frontend
Vue 3
Vite · Composition API
Reactive UI with dark mode. Container manager, marketplace browser, API key wizard, live activity feed.
vue 3 vite tailwindcss
TypeScript
api.ts · typed client
Fully typed API client layer. All requests and responses are typed — no silent runtime failures.
strict mode api.ts
infrastructure
Docker
socket · compose · multi-arch
Backend communicates via the Docker socket. Two-stage Alpine build. Multi-arch images for x86_64 and ARM64.
alpine:3.19 docker-compose arm64 + amd64
Data layer
JSON flat-file · gopkg.in/yaml.v3
API keys, settings, and app metadata stored in named Docker volumes. No external database required.
wagmios_data yaml.v3 zero deps
scope system
Scope-based auth — every key is a capability list
X-API-Key header · SCOPE_REQUIRED on miss
containers:read
list, logs, inspect
containers:write
start, stop, create
containers:delete
remove containers
images:read
list images
images:write
pull, delete images
marketplace:read
browse catalog
marketplace:write
install, manage apps
templates:read/write
compose templates