@better-openclaw/core 1.0.6 → 1.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/publish-core.yml +1 -1
- package/dist/bare-metal-partition.d.mts +0 -1
- package/dist/bare-metal-partition.d.mts.map +1 -1
- package/dist/bare-metal-partition.mjs +47 -2
- package/dist/bare-metal-partition.mjs.map +1 -0
- package/dist/bare-metal-partition.test.mjs +3 -3
- package/dist/composer.d.mts +0 -1
- package/dist/composer.d.mts.map +1 -1
- package/dist/composer.mjs +286 -2
- package/dist/composer.mjs.map +1 -0
- package/dist/composer.snapshot.test.mjs +3 -3
- package/dist/composer.test.mjs +3 -3
- package/dist/generate.d.mts +0 -2
- package/dist/generate.d.mts.map +1 -1
- package/dist/generate.mjs +15 -15
- package/dist/generate.test.mjs +1 -1
- package/dist/generators/bare-metal-install.d.mts +0 -2
- package/dist/generators/bare-metal-install.d.mts.map +1 -1
- package/dist/generators/bare-metal-install.mjs +223 -2
- package/dist/generators/bare-metal-install.mjs.map +1 -0
- package/dist/generators/bare-metal-install.test.mjs +2 -2
- package/dist/generators/caddy.d.mts +0 -2
- package/dist/generators/caddy.d.mts.map +1 -1
- package/dist/generators/caddy.mjs +76 -2
- package/dist/generators/caddy.mjs.map +1 -0
- package/dist/generators/env.d.mts +0 -1
- package/dist/generators/env.d.mts.map +1 -1
- package/dist/generators/env.mjs +249 -2
- package/dist/generators/env.mjs.map +1 -0
- package/dist/generators/grafana.d.mts.map +1 -1
- package/dist/generators/grafana.mjs +292 -2
- package/dist/generators/grafana.mjs.map +1 -0
- package/dist/generators/n8n-workflows.d.mts +0 -2
- package/dist/generators/n8n-workflows.d.mts.map +1 -1
- package/dist/generators/n8n-workflows.mjs +74 -2
- package/dist/generators/n8n-workflows.mjs.map +1 -0
- package/dist/generators/native-services.d.mts +0 -1
- package/dist/generators/native-services.d.mts.map +1 -1
- package/dist/generators/native-services.mjs +77 -2
- package/dist/generators/native-services.mjs.map +1 -0
- package/dist/generators/postgres-init.d.mts +0 -1
- package/dist/generators/postgres-init.d.mts.map +1 -1
- package/dist/generators/postgres-init.mjs +150 -2
- package/dist/generators/postgres-init.mjs.map +1 -0
- package/dist/generators/prometheus.d.mts +0 -2
- package/dist/generators/prometheus.d.mts.map +1 -1
- package/dist/generators/prometheus.mjs +106 -2
- package/dist/generators/prometheus.mjs.map +1 -0
- package/dist/generators/readme.d.mts +0 -1
- package/dist/generators/readme.d.mts.map +1 -1
- package/dist/generators/readme.mjs +198 -2
- package/dist/generators/readme.mjs.map +1 -0
- package/dist/generators/scripts.d.mts.map +1 -1
- package/dist/generators/scripts.mjs +350 -2
- package/dist/generators/scripts.mjs.map +1 -0
- package/dist/generators/skills.d.mts +0 -2
- package/dist/generators/skills.d.mts.map +1 -1
- package/dist/generators/skills.mjs +586 -2
- package/dist/generators/skills.mjs.map +1 -0
- package/dist/index.d.mts +1 -1
- package/dist/index.mjs +15 -15
- package/dist/{magic-string.es-Dew0Rnsa.mjs → magic-string.es-1uTtupLe.mjs} +14 -14
- package/dist/magic-string.es-1uTtupLe.mjs.map +1 -0
- package/dist/presets/registry.d.mts +0 -1
- package/dist/presets/registry.d.mts.map +1 -1
- package/dist/presets/registry.test.mjs +1 -1
- package/dist/resolver.d.mts +0 -2
- package/dist/resolver.d.mts.map +1 -1
- package/dist/resolver.mjs +193 -2
- package/dist/resolver.mjs.map +1 -0
- package/dist/resolver.test.mjs +2 -2
- package/dist/schema.d.mts +714 -2
- package/dist/schema.d.mts.map +1 -0
- package/dist/schema.mjs +6 -2
- package/dist/schema.mjs.map +1 -1
- package/dist/schema.test.mjs +1 -1
- package/dist/services/definitions/anything-llm.d.mts +0 -1
- package/dist/services/definitions/anything-llm.d.mts.map +1 -1
- package/dist/services/definitions/anything-llm.mjs +43 -2
- package/dist/services/definitions/anything-llm.mjs.map +1 -0
- package/dist/services/definitions/appflowy.d.mts +0 -1
- package/dist/services/definitions/appflowy.d.mts.map +1 -1
- package/dist/services/definitions/appflowy.mjs +44 -2
- package/dist/services/definitions/appflowy.mjs.map +1 -0
- package/dist/services/definitions/beszel.d.mts +0 -1
- package/dist/services/definitions/beszel.d.mts.map +1 -1
- package/dist/services/definitions/beszel.mjs +44 -2
- package/dist/services/definitions/beszel.mjs.map +1 -0
- package/dist/services/definitions/browserless.d.mts +0 -1
- package/dist/services/definitions/browserless.d.mts.map +1 -1
- package/dist/services/definitions/browserless.mjs +84 -2
- package/dist/services/definitions/browserless.mjs.map +1 -0
- package/dist/services/definitions/caddy.d.mts +0 -1
- package/dist/services/definitions/caddy.d.mts.map +1 -1
- package/dist/services/definitions/caddy.mjs +51 -2
- package/dist/services/definitions/caddy.mjs.map +1 -0
- package/dist/services/definitions/chromadb.d.mts +0 -1
- package/dist/services/definitions/chromadb.d.mts.map +1 -1
- package/dist/services/definitions/chromadb.mjs +62 -2
- package/dist/services/definitions/chromadb.mjs.map +1 -0
- package/dist/services/definitions/claude-code.d.mts +0 -1
- package/dist/services/definitions/claude-code.d.mts.map +1 -1
- package/dist/services/definitions/claude-code.mjs +51 -2
- package/dist/services/definitions/claude-code.mjs.map +1 -0
- package/dist/services/definitions/code-server.d.mts +0 -1
- package/dist/services/definitions/code-server.d.mts.map +1 -1
- package/dist/services/definitions/code-server.mjs +65 -2
- package/dist/services/definitions/code-server.mjs.map +1 -0
- package/dist/services/definitions/codex.d.mts +0 -1
- package/dist/services/definitions/codex.d.mts.map +1 -1
- package/dist/services/definitions/codex.mjs +44 -2
- package/dist/services/definitions/codex.mjs.map +1 -0
- package/dist/services/definitions/comfyui.d.mts +7 -0
- package/dist/services/definitions/comfyui.d.mts.map +1 -0
- package/dist/services/definitions/comfyui.mjs +83 -0
- package/dist/services/definitions/comfyui.mjs.map +1 -0
- package/dist/services/definitions/convex-dashboard.d.mts +7 -0
- package/dist/services/definitions/convex-dashboard.d.mts.map +1 -0
- package/dist/services/definitions/convex-dashboard.mjs +46 -0
- package/dist/services/definitions/convex-dashboard.mjs.map +1 -0
- package/dist/services/definitions/convex.d.mts +7 -0
- package/dist/services/definitions/convex.d.mts.map +1 -0
- package/dist/services/definitions/convex.mjs +118 -0
- package/dist/services/definitions/convex.mjs.map +1 -0
- package/dist/services/definitions/coolify.d.mts +0 -1
- package/dist/services/definitions/coolify.d.mts.map +1 -1
- package/dist/services/definitions/coolify.mjs +48 -2
- package/dist/services/definitions/coolify.mjs.map +1 -0
- package/dist/services/definitions/desktop-environment.d.mts +7 -0
- package/dist/services/definitions/desktop-environment.d.mts.map +1 -0
- package/dist/services/definitions/desktop-environment.mjs +153 -0
- package/dist/services/definitions/desktop-environment.mjs.map +1 -0
- package/dist/services/definitions/dify.d.mts +0 -1
- package/dist/services/definitions/dify.d.mts.map +1 -1
- package/dist/services/definitions/dify.mjs +80 -2
- package/dist/services/definitions/dify.mjs.map +1 -0
- package/dist/services/definitions/docsgpt.d.mts +0 -1
- package/dist/services/definitions/docsgpt.d.mts.map +1 -1
- package/dist/services/definitions/docsgpt.mjs +44 -2
- package/dist/services/definitions/docsgpt.mjs.map +1 -0
- package/dist/services/definitions/dokploy.d.mts +0 -1
- package/dist/services/definitions/dokploy.d.mts.map +1 -1
- package/dist/services/definitions/dokploy.mjs +48 -2
- package/dist/services/definitions/dokploy.mjs.map +1 -0
- package/dist/services/definitions/dozzle.d.mts +0 -1
- package/dist/services/definitions/dozzle.d.mts.map +1 -1
- package/dist/services/definitions/dozzle.mjs +40 -2
- package/dist/services/definitions/dozzle.mjs.map +1 -0
- package/dist/services/definitions/ffmpeg.d.mts +0 -1
- package/dist/services/definitions/ffmpeg.d.mts.map +1 -1
- package/dist/services/definitions/ffmpeg.mjs +65 -2
- package/dist/services/definitions/ffmpeg.mjs.map +1 -0
- package/dist/services/definitions/flowise.d.mts +0 -1
- package/dist/services/definitions/flowise.d.mts.map +1 -1
- package/dist/services/definitions/flowise.mjs +44 -2
- package/dist/services/definitions/flowise.mjs.map +1 -0
- package/dist/services/definitions/gemini-cli.d.mts +0 -1
- package/dist/services/definitions/gemini-cli.d.mts.map +1 -1
- package/dist/services/definitions/gemini-cli.mjs +45 -2
- package/dist/services/definitions/gemini-cli.mjs.map +1 -0
- package/dist/services/definitions/gitea.d.mts +0 -1
- package/dist/services/definitions/gitea.d.mts.map +1 -1
- package/dist/services/definitions/gitea.mjs +48 -2
- package/dist/services/definitions/gitea.mjs.map +1 -0
- package/dist/services/definitions/gotify.d.mts +0 -1
- package/dist/services/definitions/gotify.d.mts.map +1 -1
- package/dist/services/definitions/gotify.mjs +61 -2
- package/dist/services/definitions/gotify.mjs.map +1 -0
- package/dist/services/definitions/grafana.d.mts +0 -1
- package/dist/services/definitions/grafana.d.mts.map +1 -1
- package/dist/services/definitions/grafana.mjs +62 -2
- package/dist/services/definitions/grafana.mjs.map +1 -0
- package/dist/services/definitions/index.d.mts +8 -2
- package/dist/services/definitions/index.d.mts.map +1 -1
- package/dist/services/definitions/index.mjs +151 -67
- package/dist/services/definitions/index.mjs.map +1 -0
- package/dist/services/definitions/kimi.d.mts +0 -1
- package/dist/services/definitions/kimi.d.mts.map +1 -1
- package/dist/services/definitions/kimi.mjs +45 -2
- package/dist/services/definitions/kimi.mjs.map +1 -0
- package/dist/services/definitions/lasuite-meet-agents.d.mts +0 -1
- package/dist/services/definitions/lasuite-meet-agents.d.mts.map +1 -1
- package/dist/services/definitions/lasuite-meet-agents.mjs +35 -2
- package/dist/services/definitions/lasuite-meet-agents.mjs.map +1 -0
- package/dist/services/definitions/lasuite-meet-backend.d.mts +0 -1
- package/dist/services/definitions/lasuite-meet-backend.d.mts.map +1 -1
- package/dist/services/definitions/lasuite-meet-backend.mjs +133 -2
- package/dist/services/definitions/lasuite-meet-backend.mjs.map +1 -0
- package/dist/services/definitions/lasuite-meet-frontend.d.mts +0 -1
- package/dist/services/definitions/lasuite-meet-frontend.d.mts.map +1 -1
- package/dist/services/definitions/lasuite-meet-frontend.mjs +47 -2
- package/dist/services/definitions/lasuite-meet-frontend.mjs.map +1 -0
- package/dist/services/definitions/librechat.d.mts +0 -1
- package/dist/services/definitions/librechat.d.mts.map +1 -1
- package/dist/services/definitions/librechat.mjs +49 -2
- package/dist/services/definitions/librechat.mjs.map +1 -0
- package/dist/services/definitions/lightpanda.d.mts +0 -1
- package/dist/services/definitions/lightpanda.d.mts.map +1 -1
- package/dist/services/definitions/lightpanda.mjs +58 -2
- package/dist/services/definitions/lightpanda.mjs.map +1 -0
- package/dist/services/definitions/litellm.d.mts +0 -1
- package/dist/services/definitions/litellm.d.mts.map +1 -1
- package/dist/services/definitions/litellm.mjs +46 -2
- package/dist/services/definitions/litellm.mjs.map +1 -0
- package/dist/services/definitions/livekit.d.mts +0 -1
- package/dist/services/definitions/livekit.d.mts.map +1 -1
- package/dist/services/definitions/livekit.mjs +55 -2
- package/dist/services/definitions/livekit.mjs.map +1 -0
- package/dist/services/definitions/matomo.d.mts +0 -1
- package/dist/services/definitions/matomo.d.mts.map +1 -1
- package/dist/services/definitions/matomo.mjs +79 -2
- package/dist/services/definitions/matomo.mjs.map +1 -0
- package/dist/services/definitions/matrix-synapse.d.mts +0 -1
- package/dist/services/definitions/matrix-synapse.d.mts.map +1 -1
- package/dist/services/definitions/matrix-synapse.mjs +87 -2
- package/dist/services/definitions/matrix-synapse.mjs.map +1 -0
- package/dist/services/definitions/mattermost.d.mts +0 -1
- package/dist/services/definitions/mattermost.d.mts.map +1 -1
- package/dist/services/definitions/mattermost.mjs +60 -2
- package/dist/services/definitions/mattermost.mjs.map +1 -0
- package/dist/services/definitions/meilisearch.d.mts +0 -1
- package/dist/services/definitions/meilisearch.d.mts.map +1 -1
- package/dist/services/definitions/meilisearch.mjs +77 -2
- package/dist/services/definitions/meilisearch.mjs.map +1 -0
- package/dist/services/definitions/minio.d.mts +0 -1
- package/dist/services/definitions/minio.d.mts.map +1 -1
- package/dist/services/definitions/minio.mjs +101 -2
- package/dist/services/definitions/minio.mjs.map +1 -0
- package/dist/services/definitions/mission-control.d.mts +7 -0
- package/dist/services/definitions/mission-control.d.mts.map +1 -0
- package/dist/services/definitions/mission-control.mjs +67 -0
- package/dist/services/definitions/mission-control.mjs.map +1 -0
- package/dist/services/definitions/mixpost.d.mts +0 -1
- package/dist/services/definitions/mixpost.d.mts.map +1 -1
- package/dist/services/definitions/mixpost.mjs +86 -2
- package/dist/services/definitions/mixpost.mjs.map +1 -0
- package/dist/services/definitions/motion-canvas.d.mts +0 -1
- package/dist/services/definitions/motion-canvas.d.mts.map +1 -1
- package/dist/services/definitions/motion-canvas.mjs +51 -2
- package/dist/services/definitions/motion-canvas.mjs.map +1 -0
- package/dist/services/definitions/n8n.d.mts +0 -1
- package/dist/services/definitions/n8n.d.mts.map +1 -1
- package/dist/services/definitions/n8n.mjs +153 -2
- package/dist/services/definitions/n8n.mjs.map +1 -0
- package/dist/services/definitions/nocodb.d.mts +0 -1
- package/dist/services/definitions/nocodb.d.mts.map +1 -1
- package/dist/services/definitions/nocodb.mjs +44 -2
- package/dist/services/definitions/nocodb.mjs.map +1 -0
- package/dist/services/definitions/ntfy.d.mts +0 -1
- package/dist/services/definitions/ntfy.d.mts.map +1 -1
- package/dist/services/definitions/ntfy.mjs +62 -2
- package/dist/services/definitions/ntfy.mjs.map +1 -0
- package/dist/services/definitions/ollama.d.mts +0 -1
- package/dist/services/definitions/ollama.d.mts.map +1 -1
- package/dist/services/definitions/ollama.mjs +65 -2
- package/dist/services/definitions/ollama.mjs.map +1 -0
- package/dist/services/definitions/open-webui.d.mts +0 -1
- package/dist/services/definitions/open-webui.d.mts.map +1 -1
- package/dist/services/definitions/open-webui.mjs +49 -2
- package/dist/services/definitions/open-webui.mjs.map +1 -0
- package/dist/services/definitions/opencode.d.mts +0 -1
- package/dist/services/definitions/opencode.d.mts.map +1 -1
- package/dist/services/definitions/opencode.mjs +49 -2
- package/dist/services/definitions/opencode.mjs.map +1 -0
- package/dist/services/definitions/openpanel.d.mts +0 -1
- package/dist/services/definitions/openpanel.d.mts.map +1 -1
- package/dist/services/definitions/openpanel.mjs +45 -2
- package/dist/services/definitions/openpanel.mjs.map +1 -0
- package/dist/services/definitions/outline.d.mts +0 -1
- package/dist/services/definitions/outline.d.mts.map +1 -1
- package/dist/services/definitions/outline.mjs +73 -2
- package/dist/services/definitions/outline.mjs.map +1 -0
- package/dist/services/definitions/paperless-ngx.d.mts +0 -1
- package/dist/services/definitions/paperless-ngx.d.mts.map +1 -1
- package/dist/services/definitions/paperless-ngx.mjs +92 -2
- package/dist/services/definitions/paperless-ngx.mjs.map +1 -0
- package/dist/services/definitions/playwright-server.d.mts +0 -1
- package/dist/services/definitions/playwright-server.d.mts.map +1 -1
- package/dist/services/definitions/playwright-server.mjs +41 -2
- package/dist/services/definitions/playwright-server.mjs.map +1 -0
- package/dist/services/definitions/portainer.d.mts +0 -1
- package/dist/services/definitions/portainer.d.mts.map +1 -1
- package/dist/services/definitions/portainer.mjs +48 -2
- package/dist/services/definitions/portainer.mjs.map +1 -0
- package/dist/services/definitions/postgresql.d.mts +0 -1
- package/dist/services/definitions/postgresql.d.mts.map +1 -1
- package/dist/services/definitions/postgresql.mjs +83 -2
- package/dist/services/definitions/postgresql.mjs.map +1 -0
- package/dist/services/definitions/postiz.d.mts +0 -1
- package/dist/services/definitions/postiz.d.mts.map +1 -1
- package/dist/services/definitions/postiz.mjs +82 -2
- package/dist/services/definitions/postiz.mjs.map +1 -0
- package/dist/services/definitions/prometheus.d.mts +0 -1
- package/dist/services/definitions/prometheus.d.mts.map +1 -1
- package/dist/services/definitions/prometheus.mjs +51 -2
- package/dist/services/definitions/prometheus.mjs.map +1 -0
- package/dist/services/definitions/qdrant.d.mts +0 -1
- package/dist/services/definitions/qdrant.d.mts.map +1 -1
- package/dist/services/definitions/qdrant.mjs +76 -2
- package/dist/services/definitions/qdrant.mjs.map +1 -0
- package/dist/services/definitions/redis.d.mts +0 -1
- package/dist/services/definitions/redis.d.mts.map +1 -1
- package/dist/services/definitions/redis.mjs +90 -2
- package/dist/services/definitions/redis.mjs.map +1 -0
- package/dist/services/definitions/remotion.d.mts +0 -1
- package/dist/services/definitions/remotion.d.mts.map +1 -1
- package/dist/services/definitions/remotion.mjs +54 -2
- package/dist/services/definitions/remotion.mjs.map +1 -0
- package/dist/services/definitions/rocketchat.d.mts +0 -1
- package/dist/services/definitions/rocketchat.d.mts.map +1 -1
- package/dist/services/definitions/rocketchat.mjs +56 -2
- package/dist/services/definitions/rocketchat.mjs.map +1 -0
- package/dist/services/definitions/searxng.d.mts +0 -1
- package/dist/services/definitions/searxng.d.mts.map +1 -1
- package/dist/services/definitions/searxng.mjs +64 -2
- package/dist/services/definitions/searxng.mjs.map +1 -0
- package/dist/services/definitions/stable-diffusion.d.mts +0 -1
- package/dist/services/definitions/stable-diffusion.d.mts.map +1 -1
- package/dist/services/definitions/stable-diffusion.mjs +47 -2
- package/dist/services/definitions/stable-diffusion.mjs.map +1 -0
- package/dist/services/definitions/steel-browser.d.mts +0 -1
- package/dist/services/definitions/steel-browser.d.mts.map +1 -1
- package/dist/services/definitions/steel-browser.mjs +76 -2
- package/dist/services/definitions/steel-browser.mjs.map +1 -0
- package/dist/services/definitions/stream-gateway.d.mts +7 -0
- package/dist/services/definitions/stream-gateway.d.mts.map +1 -0
- package/dist/services/definitions/stream-gateway.mjs +133 -0
- package/dist/services/definitions/stream-gateway.mjs.map +1 -0
- package/dist/services/definitions/tailscale.d.mts +0 -1
- package/dist/services/definitions/tailscale.d.mts.map +1 -1
- package/dist/services/definitions/tailscale.mjs +69 -2
- package/dist/services/definitions/tailscale.mjs.map +1 -0
- package/dist/services/definitions/temporal.d.mts +0 -1
- package/dist/services/definitions/temporal.d.mts.map +1 -1
- package/dist/services/definitions/temporal.mjs +99 -2
- package/dist/services/definitions/temporal.mjs.map +1 -0
- package/dist/services/definitions/traefik.d.mts +0 -1
- package/dist/services/definitions/traefik.d.mts.map +1 -1
- package/dist/services/definitions/traefik.mjs +57 -2
- package/dist/services/definitions/traefik.mjs.map +1 -0
- package/dist/services/definitions/umami.d.mts +0 -1
- package/dist/services/definitions/umami.d.mts.map +1 -1
- package/dist/services/definitions/umami.mjs +45 -2
- package/dist/services/definitions/umami.mjs.map +1 -0
- package/dist/services/definitions/uptime-kuma.d.mts +0 -1
- package/dist/services/definitions/uptime-kuma.d.mts.map +1 -1
- package/dist/services/definitions/uptime-kuma.mjs +50 -2
- package/dist/services/definitions/uptime-kuma.mjs.map +1 -0
- package/dist/services/definitions/usesend.d.mts +7 -0
- package/dist/services/definitions/usesend.d.mts.map +1 -0
- package/dist/services/definitions/usesend.mjs +99 -0
- package/dist/services/definitions/usesend.mjs.map +1 -0
- package/dist/services/definitions/valkey.d.mts +0 -1
- package/dist/services/definitions/valkey.d.mts.map +1 -1
- package/dist/services/definitions/valkey.mjs +60 -2
- package/dist/services/definitions/valkey.mjs.map +1 -0
- package/dist/services/definitions/watchtower.d.mts +0 -1
- package/dist/services/definitions/watchtower.d.mts.map +1 -1
- package/dist/services/definitions/watchtower.mjs +46 -2
- package/dist/services/definitions/watchtower.mjs.map +1 -0
- package/dist/services/definitions/weaviate.d.mts +0 -1
- package/dist/services/definitions/weaviate.d.mts.map +1 -1
- package/dist/services/definitions/weaviate.mjs +89 -2
- package/dist/services/definitions/weaviate.mjs.map +1 -0
- package/dist/services/definitions/whisper.d.mts +0 -1
- package/dist/services/definitions/whisper.d.mts.map +1 -1
- package/dist/services/definitions/whisper.mjs +61 -2
- package/dist/services/definitions/whisper.mjs.map +1 -0
- package/dist/services/registry.d.mts +0 -1
- package/dist/services/registry.d.mts.map +1 -1
- package/dist/services/registry.mjs +29 -2
- package/dist/services/registry.mjs.map +1 -0
- package/dist/services/registry.test.mjs +2 -2
- package/dist/skills/registry.d.mts +0 -1
- package/dist/skills/registry.d.mts.map +1 -1
- package/dist/skills/registry.mjs +214 -2
- package/dist/skills/registry.mjs.map +1 -0
- package/dist/types.d.mts +1 -1
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs +10 -0
- package/dist/types.mjs.map +1 -1
- package/dist/validator.d.mts +0 -1
- package/dist/validator.d.mts.map +1 -1
- package/dist/validator.mjs +110 -2
- package/dist/validator.mjs.map +1 -0
- package/dist/validator.test.mjs +4 -4
- package/dist/version-manager.d.mts +0 -1
- package/dist/version-manager.d.mts.map +1 -1
- package/dist/version-manager.mjs +1 -1
- package/dist/{vi.2VT5v0um-Cs3Z_fCB.mjs → vi.2VT5v0um-Qk6MgAnK.mjs} +1183 -1183
- package/dist/vi.2VT5v0um-Qk6MgAnK.mjs.map +1 -0
- package/package.json +14 -13
- package/src/schema.ts +4 -1
- package/src/services/definitions/comfyui.ts +90 -0
- package/src/services/definitions/convex-dashboard.ts +48 -0
- package/src/services/definitions/convex.ts +123 -0
- package/src/services/definitions/desktop-environment.ts +163 -0
- package/src/services/definitions/index.ts +21 -0
- package/src/services/definitions/mission-control.ts +71 -0
- package/src/services/definitions/stream-gateway.ts +148 -0
- package/src/services/definitions/tailscale.ts +2 -0
- package/src/services/definitions/usesend.ts +98 -0
- package/src/types.ts +2 -0
- package/tsdown.config.ts +1 -0
- package/dist/anything-llm-DIIPhz6K.mjs +0 -44
- package/dist/anything-llm-DIIPhz6K.mjs.map +0 -1
- package/dist/appflowy-DdoE-dKg.mjs +0 -45
- package/dist/appflowy-DdoE-dKg.mjs.map +0 -1
- package/dist/bare-metal-install-DpYZDoGq.mjs +0 -224
- package/dist/bare-metal-install-DpYZDoGq.mjs.map +0 -1
- package/dist/bare-metal-partition-CYlOxf9B.mjs +0 -48
- package/dist/bare-metal-partition-CYlOxf9B.mjs.map +0 -1
- package/dist/beszel-DHAG1zl0.mjs +0 -45
- package/dist/beszel-DHAG1zl0.mjs.map +0 -1
- package/dist/browserless-gUuvGmMD.mjs +0 -85
- package/dist/browserless-gUuvGmMD.mjs.map +0 -1
- package/dist/caddy-BJDrqnmw.mjs +0 -77
- package/dist/caddy-BJDrqnmw.mjs.map +0 -1
- package/dist/caddy-_NIdWKrf.mjs +0 -52
- package/dist/caddy-_NIdWKrf.mjs.map +0 -1
- package/dist/chromadb-g4rIsfAl.mjs +0 -63
- package/dist/chromadb-g4rIsfAl.mjs.map +0 -1
- package/dist/claude-code-DPRA1fy_.mjs +0 -52
- package/dist/claude-code-DPRA1fy_.mjs.map +0 -1
- package/dist/code-server-BdZZxxm5.mjs +0 -66
- package/dist/code-server-BdZZxxm5.mjs.map +0 -1
- package/dist/codex-DFVzfrfX.mjs +0 -45
- package/dist/codex-DFVzfrfX.mjs.map +0 -1
- package/dist/composer-CSM5YycB.mjs +0 -287
- package/dist/composer-CSM5YycB.mjs.map +0 -1
- package/dist/coolify-Z5_zDgM3.mjs +0 -49
- package/dist/coolify-Z5_zDgM3.mjs.map +0 -1
- package/dist/definitions-BXpb1kzs.mjs +0 -138
- package/dist/definitions-BXpb1kzs.mjs.map +0 -1
- package/dist/dify-jDc9U6Ku.mjs +0 -81
- package/dist/dify-jDc9U6Ku.mjs.map +0 -1
- package/dist/docsgpt-BXM1c2JC.mjs +0 -45
- package/dist/docsgpt-BXM1c2JC.mjs.map +0 -1
- package/dist/dokploy-Ci8_fb0_.mjs +0 -49
- package/dist/dokploy-Ci8_fb0_.mjs.map +0 -1
- package/dist/dozzle-fAt2sLRL.mjs +0 -41
- package/dist/dozzle-fAt2sLRL.mjs.map +0 -1
- package/dist/env-D2h46lHT.mjs +0 -250
- package/dist/env-D2h46lHT.mjs.map +0 -1
- package/dist/ffmpeg-BCtnA8m_.mjs +0 -66
- package/dist/ffmpeg-BCtnA8m_.mjs.map +0 -1
- package/dist/flowise-CJTTBa7J.mjs +0 -45
- package/dist/flowise-CJTTBa7J.mjs.map +0 -1
- package/dist/gemini-cli-Bfwv6hYe.mjs +0 -46
- package/dist/gemini-cli-Bfwv6hYe.mjs.map +0 -1
- package/dist/gitea-BGkqa-sD.mjs +0 -49
- package/dist/gitea-BGkqa-sD.mjs.map +0 -1
- package/dist/gotify-D7p8oNM3.mjs +0 -62
- package/dist/gotify-D7p8oNM3.mjs.map +0 -1
- package/dist/grafana-BlnWc6js.mjs +0 -63
- package/dist/grafana-BlnWc6js.mjs.map +0 -1
- package/dist/grafana-D3kIm8RX.mjs +0 -293
- package/dist/grafana-D3kIm8RX.mjs.map +0 -1
- package/dist/kimi-BFu1v1sU.mjs +0 -46
- package/dist/kimi-BFu1v1sU.mjs.map +0 -1
- package/dist/lasuite-meet-agents-nlPhMEaN.mjs +0 -36
- package/dist/lasuite-meet-agents-nlPhMEaN.mjs.map +0 -1
- package/dist/lasuite-meet-backend-9H7rZ8Pc.mjs +0 -134
- package/dist/lasuite-meet-backend-9H7rZ8Pc.mjs.map +0 -1
- package/dist/lasuite-meet-frontend-B4xNbnBa.mjs +0 -48
- package/dist/lasuite-meet-frontend-B4xNbnBa.mjs.map +0 -1
- package/dist/librechat-CoPIHXKK.mjs +0 -50
- package/dist/librechat-CoPIHXKK.mjs.map +0 -1
- package/dist/lightpanda-QchAPgNX.mjs +0 -59
- package/dist/lightpanda-QchAPgNX.mjs.map +0 -1
- package/dist/litellm-Dgl6iTry.mjs +0 -47
- package/dist/litellm-Dgl6iTry.mjs.map +0 -1
- package/dist/livekit-C13SxlVB.mjs +0 -56
- package/dist/livekit-C13SxlVB.mjs.map +0 -1
- package/dist/magic-string.es-Dew0Rnsa.mjs.map +0 -1
- package/dist/matomo-CiOoggYl.mjs +0 -80
- package/dist/matomo-CiOoggYl.mjs.map +0 -1
- package/dist/matrix-synapse-CP20A7NN.mjs +0 -88
- package/dist/matrix-synapse-CP20A7NN.mjs.map +0 -1
- package/dist/mattermost-CeFVuhIr.mjs +0 -61
- package/dist/mattermost-CeFVuhIr.mjs.map +0 -1
- package/dist/meilisearch-CLiQiTdN.mjs +0 -78
- package/dist/meilisearch-CLiQiTdN.mjs.map +0 -1
- package/dist/minio-_QuguAeo.mjs +0 -102
- package/dist/minio-_QuguAeo.mjs.map +0 -1
- package/dist/mixpost-eSFPM9XK.mjs +0 -87
- package/dist/mixpost-eSFPM9XK.mjs.map +0 -1
- package/dist/motion-canvas-Bk1ruvuX.mjs +0 -52
- package/dist/motion-canvas-Bk1ruvuX.mjs.map +0 -1
- package/dist/n8n-W5qeU34C.mjs +0 -154
- package/dist/n8n-W5qeU34C.mjs.map +0 -1
- package/dist/n8n-workflows-BPmKVx8z.mjs +0 -75
- package/dist/n8n-workflows-BPmKVx8z.mjs.map +0 -1
- package/dist/native-services-CwOCM-Xz.mjs +0 -78
- package/dist/native-services-CwOCM-Xz.mjs.map +0 -1
- package/dist/nocodb-DQNbSYh_.mjs +0 -45
- package/dist/nocodb-DQNbSYh_.mjs.map +0 -1
- package/dist/ntfy-B8_cZAx2.mjs +0 -63
- package/dist/ntfy-B8_cZAx2.mjs.map +0 -1
- package/dist/ollama-BiKAypcO.mjs +0 -66
- package/dist/ollama-BiKAypcO.mjs.map +0 -1
- package/dist/open-webui-DZOG4_xL.mjs +0 -50
- package/dist/open-webui-DZOG4_xL.mjs.map +0 -1
- package/dist/opencode-Dvfh5KvA.mjs +0 -50
- package/dist/opencode-Dvfh5KvA.mjs.map +0 -1
- package/dist/openpanel-BuWHhDze.mjs +0 -46
- package/dist/openpanel-BuWHhDze.mjs.map +0 -1
- package/dist/outline-Dy-YzdYS.mjs +0 -74
- package/dist/outline-Dy-YzdYS.mjs.map +0 -1
- package/dist/paperless-ngx-DVtWWpKg.mjs +0 -93
- package/dist/paperless-ngx-DVtWWpKg.mjs.map +0 -1
- package/dist/playwright-server-Boiz8--G.mjs +0 -42
- package/dist/playwright-server-Boiz8--G.mjs.map +0 -1
- package/dist/portainer-D9MU96UI.mjs +0 -49
- package/dist/portainer-D9MU96UI.mjs.map +0 -1
- package/dist/postgres-init-BiM-xZtq.mjs +0 -151
- package/dist/postgres-init-BiM-xZtq.mjs.map +0 -1
- package/dist/postgresql-s65Z9RqR.mjs +0 -84
- package/dist/postgresql-s65Z9RqR.mjs.map +0 -1
- package/dist/postiz-U6EK23EY.mjs +0 -83
- package/dist/postiz-U6EK23EY.mjs.map +0 -1
- package/dist/prometheus-WOlk-a1G.mjs +0 -107
- package/dist/prometheus-WOlk-a1G.mjs.map +0 -1
- package/dist/prometheus-x901F67p.mjs +0 -52
- package/dist/prometheus-x901F67p.mjs.map +0 -1
- package/dist/qdrant-DZW9uW4e.mjs +0 -77
- package/dist/qdrant-DZW9uW4e.mjs.map +0 -1
- package/dist/readme-C7M3QE9a.mjs +0 -199
- package/dist/readme-C7M3QE9a.mjs.map +0 -1
- package/dist/redis-DPMOf237.mjs +0 -91
- package/dist/redis-DPMOf237.mjs.map +0 -1
- package/dist/registry-CqLarEm5.mjs +0 -30
- package/dist/registry-CqLarEm5.mjs.map +0 -1
- package/dist/registry-DLX9Q4VQ.mjs +0 -215
- package/dist/registry-DLX9Q4VQ.mjs.map +0 -1
- package/dist/remotion-COkr0wpr.mjs +0 -55
- package/dist/remotion-COkr0wpr.mjs.map +0 -1
- package/dist/resolver-Dl5clk-d.mjs +0 -194
- package/dist/resolver-Dl5clk-d.mjs.map +0 -1
- package/dist/rocketchat-BebQT1MZ.mjs +0 -57
- package/dist/rocketchat-BebQT1MZ.mjs.map +0 -1
- package/dist/schema-PSUY6yJU.d.mts +0 -700
- package/dist/schema-PSUY6yJU.d.mts.map +0 -1
- package/dist/scripts-DsljWbP4.mjs +0 -351
- package/dist/scripts-DsljWbP4.mjs.map +0 -1
- package/dist/searxng-tJpBkchC.mjs +0 -65
- package/dist/searxng-tJpBkchC.mjs.map +0 -1
- package/dist/skills-DWG72Y3X.mjs +0 -587
- package/dist/skills-DWG72Y3X.mjs.map +0 -1
- package/dist/stable-diffusion-BulAzkyT.mjs +0 -48
- package/dist/stable-diffusion-BulAzkyT.mjs.map +0 -1
- package/dist/steel-browser-Cc0bYBjM.mjs +0 -77
- package/dist/steel-browser-Cc0bYBjM.mjs.map +0 -1
- package/dist/tailscale-CrM4EZlF.mjs +0 -69
- package/dist/tailscale-CrM4EZlF.mjs.map +0 -1
- package/dist/temporal-49gA0msh.mjs +0 -100
- package/dist/temporal-49gA0msh.mjs.map +0 -1
- package/dist/traefik-Da-c1f55.mjs +0 -58
- package/dist/traefik-Da-c1f55.mjs.map +0 -1
- package/dist/umami-csBSsHqO.mjs +0 -46
- package/dist/umami-csBSsHqO.mjs.map +0 -1
- package/dist/uptime-kuma-D0NvVuXD.mjs +0 -51
- package/dist/uptime-kuma-D0NvVuXD.mjs.map +0 -1
- package/dist/validator-2FspYNva.mjs +0 -111
- package/dist/validator-2FspYNva.mjs.map +0 -1
- package/dist/valkey-BCZqGJ0L.mjs +0 -61
- package/dist/valkey-BCZqGJ0L.mjs.map +0 -1
- package/dist/vi.2VT5v0um-Cs3Z_fCB.mjs.map +0 -1
- package/dist/watchtower-BWuvFGpA.mjs +0 -47
- package/dist/watchtower-BWuvFGpA.mjs.map +0 -1
- package/dist/weaviate-DttY1Hn7.mjs +0 -90
- package/dist/weaviate-DttY1Hn7.mjs.map +0 -1
- package/dist/whisper-CLu7-Vd8.mjs +0 -62
- package/dist/whisper-CLu7-Vd8.mjs.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@better-openclaw/core",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.8",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Core logic for better-openclaw: schemas, service registry, resolver, composer, validators and more",
|
|
6
6
|
"packageManager": "pnpm@9.15.4",
|
|
@@ -9,17 +9,17 @@
|
|
|
9
9
|
"types": "dist/index.d.ts",
|
|
10
10
|
"type": "module",
|
|
11
11
|
"exports": {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
},
|
|
17
|
-
"./*": {
|
|
18
|
-
"types": "./dist/*.d.ts",
|
|
19
|
-
"import": "./dist/*.mjs",
|
|
20
|
-
"default": "./dist/*.mjs"
|
|
21
|
-
}
|
|
12
|
+
".": {
|
|
13
|
+
"types": "./dist/index.d.ts",
|
|
14
|
+
"import": "./dist/index.mjs",
|
|
15
|
+
"default": "./dist/index.mjs"
|
|
22
16
|
},
|
|
17
|
+
"./*": {
|
|
18
|
+
"types": "./dist/*.d.ts",
|
|
19
|
+
"import": "./dist/*.mjs",
|
|
20
|
+
"default": "./dist/*.mjs"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
23
|
"scripts": {
|
|
24
24
|
"build": "tsdown",
|
|
25
25
|
"build:tsc": "tsc",
|
|
@@ -38,9 +38,10 @@
|
|
|
38
38
|
"zod": "^4.3.6"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
|
+
"@biomejs/biome": "^2.0.0",
|
|
41
42
|
"@types/node": "^25.2.2",
|
|
42
|
-
"tsdown": "^0.
|
|
43
|
+
"tsdown": "^0.20.3",
|
|
43
44
|
"typescript": "^5.9.3",
|
|
44
45
|
"vitest": "^4.0.18"
|
|
45
46
|
}
|
|
46
|
-
}
|
|
47
|
+
}
|
package/src/schema.ts
CHANGED
|
@@ -20,6 +20,8 @@ export const ServiceCategorySchema = z.enum([
|
|
|
20
20
|
"ai-platform",
|
|
21
21
|
"dev-tools",
|
|
22
22
|
"knowledge",
|
|
23
|
+
"desktop",
|
|
24
|
+
"streaming",
|
|
23
25
|
]);
|
|
24
26
|
|
|
25
27
|
export const MaturitySchema = z.enum(["stable", "beta", "experimental"]);
|
|
@@ -41,7 +43,7 @@ export const RestartPolicySchema = z.enum(["unless-stopped", "always", "on-failu
|
|
|
41
43
|
|
|
42
44
|
export const ProxyTypeSchema = z.enum(["none", "caddy", "traefik"]);
|
|
43
45
|
|
|
44
|
-
export const DeploymentTargetSchema = z.enum(["local", "vps", "homelab"]);
|
|
46
|
+
export const DeploymentTargetSchema = z.enum(["local", "vps", "homelab", "clawexa"]);
|
|
45
47
|
|
|
46
48
|
export const OutputFormatSchema = z.enum(["directory", "tar", "zip"]);
|
|
47
49
|
|
|
@@ -155,6 +157,7 @@ export const ServiceDefinitionSchema = z.object({
|
|
|
155
157
|
recommends: z.array(z.string()).default([]),
|
|
156
158
|
conflictsWith: z.array(z.string()).default([]),
|
|
157
159
|
mandatory: z.boolean().default(false).optional(),
|
|
160
|
+
removalWarning: z.string().optional(),
|
|
158
161
|
|
|
159
162
|
// Platform Constraints
|
|
160
163
|
platforms: z.array(PlatformSchema).optional(),
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { ServiceDefinition } from "../../types.js";
|
|
2
|
+
|
|
3
|
+
export const comfyuiDefinition: ServiceDefinition = {
|
|
4
|
+
id: "comfyui",
|
|
5
|
+
name: "ComfyUI",
|
|
6
|
+
description:
|
|
7
|
+
"Node-based visual workflow editor for Stable Diffusion and other generative AI models. Design complex image/video generation pipelines with a drag-and-drop graph UI and a powerful REST API.",
|
|
8
|
+
category: "ai",
|
|
9
|
+
icon: "🎨",
|
|
10
|
+
|
|
11
|
+
image: "ghcr.io/ai-dock/comfyui",
|
|
12
|
+
imageTag: "latest",
|
|
13
|
+
ports: [
|
|
14
|
+
{
|
|
15
|
+
host: 8188,
|
|
16
|
+
container: 8188,
|
|
17
|
+
description: "ComfyUI Web UI & API",
|
|
18
|
+
exposed: true,
|
|
19
|
+
},
|
|
20
|
+
],
|
|
21
|
+
volumes: [
|
|
22
|
+
{
|
|
23
|
+
name: "comfyui-models",
|
|
24
|
+
containerPath: "/opt/ComfyUI/models",
|
|
25
|
+
description: "Model checkpoint, LoRA, VAE, and ControlNet files",
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
name: "comfyui-output",
|
|
29
|
+
containerPath: "/opt/ComfyUI/output",
|
|
30
|
+
description: "Generated images and output files",
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
name: "comfyui-custom-nodes",
|
|
34
|
+
containerPath: "/opt/ComfyUI/custom_nodes",
|
|
35
|
+
description: "Community custom node extensions",
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
environment: [],
|
|
39
|
+
healthcheck: {
|
|
40
|
+
test: "curl -f http://localhost:8188/system_stats || exit 1",
|
|
41
|
+
interval: "30s",
|
|
42
|
+
timeout: "10s",
|
|
43
|
+
retries: 3,
|
|
44
|
+
startPeriod: "60s",
|
|
45
|
+
},
|
|
46
|
+
dependsOn: [],
|
|
47
|
+
restartPolicy: "unless-stopped",
|
|
48
|
+
networks: ["openclaw-network"],
|
|
49
|
+
|
|
50
|
+
skills: [{ skillId: "comfyui-generate", autoInstall: true }],
|
|
51
|
+
openclawEnvVars: [
|
|
52
|
+
{
|
|
53
|
+
key: "COMFYUI_HOST",
|
|
54
|
+
defaultValue: "comfyui",
|
|
55
|
+
secret: false,
|
|
56
|
+
description: "ComfyUI hostname for OpenClaw",
|
|
57
|
+
required: true,
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
key: "COMFYUI_PORT",
|
|
61
|
+
defaultValue: "8188",
|
|
62
|
+
secret: false,
|
|
63
|
+
description: "ComfyUI API port for OpenClaw",
|
|
64
|
+
required: true,
|
|
65
|
+
},
|
|
66
|
+
],
|
|
67
|
+
|
|
68
|
+
docsUrl: "https://github.com/comfyanonymous/ComfyUI",
|
|
69
|
+
selfHostedDocsUrl: "https://github.com/comfyanonymous/ComfyUI",
|
|
70
|
+
tags: [
|
|
71
|
+
"image-generation",
|
|
72
|
+
"ai-art",
|
|
73
|
+
"stable-diffusion",
|
|
74
|
+
"workflow",
|
|
75
|
+
"node-editor",
|
|
76
|
+
"text-to-image",
|
|
77
|
+
"comfyui",
|
|
78
|
+
],
|
|
79
|
+
maturity: "experimental",
|
|
80
|
+
|
|
81
|
+
requires: [],
|
|
82
|
+
recommends: ["ollama"],
|
|
83
|
+
conflictsWith: [],
|
|
84
|
+
|
|
85
|
+
removalWarning:
|
|
86
|
+
"⚠️ GPU INFRASTRUCTURE REQUIRED: ComfyUI requires an NVIDIA GPU with CUDA support and the NVIDIA Container Toolkit (nvidia-docker2) installed on the host. Without GPU acceleration, image generation will be extremely slow (minutes per image). Ensure your deployment target has adequate GPU resources (minimum 4 GB VRAM, 8 GB+ recommended) before adding this service.",
|
|
87
|
+
|
|
88
|
+
minMemoryMB: 4096,
|
|
89
|
+
gpuRequired: true,
|
|
90
|
+
};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { ServiceDefinition } from "../../types.js";
|
|
2
|
+
|
|
3
|
+
export const convexDashboardDefinition: ServiceDefinition = {
|
|
4
|
+
id: "convex-dashboard",
|
|
5
|
+
name: "Convex Dashboard",
|
|
6
|
+
description:
|
|
7
|
+
"Web dashboard for the self-hosted Convex backend. Browse data, run functions, view logs, and manage your deployment.",
|
|
8
|
+
category: "dev-tools",
|
|
9
|
+
icon: "📊",
|
|
10
|
+
|
|
11
|
+
image: "ghcr.io/get-convex/convex-dashboard",
|
|
12
|
+
imageTag: "latest",
|
|
13
|
+
ports: [
|
|
14
|
+
{
|
|
15
|
+
host: 6791,
|
|
16
|
+
container: 6791,
|
|
17
|
+
description: "Convex Dashboard Web UI",
|
|
18
|
+
exposed: true,
|
|
19
|
+
},
|
|
20
|
+
],
|
|
21
|
+
volumes: [],
|
|
22
|
+
environment: [
|
|
23
|
+
{
|
|
24
|
+
key: "NEXT_PUBLIC_DEPLOYMENT_URL",
|
|
25
|
+
defaultValue: "http://convex:3210",
|
|
26
|
+
secret: false,
|
|
27
|
+
description: "URL of the Convex backend (use Docker service name)",
|
|
28
|
+
required: true,
|
|
29
|
+
},
|
|
30
|
+
],
|
|
31
|
+
dependsOn: ["convex"],
|
|
32
|
+
restartPolicy: "unless-stopped",
|
|
33
|
+
networks: ["openclaw-network"],
|
|
34
|
+
|
|
35
|
+
skills: [],
|
|
36
|
+
openclawEnvVars: [],
|
|
37
|
+
|
|
38
|
+
docsUrl: "https://github.com/get-convex/convex-backend",
|
|
39
|
+
tags: ["convex", "dashboard", "admin", "database-ui"],
|
|
40
|
+
maturity: "stable",
|
|
41
|
+
|
|
42
|
+
requires: ["convex"],
|
|
43
|
+
recommends: [],
|
|
44
|
+
conflictsWith: [],
|
|
45
|
+
|
|
46
|
+
minMemoryMB: 128,
|
|
47
|
+
gpuRequired: false,
|
|
48
|
+
};
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import type { ServiceDefinition } from "../../types.js";
|
|
2
|
+
|
|
3
|
+
export const convexDefinition: ServiceDefinition = {
|
|
4
|
+
id: "convex",
|
|
5
|
+
name: "Convex",
|
|
6
|
+
description:
|
|
7
|
+
"Self-hosted Convex reactive backend. Real-time database, server functions, and file storage in a single service. Required by Mission Control.",
|
|
8
|
+
category: "database",
|
|
9
|
+
icon: "⚡",
|
|
10
|
+
|
|
11
|
+
image: "ghcr.io/get-convex/convex-backend",
|
|
12
|
+
imageTag: "latest",
|
|
13
|
+
ports: [
|
|
14
|
+
{
|
|
15
|
+
host: 3210,
|
|
16
|
+
container: 3210,
|
|
17
|
+
description: "Convex API (client connections & CLI)",
|
|
18
|
+
exposed: true,
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
host: 3211,
|
|
22
|
+
container: 3211,
|
|
23
|
+
description: "Convex HTTP actions / site proxy",
|
|
24
|
+
exposed: true,
|
|
25
|
+
},
|
|
26
|
+
],
|
|
27
|
+
volumes: [
|
|
28
|
+
{
|
|
29
|
+
name: "convex-data",
|
|
30
|
+
containerPath: "/convex/data",
|
|
31
|
+
description: "Convex data directory (SQLite by default)",
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
environment: [
|
|
35
|
+
{
|
|
36
|
+
key: "CONVEX_CLOUD_ORIGIN",
|
|
37
|
+
defaultValue: "http://127.0.0.1:3210",
|
|
38
|
+
secret: false,
|
|
39
|
+
description: "Public URL for the Convex API endpoint",
|
|
40
|
+
required: true,
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
key: "CONVEX_SITE_ORIGIN",
|
|
44
|
+
defaultValue: "http://127.0.0.1:3211",
|
|
45
|
+
secret: false,
|
|
46
|
+
description: "Public URL for Convex HTTP actions",
|
|
47
|
+
required: true,
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
key: "INSTANCE_NAME",
|
|
51
|
+
defaultValue: "openclaw-convex",
|
|
52
|
+
secret: false,
|
|
53
|
+
description: "Instance name for this Convex deployment",
|
|
54
|
+
required: false,
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
key: "INSTANCE_SECRET",
|
|
58
|
+
defaultValue: "",
|
|
59
|
+
secret: true,
|
|
60
|
+
description: "Instance secret (generate a random value for production)",
|
|
61
|
+
required: false,
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
key: "DATABASE_URL",
|
|
65
|
+
defaultValue: "",
|
|
66
|
+
secret: true,
|
|
67
|
+
description:
|
|
68
|
+
"Optional Postgres connection string for production (leave empty to use SQLite)",
|
|
69
|
+
required: false,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
key: "RUST_LOG",
|
|
73
|
+
defaultValue: "info",
|
|
74
|
+
secret: false,
|
|
75
|
+
description: "Log level for the Convex backend (debug, info, warn, error)",
|
|
76
|
+
required: false,
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
key: "DISABLE_BEACON",
|
|
80
|
+
defaultValue: "",
|
|
81
|
+
secret: false,
|
|
82
|
+
description: "Set to any value to disable anonymous usage telemetry",
|
|
83
|
+
required: false,
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
key: "CONVEX_SELF_HOSTED_ADMIN_KEY",
|
|
87
|
+
defaultValue: "",
|
|
88
|
+
secret: true,
|
|
89
|
+
description:
|
|
90
|
+
"Admin key for CLI access. Generate with: docker compose exec convex ./generate_admin_key.sh",
|
|
91
|
+
required: false,
|
|
92
|
+
},
|
|
93
|
+
],
|
|
94
|
+
healthcheck: {
|
|
95
|
+
test: "curl -f http://localhost:3210/version",
|
|
96
|
+
interval: "5s",
|
|
97
|
+
timeout: "5s",
|
|
98
|
+
retries: 5,
|
|
99
|
+
startPeriod: "10s",
|
|
100
|
+
},
|
|
101
|
+
dependsOn: [],
|
|
102
|
+
restartPolicy: "unless-stopped",
|
|
103
|
+
networks: ["openclaw-network"],
|
|
104
|
+
|
|
105
|
+
skills: [],
|
|
106
|
+
openclawEnvVars: [],
|
|
107
|
+
|
|
108
|
+
docsUrl: "https://github.com/get-convex/convex-backend",
|
|
109
|
+
selfHostedDocsUrl:
|
|
110
|
+
"https://github.com/get-convex/convex-backend/blob/main/self-hosted/README.md",
|
|
111
|
+
tags: ["convex", "database", "reactive", "real-time", "backend", "self-hosted"],
|
|
112
|
+
maturity: "stable",
|
|
113
|
+
|
|
114
|
+
requires: [],
|
|
115
|
+
recommends: ["convex-dashboard"],
|
|
116
|
+
conflictsWith: [],
|
|
117
|
+
mandatory: true,
|
|
118
|
+
removalWarning:
|
|
119
|
+
"Convex is the backend for Mission Control. Without it, Mission Control will not be able to store or retrieve any data and will be completely non-functional.",
|
|
120
|
+
|
|
121
|
+
minMemoryMB: 256,
|
|
122
|
+
gpuRequired: false,
|
|
123
|
+
};
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import type { ServiceDefinition } from "../../types.js";
|
|
2
|
+
|
|
3
|
+
export const desktopEnvironmentDefinition: ServiceDefinition = {
|
|
4
|
+
id: "desktop-environment",
|
|
5
|
+
name: "Desktop Environment",
|
|
6
|
+
description:
|
|
7
|
+
"Isolated KasmVNC-based Linux desktop that gives AI agents full computer-use capabilities — screen vision, mouse/keyboard control, file management, and application launching (VS Code, Chrome, Firefox). OBS Studio is pre-installed for optional recording or live-streaming.",
|
|
8
|
+
category: "desktop",
|
|
9
|
+
icon: "🖥️",
|
|
10
|
+
|
|
11
|
+
image: "kasmweb/core-ubuntu-jammy",
|
|
12
|
+
imageTag: "1.16.0",
|
|
13
|
+
ports: [
|
|
14
|
+
{
|
|
15
|
+
host: 6901,
|
|
16
|
+
container: 6901,
|
|
17
|
+
description: "KasmVNC web interface (browser-based desktop access)",
|
|
18
|
+
exposed: true,
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
host: 5900,
|
|
22
|
+
container: 5900,
|
|
23
|
+
description: "VNC protocol port (native VNC clients)",
|
|
24
|
+
exposed: false,
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
host: 4455,
|
|
28
|
+
container: 4455,
|
|
29
|
+
description: "OBS WebSocket control port (when OBS is running)",
|
|
30
|
+
exposed: false,
|
|
31
|
+
},
|
|
32
|
+
],
|
|
33
|
+
volumes: [
|
|
34
|
+
{
|
|
35
|
+
name: "desktop-config",
|
|
36
|
+
containerPath: "/home/kasm-user",
|
|
37
|
+
description: "Desktop user home with config persistence",
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
name: "desktop-workspace",
|
|
41
|
+
containerPath: "/home/kasm-user/workspace",
|
|
42
|
+
description: "Shared workspace directory for files and projects",
|
|
43
|
+
},
|
|
44
|
+
],
|
|
45
|
+
environment: [
|
|
46
|
+
{
|
|
47
|
+
key: "VNC_PW",
|
|
48
|
+
defaultValue: "changeme",
|
|
49
|
+
secret: true,
|
|
50
|
+
description: "Password for VNC / KasmVNC web access",
|
|
51
|
+
required: true,
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
key: "VNC_RESOLUTION",
|
|
55
|
+
defaultValue: "1920x1080",
|
|
56
|
+
secret: false,
|
|
57
|
+
description: "Desktop screen resolution (WidthxHeight)",
|
|
58
|
+
required: false,
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
key: "SSL_VNC_ONLY",
|
|
62
|
+
defaultValue: "false",
|
|
63
|
+
secret: false,
|
|
64
|
+
description:
|
|
65
|
+
"When false, allows HTTP/WS connections without SSL (useful for local/Docker networking)",
|
|
66
|
+
required: false,
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
key: "OBS_WS_PORT",
|
|
70
|
+
defaultValue: "4455",
|
|
71
|
+
secret: false,
|
|
72
|
+
description: "OBS WebSocket port (used when OBS is launched manually)",
|
|
73
|
+
required: false,
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
key: "OBS_PASSWORD",
|
|
77
|
+
defaultValue: "changeme",
|
|
78
|
+
secret: true,
|
|
79
|
+
description: "OBS WebSocket password (used when OBS is launched manually)",
|
|
80
|
+
required: false,
|
|
81
|
+
},
|
|
82
|
+
],
|
|
83
|
+
healthcheck: {
|
|
84
|
+
test: "curl -sfk https://localhost:6901/ > /dev/null || curl -sf http://localhost:6901/ > /dev/null || exit 1",
|
|
85
|
+
interval: "10s",
|
|
86
|
+
timeout: "10s",
|
|
87
|
+
retries: 6,
|
|
88
|
+
startPeriod: "60s",
|
|
89
|
+
},
|
|
90
|
+
dependsOn: [],
|
|
91
|
+
restartPolicy: "unless-stopped",
|
|
92
|
+
networks: ["openclaw-network"],
|
|
93
|
+
|
|
94
|
+
deploy: {
|
|
95
|
+
resources: {
|
|
96
|
+
limits: { cpus: "4.0", memory: "8G" },
|
|
97
|
+
reservations: { cpus: "2.0", memory: "4G" },
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
|
|
101
|
+
skills: [{ skillId: "desktop-use", autoInstall: true }],
|
|
102
|
+
openclawEnvVars: [
|
|
103
|
+
{
|
|
104
|
+
key: "DESKTOP_HOST",
|
|
105
|
+
defaultValue: "desktop-environment",
|
|
106
|
+
secret: false,
|
|
107
|
+
description: "Hostname of the desktop-environment container",
|
|
108
|
+
required: true,
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
key: "DESKTOP_VNC_PORT",
|
|
112
|
+
defaultValue: "6901",
|
|
113
|
+
secret: false,
|
|
114
|
+
description: "KasmVNC web port",
|
|
115
|
+
required: true,
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
key: "DESKTOP_VNC_PASSWORD",
|
|
119
|
+
defaultValue: "${VNC_PW}",
|
|
120
|
+
secret: true,
|
|
121
|
+
description: "VNC password (references service password)",
|
|
122
|
+
required: true,
|
|
123
|
+
},
|
|
124
|
+
],
|
|
125
|
+
|
|
126
|
+
docsUrl: "https://www.kasmweb.com/docs/latest/index.html",
|
|
127
|
+
tags: [
|
|
128
|
+
"computer-use",
|
|
129
|
+
"vnc",
|
|
130
|
+
"desktop",
|
|
131
|
+
"screen-capture",
|
|
132
|
+
"automation",
|
|
133
|
+
"obs",
|
|
134
|
+
"kasm",
|
|
135
|
+
],
|
|
136
|
+
maturity: "experimental",
|
|
137
|
+
|
|
138
|
+
requires: [],
|
|
139
|
+
recommends: ["stream-gateway"],
|
|
140
|
+
conflictsWith: [],
|
|
141
|
+
|
|
142
|
+
removalWarning:
|
|
143
|
+
"⚠️ HEAVY RESOURCE USAGE: The desktop environment requires at least 4 GB RAM (8 GB recommended) and 2+ CPU cores. It runs a full Linux desktop with XFCE inside KasmVNC. OBS Studio is pre-installed but NOT auto-started — launch it manually or via agent tools when needed. Ensure your deployment target can handle these resources alongside other services.",
|
|
144
|
+
minMemoryMB: 4096,
|
|
145
|
+
gpuRequired: false,
|
|
146
|
+
|
|
147
|
+
nativeSupported: true,
|
|
148
|
+
nativeRecipes: [
|
|
149
|
+
{
|
|
150
|
+
platform: "linux",
|
|
151
|
+
installSteps: [
|
|
152
|
+
"command -v Xvfb >/dev/null 2>&1 || (command -v apt-get >/dev/null 2>&1 && sudo apt-get update -qq && sudo apt-get install -y -qq xvfb xfce4 xfce4-terminal tigervnc-standalone-server scrot xdotool xclip)",
|
|
153
|
+
"command -v obs >/dev/null 2>&1 || (sudo add-apt-repository -y ppa:obsproject/obs-studio && sudo apt-get update -qq && sudo apt-get install -y -qq obs-studio)",
|
|
154
|
+
],
|
|
155
|
+
startCommand:
|
|
156
|
+
"vncserver :1 -geometry 1920x1080 -depth 24 -localhost no 2>/dev/null || Xvfb :1 -screen 0 1920x1080x24 &",
|
|
157
|
+
stopCommand: "vncserver -kill :1 2>/dev/null; killall Xvfb 2>/dev/null",
|
|
158
|
+
configPath: "/etc/vnc/xstartup",
|
|
159
|
+
configTemplate:
|
|
160
|
+
"#!/bin/sh\n# Generated for OpenClaw bare-metal desktop\nexport DISPLAY=:1\nstartxfce4 &\n",
|
|
161
|
+
},
|
|
162
|
+
],
|
|
163
|
+
};
|
|
@@ -6,8 +6,12 @@ export { caddyDefinition } from "./caddy.js";
|
|
|
6
6
|
export { chromadbDefinition } from "./chromadb.js";
|
|
7
7
|
export { claudeCodeDefinition } from "./claude-code.js";
|
|
8
8
|
export { codeServerDefinition } from "./code-server.js";
|
|
9
|
+
export { comfyuiDefinition } from "./comfyui.js";
|
|
10
|
+
export { convexDefinition } from "./convex.js";
|
|
11
|
+
export { convexDashboardDefinition } from "./convex-dashboard.js";
|
|
9
12
|
export { codexDefinition } from "./codex.js";
|
|
10
13
|
export { coolifyDefinition } from "./coolify.js";
|
|
14
|
+
export { desktopEnvironmentDefinition } from "./desktop-environment.js";
|
|
11
15
|
export { difyDefinition } from "./dify.js";
|
|
12
16
|
export { docsgptDefinition } from "./docsgpt.js";
|
|
13
17
|
export { dokployDefinition } from "./dokploy.js";
|
|
@@ -30,6 +34,7 @@ export { matomoDefinition } from "./matomo.js";
|
|
|
30
34
|
export { matrixSynapseDefinition } from "./matrix-synapse.js";
|
|
31
35
|
export { mattermostDefinition } from "./mattermost.js";
|
|
32
36
|
export { meilisearchDefinition } from "./meilisearch.js";
|
|
37
|
+
export { missionControlDefinition } from "./mission-control.js";
|
|
33
38
|
export { minioDefinition } from "./minio.js";
|
|
34
39
|
export { mixpostDefinition } from "./mixpost.js";
|
|
35
40
|
export { motionCanvasDefinition } from "./motion-canvas.js";
|
|
@@ -54,10 +59,12 @@ export { rocketchatDefinition } from "./rocketchat.js";
|
|
|
54
59
|
export { searxngDefinition } from "./searxng.js";
|
|
55
60
|
export { stableDiffusionDefinition } from "./stable-diffusion.js";
|
|
56
61
|
export { steelBrowserDefinition } from "./steel-browser.js";
|
|
62
|
+
export { streamGatewayDefinition } from "./stream-gateway.js";
|
|
57
63
|
export { tailscaleDefinition } from "./tailscale.js";
|
|
58
64
|
export { temporalDefinition } from "./temporal.js";
|
|
59
65
|
export { traefikDefinition } from "./traefik.js";
|
|
60
66
|
export { umamiDefinition } from "./umami.js";
|
|
67
|
+
export { usesendDefinition } from "./usesend.js";
|
|
61
68
|
export { uptimeKumaDefinition } from "./uptime-kuma.js";
|
|
62
69
|
export { valkeyDefinition } from "./valkey.js";
|
|
63
70
|
export { watchtowerDefinition } from "./watchtower.js";
|
|
@@ -73,8 +80,12 @@ import { caddyDefinition } from "./caddy.js";
|
|
|
73
80
|
import { chromadbDefinition } from "./chromadb.js";
|
|
74
81
|
import { claudeCodeDefinition } from "./claude-code.js";
|
|
75
82
|
import { codeServerDefinition } from "./code-server.js";
|
|
83
|
+
import { comfyuiDefinition } from "./comfyui.js";
|
|
84
|
+
import { convexDefinition } from "./convex.js";
|
|
85
|
+
import { convexDashboardDefinition } from "./convex-dashboard.js";
|
|
76
86
|
import { codexDefinition } from "./codex.js";
|
|
77
87
|
import { coolifyDefinition } from "./coolify.js";
|
|
88
|
+
import { desktopEnvironmentDefinition } from "./desktop-environment.js";
|
|
78
89
|
import { difyDefinition } from "./dify.js";
|
|
79
90
|
import { docsgptDefinition } from "./docsgpt.js";
|
|
80
91
|
import { dokployDefinition } from "./dokploy.js";
|
|
@@ -97,6 +108,7 @@ import { matomoDefinition } from "./matomo.js";
|
|
|
97
108
|
import { matrixSynapseDefinition } from "./matrix-synapse.js";
|
|
98
109
|
import { mattermostDefinition } from "./mattermost.js";
|
|
99
110
|
import { meilisearchDefinition } from "./meilisearch.js";
|
|
111
|
+
import { missionControlDefinition } from "./mission-control.js";
|
|
100
112
|
import { minioDefinition } from "./minio.js";
|
|
101
113
|
import { mixpostDefinition } from "./mixpost.js";
|
|
102
114
|
import { motionCanvasDefinition } from "./motion-canvas.js";
|
|
@@ -121,10 +133,12 @@ import { rocketchatDefinition } from "./rocketchat.js";
|
|
|
121
133
|
import { searxngDefinition } from "./searxng.js";
|
|
122
134
|
import { stableDiffusionDefinition } from "./stable-diffusion.js";
|
|
123
135
|
import { steelBrowserDefinition } from "./steel-browser.js";
|
|
136
|
+
import { streamGatewayDefinition } from "./stream-gateway.js";
|
|
124
137
|
import { tailscaleDefinition } from "./tailscale.js";
|
|
125
138
|
import { temporalDefinition } from "./temporal.js";
|
|
126
139
|
import { traefikDefinition } from "./traefik.js";
|
|
127
140
|
import { umamiDefinition } from "./umami.js";
|
|
141
|
+
import { usesendDefinition } from "./usesend.js";
|
|
128
142
|
import { uptimeKumaDefinition } from "./uptime-kuma.js";
|
|
129
143
|
import { valkeyDefinition } from "./valkey.js";
|
|
130
144
|
import { watchtowerDefinition } from "./watchtower.js";
|
|
@@ -165,6 +179,7 @@ export const allServiceDefinitions: ServiceDefinition[] = [
|
|
|
165
179
|
rocketchatDefinition,
|
|
166
180
|
mattermostDefinition,
|
|
167
181
|
stableDiffusionDefinition,
|
|
182
|
+
comfyuiDefinition,
|
|
168
183
|
playwrightServerDefinition,
|
|
169
184
|
openWebuiDefinition,
|
|
170
185
|
librechatDefinition,
|
|
@@ -178,6 +193,8 @@ export const allServiceDefinitions: ServiceDefinition[] = [
|
|
|
178
193
|
watchtowerDefinition,
|
|
179
194
|
dozzleDefinition,
|
|
180
195
|
beszelDefinition,
|
|
196
|
+
convexDefinition,
|
|
197
|
+
convexDashboardDefinition,
|
|
181
198
|
claudeCodeDefinition,
|
|
182
199
|
opencodeDefinition,
|
|
183
200
|
codexDefinition,
|
|
@@ -187,6 +204,8 @@ export const allServiceDefinitions: ServiceDefinition[] = [
|
|
|
187
204
|
mixpostDefinition,
|
|
188
205
|
matomoDefinition,
|
|
189
206
|
umamiDefinition,
|
|
207
|
+
usesendDefinition,
|
|
208
|
+
missionControlDefinition,
|
|
190
209
|
openpanelDefinition,
|
|
191
210
|
lightpandaDefinition,
|
|
192
211
|
steelBrowserDefinition,
|
|
@@ -197,4 +216,6 @@ export const allServiceDefinitions: ServiceDefinition[] = [
|
|
|
197
216
|
lasuiteMeetBackendDefinition,
|
|
198
217
|
lasuiteMeetFrontendDefinition,
|
|
199
218
|
lasuiteMeetAgentsDefinition,
|
|
219
|
+
desktopEnvironmentDefinition,
|
|
220
|
+
streamGatewayDefinition,
|
|
200
221
|
];
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import type { ServiceDefinition } from "../../types.js";
|
|
2
|
+
|
|
3
|
+
export const missionControlDefinition: ServiceDefinition = {
|
|
4
|
+
id: "mission-control",
|
|
5
|
+
name: "Mission Control",
|
|
6
|
+
description:
|
|
7
|
+
"Real-time agent oversight dashboard for OpenClaw. Kanban task board, live activity feed, document browser, and message threads — powered by Convex.",
|
|
8
|
+
category: "dev-tools",
|
|
9
|
+
icon: "🛸",
|
|
10
|
+
|
|
11
|
+
image: "ghcr.io/bidewio/mission-control",
|
|
12
|
+
imageTag: "latest",
|
|
13
|
+
ports: [
|
|
14
|
+
{
|
|
15
|
+
host: 3660,
|
|
16
|
+
container: 3660,
|
|
17
|
+
description: "Mission Control Web UI",
|
|
18
|
+
exposed: true,
|
|
19
|
+
},
|
|
20
|
+
],
|
|
21
|
+
volumes: [],
|
|
22
|
+
environment: [
|
|
23
|
+
{
|
|
24
|
+
key: "VITE_CONVEX_URL",
|
|
25
|
+
defaultValue: "http://127.0.0.1:3210",
|
|
26
|
+
secret: false,
|
|
27
|
+
description:
|
|
28
|
+
"Convex backend URL as seen from the browser (build-time, embedded in JS bundle)",
|
|
29
|
+
required: true,
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
key: "CONVEX_SELF_HOSTED_URL",
|
|
33
|
+
defaultValue: "http://convex:3210",
|
|
34
|
+
secret: false,
|
|
35
|
+
description:
|
|
36
|
+
"Internal Docker URL for pushing Convex functions during build",
|
|
37
|
+
required: true,
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
key: "CONVEX_SELF_HOSTED_ADMIN_KEY",
|
|
41
|
+
defaultValue: "",
|
|
42
|
+
secret: true,
|
|
43
|
+
description:
|
|
44
|
+
"Admin key for the self-hosted Convex backend. Generate with: docker compose exec convex ./generate_admin_key.sh",
|
|
45
|
+
required: true,
|
|
46
|
+
},
|
|
47
|
+
],
|
|
48
|
+
dependsOn: ["convex"],
|
|
49
|
+
restartPolicy: "unless-stopped",
|
|
50
|
+
networks: ["openclaw-network"],
|
|
51
|
+
|
|
52
|
+
skills: [],
|
|
53
|
+
openclawEnvVars: [],
|
|
54
|
+
|
|
55
|
+
docsUrl:
|
|
56
|
+
"https://github.com/bidewio/better-openclaw/tree/main/packages/mission-control",
|
|
57
|
+
selfHostedDocsUrl:
|
|
58
|
+
"https://github.com/bidewio/better-openclaw/tree/main/packages/mission-control",
|
|
59
|
+
tags: ["openclaw", "dashboard", "monitoring", "agents", "analytics", "convex"],
|
|
60
|
+
maturity: "stable",
|
|
61
|
+
|
|
62
|
+
requires: ["convex"],
|
|
63
|
+
recommends: ["convex-dashboard"],
|
|
64
|
+
conflictsWith: [],
|
|
65
|
+
mandatory: true,
|
|
66
|
+
removalWarning:
|
|
67
|
+
"Mission Control is the primary dashboard for monitoring your OpenClaw agents. Removing it will eliminate real-time agent oversight, task management, and activity tracking.",
|
|
68
|
+
|
|
69
|
+
minMemoryMB: 128,
|
|
70
|
+
gpuRequired: false,
|
|
71
|
+
};
|