Clawfuse
by @ekalb81
Continuous LangFuse-driven optimization loop for OpenClaw/OpenRouter model routing and prompt usage controls with persistent local memory. Use when Codex nee...
clawhub install langfuse-continuous-optimizerπ About This Skill
name: langfuse-continuous-optimizer description: Continuous LangFuse-driven optimization loop for OpenClaw/OpenRouter model routing and prompt usage controls with persistent local memory. Use when Codex needs to ingest LangFuse observations and evaluator scores, generate task-level routing policy JSON, and run scheduled safe promotion cycles that tune cost-quality-latency tradeoffs automatically. metadata: {"openclaw":{"emoji":"π§ ","requires":{"env":["LANGFUSE_PUBLIC_KEY","LANGFUSE_SECRET_KEY"],"anyBins":["python","python3"]},"primaryEnv":"LANGFUSE_SECRET_KEY"}}
Langfuse Continuous Optimizer
Overview
Run an automated observe -> evaluate -> adapt loop backed by LangFuse data.
This skill is independent and self-contained: it includes both policy builder and continuous optimizer scripts.
Quick Start
# Single optimization cycle (LangFuse API -> staged policy -> promoted live policy if gate passes)
python scripts/langfuse_openclaw_optimizer.py run-once \
--langfuse-host https://us.cloud.langfuse.com \
--window-hours 24 \
--out-dir ~/.openclaw/optimizer \
--live-policy-path ~/.openclaw/llm_routing_policy.json \
--promote-live-policy \
--write-memory \
--save-configContinuous daemon
python scripts/langfuse_openclaw_optimizer.py daemon \
--interval-min 30 \
--save-configToggle settings later (persisted)
python scripts/langfuse_openclaw_optimizer.py configure --disable-promote-live-policy --show
python scripts/langfuse_openclaw_optimizer.py configure --promote-live-policy --write-memory --show
Credentials:
LANGFUSE_PUBLIC_KEYLANGFUSE_SECRET_KEYWorkflow
1. Pull LangFuse observations and scores from the configured time window. 2. Normalize telemetry and build staged routing policy artifacts. 3. Compare staged policy against current live policy with switch guardrails. 4. Promote only when gain and quality constraints are met and promotion is explicitly enabled. 5. Persist cycle memory to reduce policy churn and enable rollback reasoning.
Safety
--out-dir.--promote-live-policy.--promote-live-policy, cycles are non-destructive (stage/evaluate only).--save-config; edit/toggle with configure.Runtime Integration
Use the generated live policy in OpenClaw/LLM runtime via:
--llm-routing-policy-file ~/.openclaw/llm_routing_policy.json
--llm-policy-reload-sec 300
Tag requests with stable task keys (planning, tool-selection, retrieval, summarization, generation, etc.) so per-task routing converges quickly.
Resources (optional)
scripts/
scripts/langfuse_openclaw_optimizer.py: API pull + cycle orchestration + promotion gating + persistent memory.scripts/closed_loop_prompt_ops.py: normalization and policy generation engine used by the optimizer.references/
references/data-contracts.md: input/output schemas and artifacts.references/closed-loop-playbook.md: guardrails, mutation policy, memory strategy, runtime integration notes.π‘ Examples
# Single optimization cycle (LangFuse API -> staged policy -> promoted live policy if gate passes)
python scripts/langfuse_openclaw_optimizer.py run-once \
--langfuse-host https://us.cloud.langfuse.com \
--window-hours 24 \
--out-dir ~/.openclaw/optimizer \
--live-policy-path ~/.openclaw/llm_routing_policy.json \
--promote-live-policy \
--write-memory \
--save-configContinuous daemon
python scripts/langfuse_openclaw_optimizer.py daemon \
--interval-min 30 \
--save-configToggle settings later (persisted)
python scripts/langfuse_openclaw_optimizer.py configure --disable-promote-live-policy --show
python scripts/langfuse_openclaw_optimizer.py configure --promote-live-policy --write-memory --show
Credentials:
LANGFUSE_PUBLIC_KEYLANGFUSE_SECRET_KEY