@better-openclaw/core 1.0.14 → 1.0.16

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.
Files changed (83) hide show
  1. package/dist/{manifest-BjK4ALvr.mjs → manifest-B8UDsVlR.mjs} +39 -13
  2. package/dist/manifest-B8UDsVlR.mjs.map +1 -0
  3. package/dist/resolver.mjs.map +1 -1
  4. package/dist/services/definitions/authentik.d.mts +7 -0
  5. package/dist/services/definitions/authentik.d.mts.map +1 -0
  6. package/dist/services/definitions/authentik.mjs +105 -0
  7. package/dist/services/definitions/authentik.mjs.map +1 -0
  8. package/dist/services/definitions/crowdsec.d.mts +7 -0
  9. package/dist/services/definitions/crowdsec.d.mts.map +1 -0
  10. package/dist/services/definitions/crowdsec.mjs +62 -0
  11. package/dist/services/definitions/crowdsec.mjs.map +1 -0
  12. package/dist/services/definitions/ghost.d.mts +7 -0
  13. package/dist/services/definitions/ghost.d.mts.map +1 -0
  14. package/dist/services/definitions/ghost.mjs +58 -0
  15. package/dist/services/definitions/ghost.mjs.map +1 -0
  16. package/dist/services/definitions/headscale.d.mts +7 -0
  17. package/dist/services/definitions/headscale.d.mts.map +1 -0
  18. package/dist/services/definitions/headscale.mjs +71 -0
  19. package/dist/services/definitions/headscale.mjs.map +1 -0
  20. package/dist/services/definitions/homeassistant.d.mts +7 -0
  21. package/dist/services/definitions/homeassistant.d.mts.map +1 -0
  22. package/dist/services/definitions/homeassistant.mjs +61 -0
  23. package/dist/services/definitions/homeassistant.mjs.map +1 -0
  24. package/dist/services/definitions/immich.d.mts +7 -0
  25. package/dist/services/definitions/immich.d.mts.map +1 -0
  26. package/dist/services/definitions/immich.mjs +92 -0
  27. package/dist/services/definitions/immich.mjs.map +1 -0
  28. package/dist/services/definitions/index.d.mts +15 -1
  29. package/dist/services/definitions/index.d.mts.map +1 -1
  30. package/dist/services/definitions/index.mjs +30 -2
  31. package/dist/services/definitions/index.mjs.map +1 -1
  32. package/dist/services/definitions/jellyfin.d.mts +7 -0
  33. package/dist/services/definitions/jellyfin.d.mts.map +1 -0
  34. package/dist/services/definitions/jellyfin.mjs +62 -0
  35. package/dist/services/definitions/jellyfin.mjs.map +1 -0
  36. package/dist/services/definitions/jenkins.d.mts +7 -0
  37. package/dist/services/definitions/jenkins.d.mts.map +1 -0
  38. package/dist/services/definitions/jenkins.mjs +62 -0
  39. package/dist/services/definitions/jenkins.mjs.map +1 -0
  40. package/dist/services/definitions/loki.d.mts +7 -0
  41. package/dist/services/definitions/loki.d.mts.map +1 -0
  42. package/dist/services/definitions/loki.mjs +51 -0
  43. package/dist/services/definitions/loki.mjs.map +1 -0
  44. package/dist/services/definitions/milvus.d.mts +7 -0
  45. package/dist/services/definitions/milvus.d.mts.map +1 -0
  46. package/dist/services/definitions/milvus.mjs +75 -0
  47. package/dist/services/definitions/milvus.mjs.map +1 -0
  48. package/dist/services/definitions/nextcloud.d.mts +7 -0
  49. package/dist/services/definitions/nextcloud.d.mts.map +1 -0
  50. package/dist/services/definitions/nextcloud.mjs +80 -0
  51. package/dist/services/definitions/nextcloud.mjs.map +1 -0
  52. package/dist/services/definitions/signoz.d.mts +7 -0
  53. package/dist/services/definitions/signoz.d.mts.map +1 -0
  54. package/dist/services/definitions/signoz.mjs +54 -0
  55. package/dist/services/definitions/signoz.mjs.map +1 -0
  56. package/dist/services/definitions/supabase.d.mts +7 -0
  57. package/dist/services/definitions/supabase.d.mts.map +1 -0
  58. package/dist/services/definitions/supabase.mjs +69 -0
  59. package/dist/services/definitions/supabase.mjs.map +1 -0
  60. package/dist/services/definitions/vaultwarden.d.mts +7 -0
  61. package/dist/services/definitions/vaultwarden.d.mts.map +1 -0
  62. package/dist/services/definitions/vaultwarden.mjs +63 -0
  63. package/dist/services/definitions/vaultwarden.mjs.map +1 -0
  64. package/dist/skills/skill-manifest.mjs +1 -1
  65. package/package.json +1 -1
  66. package/src/resolver.ts +10 -10
  67. package/src/services/definitions/authentik.ts +106 -0
  68. package/src/services/definitions/crowdsec.ts +66 -0
  69. package/src/services/definitions/ghost.ts +60 -0
  70. package/src/services/definitions/headscale.ts +72 -0
  71. package/src/services/definitions/homeassistant.ts +65 -0
  72. package/src/services/definitions/immich.ts +93 -0
  73. package/src/services/definitions/index.ts +42 -0
  74. package/src/services/definitions/jellyfin.ts +66 -0
  75. package/src/services/definitions/jenkins.ts +67 -0
  76. package/src/services/definitions/loki.ts +53 -0
  77. package/src/services/definitions/milvus.ts +84 -0
  78. package/src/services/definitions/nextcloud.ts +81 -0
  79. package/src/services/definitions/signoz.ts +54 -0
  80. package/src/services/definitions/supabase.ts +73 -0
  81. package/src/services/definitions/vaultwarden.ts +68 -0
  82. package/src/skills/manifest.json +63 -12
  83. package/dist/manifest-BjK4ALvr.mjs.map +0 -1
