ScalyClaw est le produit le plus complet du ClawFamily.
Là où OpenClaw est un framework et MetaClaw une learning-plane, ScalyClaw est un produit fini :
assistant IA self-hosted, multi-canal, horizontalement scalable, avec moteur proactif,
dashboard React et sécurité à 4 couches.
Stars10
Âge14 jours
Version0.1.0
LanguageTypeScript (Bun)
Canaux7
LicenseMIT
QueueBullMQ + Redis
Architecture
3 processus — seul Redis est partagé
Le secret de la scalabilité de ScalyClaw : les workers n'ont besoin que de Redis.
Même config, machines différentes. Horizontal scaling par design.
Singleton ↑
NODE
Le cerveau unique. Normalise tous les canaux entrants, applique les guards, fait tourner l'orchestrateur LLM,
gère la mémoire SQLite, planifie les messages proactifs, expose l'API Fastify.
Exécutent les skills et agents. Langages : JS (bun), Python (uv), Rust (cargo), Bash.
Auto-install des dépendances au premier run. Hot-reload via pub/sub.
Seule dépendance partagée avec le Node : Redis.
15 vues de monitoring temps réel. Éditeur de personnalité (IDENTITY.md, SOUL.md, USER.md).
Zero-downtime config via Redis pub/sub. Chat overlay pour tester sans quitter le dashboard.
Job inspector (queues BullMQ live).
React 19 + Vite 6Tailwind CSS 4shadcn/ui15 vues
Seul état partagé
REDIS
Queue BullMQ · Pub/Sub (hot-reload) · Vault secrets · Activity tracking · Proactive signals buffer.
Si Redis tombe, tout s'arrête — single point of failure assumé.
ANY FAIL → message dropped · user notified · guards indépendants
Modèle configurable par guard
Chaque guard peut utiliser un modèle différent — un modèle rapide/pas cher pour Echo + Content,
un modèle plus lourd pour Skill Guard. failOpen disponible par guard pour les contextes non-critiques.
Mémoire
SQLite triple-index — la plus sophistiquée du ClawFamily
Similarité sémantique. Premier choix de retrieval.
🔍
Full-Text Search
FTS5
Fallback si pas d'embeddings ou zéro résultat vectoriel.
🏷
Tag Index
memory_tags
Index normalisé. Requêtes par tag instantanées.
Composite Scoring
Pas juste la similarité sémantique. Score = 0.6 × semantic + 0.2 × recency_decay + 0.2 × importance.
Poids configurables. Résultats bien plus pertinents.
Debounced Extraction
Buffer Redis des messages → BullMQ delay → LLM extrait fact, preference,
event, relationship avec confidence score.
Aucune latence par message. Cross-channel : les mémoires Telegram fonctionnent sur Discord.
Types de mémoire + métadonnées
Type
Exemple
Confidence
fact
user is a developer
0.95
preference
prefers Python over JS
0.88
event
deployed prod on 2026-03-10
0.72
relationship
works with team of 3
0.65
Feature unique dans le ClawFamily
Moteur proactif — 2 phases découplées
L'IA initie la conversation quand elle détecte le bon moment. Phase 1 gratuite (pas de LLM),
Phase 2 coûteuse seulement si les signaux le justifient.
Phase 1
Signal Scan
cron · 0 LLM
Detect 7 signal types (déterministe)
Aggregate → trigger type
Adaptive threshold check
Timing check (quiet hours, patterns)
→ Enqueue proactive-eval job
Phase 2
Deep Evaluation
BullMQ · LLM
Re-detect signals (may have changed)
Rate limit + cooldown checks
Assemble context (memory + history)
LLM: should engage? type? confidence?
LLM: generate message
→ Deliver on best channel
7 types de signaux (Phase 1)
idle — inactif au-delà du seuil
time_sensitive — deadline en mémoire
pending_deliverable — engagement non résolu
unfinished_topic — thread non conclu
entity_trigger — entité récurrente
user_pattern — correspond aux horaires habituels
return_from_absence — retour après silence multi-jours
Adaptive Threshold
Le seuil de déclenchement s'ajuste automatiquement en fonction du taux de réponse de l'utilisateur
et du sentiment des réponses (heuristique sans LLM : keyword matching + longueur > 20 chars = positif).
Plus l'utilisateur répond, plus le seuil est bas. Moins il répond, plus l'IA attend.
LLM Routing
Priority + Weight — failover automatique
Priority 0Groupe primaire — essayé en premier
claude-opus
weight: 3 → ~30%
claude-sonnet
weight: 7 → ~70%
Priority 1Fallback — si tout le groupe P0 échoue
gpt-4o
weight: 5
Priority 2Last resort — local/offline
local-ollama
weight: 1
Budget control
Tracking token par modèle. Limites mensuelle et journalière en mode soft (warn) ou hard (refuse au-dessus du cap).
Endpoint OpenAI-compatible = tout provider : Anthropic, OpenAI, Ollama, LM Studio, MiniMax…
Pour Lyra :Anthropic API (P0) → Ollama Machine 2 (P1) — mapping direct.
Position dans l'écosystème
ScalyClaw vs ClawFamily — head-to-head
ScalyClaw n'est pas construit sur OpenClaw — c'est une implémentation parallèle complète.
Même problème de base (assistant IA), résolu comme un produit fini plutôt qu'un framework.
Dimension
OpenClaw
IronClaw
NanoClaw
ScalyClaw ★
Type
Framework
Prod-hardened
Lightweight
Produit complet
Canaux
Multi (framework)
Multi
1-2
7
Proactif
✗
?
✗
✓ 2-phase engine
Dashboard
✗
?
✗
✓ React 19 · 15 vues
Worker scaling
✗
?
✗
✓ horizontal (Redis only)
Security guards
Basic
?
✗
✓ 4-layer fail-closed
Mémoire
RAG-based
?
SQLite
✓ SQLite + vec + FTS5
Install
npm setup
?
npm
✓ one-line curl
Pertinence pour Lyra
3 patterns à emprunter maintenant
Emprunts immédiats (sans Redis)
Command Shield
Pattern matching déterministe. 0 LLM, 0 latence, 0 coût. Implémentable en un fichier Python.
Ajouter recency decay + importance aux poids BM25+vec existants dans 2ndBrain.
Adaptation — Proactive Engine en Python asyncio
Le pattern 2-phase mappe parfaitement sur l'architecture Lyra
Phase 1 — Cron loop (0 LLM)
detect_signals()
→
aggregate(signals, weights)
→
adaptive_threshold?
→
queue.put(ProactiveEvalTask)
Phase 2 — Queue consumer (LLM)
queue.get()
→
rate_limit_ok?
→
assemble_context()
→
llm_should_engage?
→
deliver(best_channel)
Pas de BullMQ. Pas de Redis.asyncio.Queue suffit pour Lyra phase P0.
Le pattern est identique, juste avec les primitives asyncio Python.
Risques
Ce qui peut coincer
Très tôt (0.1.0, 2 semaines)
Haut
Aucun track record en production. Les APIs vont changer. À surveiller, pas à intégrer maintenant.
Communauté faible (10 stars)
Haut
Peu de bug reports, peu de battle-testing. Mais le README est poli et la feature set complète — proche d'une annonce publique.
Redis hard dependency
Moyen
Tous les processus nécessitent Redis. Single point of failure assumé par design. Si Redis tombe, tout s'arrête.
Guards = latence + coût LLM
Moyen
Echo + Content guards sur chaque message. À l'échelle, latence et coût token significatifs. Command Shield (déterministe) compense partiellement.
Pas de RBAC multi-user
Moyen
Single-user ou groupe de confiance uniquement. Pas de séparation utilisateurs au niveau node. Non-enterprise par design.
Bun runtime
Bas
Stable mais moins battle-tested que Node. Quelques packages npm ont des incompatibilités Bun sporadiques.
Verdict
ScalyClaw est le produit le plus complet du ClawFamily. Trop jeune pour une intégration directe,
mais ses patterns architecturaux sont empruntables maintenant :
Command Shield · Priority+Weight routing · Proactive 2-phase engine.
Si il atteint 1k stars, il devient le Home Assistant des plateformes IA personnelles.
À surveiller : si il décolle, les patterns deviennent du gold standard à suivre.