Solidclaw is a local credential broker + model proxy for OpenClaw. It keeps provider keys and tool secrets out of OpenClaw, while still enabling models, tools, and channels through scoped access tokens and env injection.
Stack
- API: Bun + Hono
- DB: SQLite (Drizzle ORM)
- UI: Vite + React + Tailwind
What This Enables
- Model proxy: OpenClaw talks to Solidclaw; Solidclaw talks to upstream.
- Secret vault: store tool keys in Solidclaw, not in OpenClaw.
- Env injection: run OpenClaw (or any command) with injected secrets.
- Allowlist manager: manage OpenClaw model allowlist from the UI.
Quick Start
- Install dependencies:
cd solidclaw
bun run install:all- Create
.envand set at least:
Required values:
SOLIDCLAW_MASTER_KEY(any string)SOLIDCLAW_ADMIN_TOKEN(admin access)
- Start API + Web:
bun run --env-file .env dev:all
UI: http://localhost:5173
API: http://localhost:8791
- Install the Solidclaw auth plugin:
openclaw plugins install -l ./solidclaw/extensions/solidclaw-auth
- Authenticate OpenClaw with Solidclaw:
openclaw models auth login --provider solidclaw --method device --set-default
Configure Secrets (UI)
Open the UI and add:
- Model Proxy credentials (upstream base URL + API key)
- Config (env variables for tools/plugins)
- Openclaw allowlist (optional)
Run OpenClaw via Solidclaw
Inject env vars at runtime:
./bin/solidclaw env -- openclaw gateway run --allow-unconfigured
Auto-restart OpenClaw when env values change:
./bin/solidclaw gateway -- openclaw gateway run --allow-unconfigured
Useful options:
--interval 5(poll interval in seconds)--clean-env(allow only PATH/HOME/SHELL/LANG and OPENCLAW_/SOLIDCLAW_)
Solidclaw CLI refuses to run if secret-like env vars are set directly in the shell.
Verify Models
You should see solidclaw/... models marked as configured.
Troubleshooting
- Gateway mode warning:
openclaw gateway run --allow-unconfigured
- Port in use:
- Keep OpenClaw state isolated:
OPENCLAW_STATE_DIR=/tmp/openclaw-sandbox ./bin/solidclaw gateway -- openclaw gateway run --allow-unconfigured
Configuration
Solidclaw env vars:
SOLIDCLAW_PORT(default8791)SOLIDCLAW_BASE_URL(defaulthttp://localhost:8791)SOLIDCLAW_WEB_URL(defaulthttp://localhost:5173)SOLIDCLAW_MASTER_KEY(required, any string)SOLIDCLAW_ADMIN_TOKEN(recommended)SOLIDCLAW_DB_PATH(default./data/solidclaw.db)
See solidclaw/architecture.md for system design details.