@@ -0,0 +1,53 @@
1
+ import type { ServiceDefinition } from "../../types.js";
2
+
3
+ export const lokiDefinition: ServiceDefinition = {
4
+ id: "loki",
5
+ name: "Loki",
6
+ description:
7
+ "Like Prometheus, but for logs. A highly available, multi-tenant log aggregation system.",
8
+ category: "monitoring",
9
+ icon: "🪵",
10
+
11
+ image: "grafana/loki",
12
+ imageTag: "latest",
13
+ ports: [
14
+ {
15
+ host: 3100,
16
+ container: 3100,
17
+ description: "Loki HTTP API interface",
18
+ exposed: true,
19
+ },
20
+ ],
21
+ volumes: [
22
+ {
23
+ name: "loki_data",
24
+ containerPath: "/loki",
25
+ description: "Loki logs and chunks storage",
26
+ },
27
+ ],
28
+ environment: [],
29
+ healthcheck: {
30
+ test: "wget -q --spider http://localhost:3100/ready || exit 1",
31
+ interval: "30s",
32
+ timeout: "10s",
33
+ retries: 3,
34
+ startPeriod: "15s",
35
+ },
36
+ dependsOn: [],
37
+ restartPolicy: "unless-stopped",
38
+ networks: ["openclaw-network"],
39
+
40
+ skills: [],
41
+ openclawEnvVars: [],
42
+
43
+ docsUrl: "https://grafana.com/docs/loki/latest/",
44
+ tags: ["logs", "aggregation", "observability", "grafana"],
45
+ maturity: "stable",
46
+
47
+ requires: [],
48
+ recommends: ["grafana", "prometheus"],
49
+ conflictsWith: [],
50
+
51
+ minMemoryMB: 512,
52
+ gpuRequired: false,
53
+ };
@@ -0,0 +1,84 @@
1
+ import type { ServiceDefinition } from "../../types.js";
2
+
3
+ export const milvusDefinition: ServiceDefinition = {
4
+ id: "milvus",
5
+ name: "Milvus",
6
+ description:
7
+ "Open-source vector database built for scalable similarity search and AI applications.",
8
+ category: "vector-db",
9
+ icon: "🗄️",
10
+
11
+ image: "milvusdb/milvus",
12
+ imageTag: "latest",
13
+ command: "milvus run standalone",
14
+ ports: [
15
+ {
16
+ host: 19530,
17
+ container: 19530,
18
+ description: "Milvus gRPC/REST API",
19
+ exposed: true,
20
+ },
21
+ {
22
+ host: 9091,
23
+ container: 9091,
24
+ description: "Milvus Management/Prometheus Metrics",
25
+ exposed: false,
26
+ },
27
+ ],
28
+ volumes: [
29
+ {
30
+ name: "milvus_volumes",
31
+ containerPath: "/var/lib/milvus",
32
+ description: "Milvus persistent data storage",
33
+ },
34
+ ],
35
+ environment: [
36
+ {
37
+ key: "ETCD_ENDPOINTS",
38
+ defaultValue: "etcd:2379",
39
+ secret: false,
40
+ description:
41
+ "etcd endpoints (standalone uses local if not provided, but explicit is better if split)",
42
+ required: false, // Standalone defaults handles this, but good practice to show
43
+ },
44
+ {
45
+ key: "MINIO_ADDRESS",
46
+ defaultValue: "minio:9000",
47
+ secret: false,
48
+ description: "MinIO endpoint for object storage",
49
+ required: false,
50
+ },
51
+ ],
52
+ healthcheck: {
53
+ test: "curl -f http://localhost:9091/healthz || exit 1",
54
+ interval: "30s",
55
+ timeout: "20s",
56
+ retries: 3,
57
+ startPeriod: "60s",
58
+ },
59
+ dependsOn: [],
60
+ restartPolicy: "unless-stopped",
61
+ networks: ["openclaw-network"],
62
+
63
+ skills: [],
64
+ openclawEnvVars: [
65
+ {
66
+ key: "MILVUS_URI",
67
+ defaultValue: "http://milvus:19530",
68
+ secret: false,
69
+ description: "Milvus connection URI for OpenClaw",
70
+ required: true,
71
+ },
72
+ ],
73
+
74
+ docsUrl: "https://milvus.io/docs",
75
+ tags: ["vector-db", "similarity-search", "embeddings", "ai"],
76
+ maturity: "stable",
77
+
78
+ requires: [],
79
+ recommends: [],
80
+ conflictsWith: [],
81
+
82
+ minMemoryMB: 2048,
83
+ gpuRequired: false,
84
+ };
@@ -0,0 +1,81 @@
1
+ import type { ServiceDefinition } from "../../types.js";
2
+
3
+ export const nextcloudDefinition: ServiceDefinition = {
4
+ id: "nextcloud",
5
+ name: "Nextcloud",
6
+ description: "Self-hosted productivity platform that keeps you in control.",
7
+ category: "storage",
8
+ icon: "☁️",
9
+
10
+ image: "nextcloud",
11
+ imageTag: "latest",
12
+ ports: [
13
+ {
14
+ host: 8080,
15
+ container: 80,
16
+ description: "Nextcloud Web Interface",
17
+ exposed: true,
18
+ },
19
+ ],
20
+ volumes: [
21
+ {
22
+ name: "nextcloud_data",
23
+ containerPath: "/var/www/html",
24
+ description: "Persistent Nextcloud data storage",
25
+ },
26
+ ],
27
+ environment: [
28
+ {
29
+ key: "MYSQL_DATABASE",
30
+ defaultValue: "nextcloud",
31
+ secret: false,
32
+ description: "Database name",
33
+ required: false,
34
+ },
35
+ {
36
+ key: "MYSQL_USER",
37
+ defaultValue: "nextcloud",
38
+ secret: false,
39
+ description: "Database user",
40
+ required: false,
41
+ },
42
+ {
43
+ key: "MYSQL_PASSWORD",
44
+ defaultValue: "nextcloud_secret",
45
+ secret: true,
46
+ description: "Database password",
47
+ required: false,
48
+ },
49
+ {
50
+ key: "MYSQL_HOST",
51
+ defaultValue: "postgres",
52
+ secret: false,
53
+ description: "Database hostname",
54
+ required: false,
55
+ },
56
+ ],
57
+ healthcheck: {
58
+ test: "curl --fail http://localhost:80/status.php || exit 1",
59
+ interval: "30s",
60
+ timeout: "10s",
61
+ retries: 3,
62
+ startPeriod: "30s",
63
+ },
64
+ dependsOn: ["postgresql"],
65
+ restartPolicy: "unless-stopped",
66
+ networks: ["openclaw-network"],
67
+
68
+ skills: [],
69
+ openclawEnvVars: [],
70
+
71
+ docsUrl: "https://nextcloud.com/",
72
+ tags: ["storage", "cloud", "productivity", "collaboration"],
73
+ maturity: "stable",
74
+
75
+ requires: [],
76
+ recommends: ["postgresql"],
77
+ conflictsWith: [],
78
+
79
+ minMemoryMB: 512,
80
+ gpuRequired: false,
81
+ };
@@ -0,0 +1,54 @@
1
+ import type { ServiceDefinition } from "../../types.js";
2
+
3
+ export const signozDefinition: ServiceDefinition = {
4
+ id: "signoz",
5
+ name: "SigNoz",
6
+ description: "Open-source observability platform serving as a lighter alternative to DataDog.",
7
+ category: "monitoring",
8
+ icon: "📈",
9
+
10
+ image: "signoz/signoz-frontend",
11
+ imageTag: "latest",
12
+ ports: [
13
+ {
14
+ host: 3301,
15
+ container: 3301,
16
+ description: "SigNoz Web UI",
17
+ exposed: true,
18
+ },
19
+ ],
20
+ volumes: [],
21
+ environment: [
22
+ {
23
+ key: "FRONTEND_PUBLIC_TELEMETRY",
24
+ defaultValue: "false",
25
+ secret: false,
26
+ description: "Enable anonymized usage telemetry",
27
+ required: false,
28
+ },
29
+ ],
30
+ healthcheck: {
31
+ test: "wget -q --spider http://localhost:3301 || exit 1",
32
+ interval: "30s",
33
+ timeout: "10s",
34
+ retries: 3,
35
+ startPeriod: "15s",
36
+ },
37
+ dependsOn: [],
38
+ restartPolicy: "unless-stopped",
39
+ networks: ["openclaw-network"],
40
+
41
+ skills: [],
42
+ openclawEnvVars: [],
43
+
44
+ docsUrl: "https://signoz.io/docs/",
45
+ tags: ["observability", "metrics", "traces", "logs", "opentelemetry"],
46
+ maturity: "stable",
47
+
48
+ requires: [],
49
+ recommends: [],
50
+ conflictsWith: [],
51
+
52
+ minMemoryMB: 1024,
53
+ gpuRequired: false,
54
+ };
@@ -0,0 +1,73 @@
1
+ import type { ServiceDefinition } from "../../types.js";
2
+
3
+ export const supabaseDefinition: ServiceDefinition = {
4
+ id: "supabase",
5
+ name: "Supabase",
6
+ description: "The open source Firebase alternative. Build production-grade backends instantly.",
7
+ category: "database",
8
+ icon: "⚡",
9
+
10
+ image: "supabase/studio",
11
+ imageTag: "latest",
12
+ ports: [
13
+ {
14
+ host: 3000,
15
+ container: 3000,
16
+ description: "Supabase Studio Web Dashboard",
17
+ exposed: true,
18
+ },
19
+ {
20
+ host: 8000,
21
+ container: 8000,
22
+ description: "Supabase API Gateway",
23
+ exposed: true,
24
+ },
25
+ ],
26
+ volumes: [
27
+ {
28
+ name: "supabase_db",
29
+ containerPath: "/var/lib/postgresql/data",
30
+ description: "Supabase Postgres database storage",
31
+ },
32
+ ],
33
+ environment: [
34
+ {
35
+ key: "STUDIO_DEFAULT_ORGANIZATION",
36
+ defaultValue: "Default Organization",
37
+ secret: false,
38
+ description: "Default organization name",
39
+ required: false,
40
+ },
41
+ {
42
+ key: "STUDIO_DEFAULT_PROJECT",
43
+ defaultValue: "Default Project",
44
+ secret: false,
45
+ description: "Default project name",
46
+ required: false,
47
+ },
48
+ ],
49
+ healthcheck: {
50
+ test: "wget -q --spider http://localhost:3000/api/profile || exit 1",
51
+ interval: "30s",
52
+ timeout: "10s",
53
+ retries: 3,
54
+ startPeriod: "30s",
55
+ },
56
+ dependsOn: ["postgresql"],
57
+ restartPolicy: "unless-stopped",
58
+ networks: ["openclaw-network"],
59
+
60
+ skills: [],
61
+ openclawEnvVars: [],
62
+
63
+ docsUrl: "https://supabase.com/docs/guides/self-hosting",
64
+ tags: ["database", "auth", "storage", "realtime", "edge-functions"],
65
+ maturity: "stable",
66
+
67
+ requires: ["postgresql"],
68
+ recommends: [],
69
+ conflictsWith: [],
70
+
71
+ minMemoryMB: 2048,
72
+ gpuRequired: false,
73
+ };
@@ -0,0 +1,68 @@
1
+ import type { ServiceDefinition } from "../../types.js";
2
+
3
+ export const vaultwardenDefinition: ServiceDefinition = {
4
+ id: "vaultwarden",
5
+ name: "Vaultwarden",
6
+ description:
7
+ "Unofficial Bitwarden compatible server written in Rust, perfect for self-hosted deployments.",
8
+ category: "security",
9
+ icon: "🔐",
10
+
11
+ image: "vaultwarden/server",
12
+ imageTag: "latest",
13
+ ports: [
14
+ {
15
+ host: 80, // User should probably proxy this or change it to avoid conflicts
16
+ container: 80,
17
+ description: "Vaultwarden Web Interface / API",
18
+ exposed: true,
19
+ },
20
+ ],
21
+ volumes: [
22
+ {
23
+ name: "vaultwarden_data",
24
+ containerPath: "/data",
25
+ description: "Persistent Vaultwarden data storage",
26
+ },
27
+ ],
28
+ environment: [
29
+ {
30
+ key: "WEBSOCKET_ENABLED",
31
+ defaultValue: "true",
32
+ secret: false,
33
+ description: "Enable WebSocket notifications",
34
+ required: false,
35
+ },
36
+ {
37
+ key: "SIGNUPS_ALLOWED",
38
+ defaultValue: "true",
39
+ secret: false,
40
+ description: "Allow new user signups",
41
+ required: false,
42
+ },
43
+ ],
44
+ healthcheck: {
45
+ test: "curl --fail http://localhost:80/alive || exit 1",
46
+ interval: "30s",
47
+ timeout: "10s",
48
+ retries: 3,
49
+ startPeriod: "15s",
50
+ },
51
+ dependsOn: [],
52
+ restartPolicy: "unless-stopped",
53
+ networks: ["openclaw-network"],
54
+
55
+ skills: [],
56
+ openclawEnvVars: [],
57
+
58
+ docsUrl: "https://github.com/dani-garcia/vaultwarden/wiki",
59
+ tags: ["security", "passwords", "bitwarden", "secrets"],
60
+ maturity: "stable",
61
+
62
+ requires: [],
63
+ recommends: ["caddy", "traefik"],
64
+ conflictsWith: [],
65
+
66
+ minMemoryMB: 128,
67
+ gpuRequired: false,
68
+ };
@@ -119,7 +119,23 @@
119
119
  "id": "better-openclaw",
