- Upgrade OpenClaw primary model from deepseek-v4.1-flash to deepseek-v4.1-flash-1017 across all interactive agents, heartbeats, compaction, and cron jobs. - Configure hardened OpenRouter provider routing for 1017 (deepinfra, inference-net, parasail, cloudflare) with strict fp8/bf16 quantization and tool_choice verification. - Retain deepseek-v4.1-flash (0910), z-ai/glm-5.3-flash, and qwen3.8-flash in the automated fallback chain. - Update ADR 0002 with 1017 economics (30% price reduction on prompt/cache, +60% intelligence benchmark increase) and a 7-point provider qualification playbook. - Add operational scripts and tooling for session compaction, subagent vector deduplication, gateway preflight, and triage diagnostics in k8s/openclaw. - Update DuckDB backend engine, git-sync logic, and test suites. - Enhance Mila tracking UI components and add container build configuration. - Sync Terraform infrastructure state for Authentik.
49 lines
2.0 KiB
Python
49 lines
2.0 KiB
Python
#!/usr/bin/env python3
|
|
import glob, json, os, sqlite3, sys
|
|
|
|
cfg_path = "/home/node/.openclaw/openclaw.json"
|
|
if os.path.exists(cfg_path):
|
|
try:
|
|
with open(cfg_path, "r") as f:
|
|
cfg = json.load(f)
|
|
mem_search = cfg.get("memory", {}).get("search", {})
|
|
if mem_search.get("extraPaths"):
|
|
mem_search["extraPaths"] = []
|
|
with open(cfg_path, "w") as f:
|
|
json.dump(cfg, f, indent=2)
|
|
print("[dedup_subagents] Cleared top-level memory.search.extraPaths from openclaw.json (scoped to main only)")
|
|
except Exception as e:
|
|
print(f"[dedup_subagents] Warning checking openclaw.json: {e}", file=sys.stderr)
|
|
|
|
vec_path = "/app/node_modules/sqlite-vec-linux-x64/vec0.so"
|
|
for db in sorted(glob.glob("/home/node/.openclaw/agents/*/agent/openclaw-agent.sqlite")):
|
|
agent = os.path.basename(os.path.dirname(os.path.dirname(db)))
|
|
if agent == "main":
|
|
continue
|
|
try:
|
|
conn = sqlite3.connect(db, timeout=10.0)
|
|
if os.path.exists(vec_path):
|
|
conn.enable_load_extension(True)
|
|
conn.load_extension(vec_path)
|
|
cur = conn.cursor()
|
|
chk = cur.execute("SELECT count(*) FROM memory_index_chunks").fetchone()[0]
|
|
if chk > 0:
|
|
print(f"[dedup_subagents] Purging {chk} duplicated vector chunks from agent {agent}...")
|
|
for t in [
|
|
"memory_index_sources",
|
|
"memory_index_chunks",
|
|
"memory_index_chunk_recall_metadata",
|
|
"memory_index_chunk_provenance",
|
|
"memory_entry_origins",
|
|
"memory_embedding_cache",
|
|
"memory_index_chunks_vec"
|
|
]:
|
|
try: cur.execute(f"DELETE FROM {t}")
|
|
except Exception: pass
|
|
conn.commit()
|
|
cur.execute("VACUUM")
|
|
print(f"[dedup_subagents] Reclaimed disk space for agent {agent}")
|
|
conn.close()
|
|
except Exception as e:
|
|
print(f"[dedup_subagents] Notice for {agent}: {e}", file=sys.stderr)
|