Skip to main content

manifest (self-hosted)

Set via openclaw config set plugins.entries.manifest.config.<key> <value>.
SettingTypeDefaultDescription
portnumber2099Embedded server port
hoststring127.0.0.1Bind address

Cloud (provider config)

Cloud mode is configured as a custom provider in ~/.openclaw/openclaw.json under models.providers.manifest. Set via openclaw config set models.providers.manifest '<json>'.
{
  "baseUrl": "https://app.manifest.build/v1",
  "api": "openai-completions",
  "apiKey": "mnfst_YOUR_KEY",
  "models": [{ "id": "auto", "name": "Manifest Auto" }]
}
FieldTypeRequiredDescription
baseUrlstringYesManifest API endpoint (https://app.manifest.build/v1)
apistringYesMust be openai-completions
apiKeystringYesYour Manifest API key (mnfst_...)
modelsarrayYesModel list. Use [{"id":"auto","name":"Manifest Auto"}]
The default model is set separately:
openclaw config set agents.defaults.model.primary manifest/auto

Environment variables

For self-hosting the cloud backend:
VariableDescription
BETTER_AUTH_SECRETAuth secret for session signing
DATABASE_URLPostgreSQL connection string
PORTServer port (default: 3001)
BIND_ADDRESSBind address (default: 127.0.0.1)
NODE_ENVproduction or development
CORS_ORIGINAllowed CORS origin
API_KEYInternal API key
THROTTLE_TTLRate limit window in ms (default: 60000)
THROTTLE_LIMITMax requests per window (default: 100)
MAILGUN_API_KEYMailgun API key for email alerts
MAILGUN_DOMAINMailgun domain
MAILGUN_FROMSender address for alerts
GOOGLE_CLIENT_IDGoogle OAuth client ID
GOOGLE_CLIENT_SECRETGoogle OAuth client secret
GITHUB_CLIENT_IDGitHub OAuth client ID
GITHUB_CLIENT_SECRETGitHub OAuth client secret
DISCORD_CLIENT_IDDiscord OAuth client ID
DISCORD_CLIENT_SECRETDiscord OAuth client secret
SEED_DATASet to true to seed demo data on startup

Config file locations

PathDescription
~/.openclaw/openclaw.jsonProvider config under models.providers.manifest
All other config is managed via the dashboard UI. For self-hosting, use environment variables.

Rate limiting

Default: 100 requests per 60-second window. Configurable via THROTTLE_TTL (ms) and THROTTLE_LIMIT (count) environment variables (self-hosted only).