120
120
  "path": "better-openclaw/SKILL.md",
121
121
  "emoji": "🦞",
122
- "services": []
122
+ "services": [
123
+ "caddy",
124
+ "chromadb",
125
+ "ffmpeg",
126
+ "grafana",
127
+ "minio",
128
+ "n8n",
129
+ "ollama",
130
+ "postgresql",
131
+ "prometheus",
132
+ "qdrant",
133
+ "redis",
134
+ "remotion",
135
+ "traefik",
136
+ "weaviate",
137
+ "whisper"
138
+ ]
123
139
  },
124
140
  {
125
141
  "id": "postgresql-query",
@@ -517,25 +533,34 @@
517
533
  "id": "claude-code-assist",
518
534
  "path": "claude-code-assist/SKILL.md",
519
535
  "emoji": "🤖",
520
- "services": []
536
+ "services": [
537
+ "claude-code"
538
+ ]
521
539
  },
522
540
  {
523
541
  "id": "codex-generate",
524
542
  "path": "codex-generate/SKILL.md",
525
543
  "emoji": "⌨️",
526
- "services": []
544
+ "services": [
545
+ "codex"
546
+ ]
527
547
  },
528
548
  {
529
549
  "id": "gemini-cli-query",
530
550
  "path": "gemini-cli-query/SKILL.md",
531
551
  "emoji": "♊",
532
- "services": []
552
+ "services": [
553
+ "gemini-cli"
554
+ ]
533
555
  },
534
556
  {
535
557
  "id": "opencode-develop",
536
558
  "path": "opencode-develop/SKILL.md",
537
559
  "emoji": "🔓",
538
- "services": []
560
+ "services": [
561
+ "opencode",
562
+ "ollama"
563
+ ]
539
564
  },
540
565
  {
541
566
  "id": "mission-control-manage",
@@ -731,7 +756,9 @@
731
756
  "id": "calendar-manage",
732
757
  "path": "calendar-manage/SKILL.md",
733
758
  "emoji": "📆",
734
- "services": []
759
+ "services": [
760
+ "nextcloud"
761
+ ]
735
762
  },
736
763
  {
737
764
  "id": "system-info",
@@ -859,7 +886,10 @@
859
886
  "id": "haystack-rag",
860
887
  "path": "haystack-rag/SKILL.md",
861
888
  "emoji": "🔍",
862
- "services": []
889
+ "services": [
890
+ "qdrant",
891
+ "weaviate"
892
+ ]
863
893
  },
864
894
  {
865
895
  "id": "llamaindex-query",
@@ -885,7 +915,9 @@
885
915
  "id": "ansible-configure",
886
916
  "path": "ansible-configure/SKILL.md",
887
917
  "emoji": "📋",
888
- "services": []
918
+ "services": [
919
+ "jenkins"
920
+ ]
889
921
  },
890
922
  {
891
923
  "id": "woodpecker-ci",
@@ -1261,13 +1293,17 @@
1261
1293
  "id": "ui-design-system",
1262
1294
  "path": "ui-design-system/SKILL.md",
1263
1295
  "emoji": "🎨",
1264
- "services": []
1296
+ "services": [
1297
+ "claude-code"
1298
+ ]
1265
1299
  },
1266
1300
  {
1267
1301
  "id": "tailwind-design-system-v4",
1268
1302
  "path": "tailwind-design-system-v4/SKILL.md",
1269
1303
  "emoji": "💨",
1270
- "services": []
1304
+ "services": [
1305
+ "ghost"
1306
+ ]
1271
1307
  },
1272
1308
  {
1273
1309
  "id": "interaction-design",
@@ -1339,7 +1375,10 @@
1339
1375
  "id": "browser-learn",
1340
1376
  "path": "browser-learn/SKILL.md",
1341
1377
  "emoji": "🧠",
1342
- "services": []
1378
+ "services": [
1379
+ "browserless",
1380
+ "lightpanda"
1381
+ ]
1343
1382
  },
1344
1383
  {
1345
1384
  "id": "scrapling-scrape",
@@ -1353,7 +1392,11 @@
1353
1392
  "id": "youtube-growth",
1354
1393
  "path": "youtube-growth/SKILL.md",
1355
1394
  "emoji": "📈",
1356
- "services": []
1395
+ "services": [
1396
+ "comfyui",
1397
+ "ollama",
1398
+ "searxng"
1399
+ ]
1357
1400
  },
1358
1401
  {
1359
1402
  "id": "hexstrike-mcp",
@@ -1386,6 +1429,14 @@
1386
1429
  "services": [
1387
1430
  "pentestagent"
1388
1431
  ]
1432
+ },
1433
+ {
1434
+ "id": "headscale-network",
1435
+ "path": "headscale-network/SKILL.md",
1436
+ "emoji": "🌐",
1437
+ "services": [
1438
+ "headscale"
1439
+ ]
1389
1440
  }
1390
1441
  ]
1391
1442
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"manifest-BjK4ALvr.mjs","names":[],"sources":["../src/skills/manifest.json"],"sourcesContent":[""],"mappings":""}