#!/usr/bin/env bash set -euo pipefail usage() { cat <<'EOF' Usage: clear-session-model-pins.sh --agent [--channel ] [--sessions-file ] Examples: clear-session-model-pins.sh --agent home clear-session-model-pins.sh --agent home --channel 1470162839284224184 Notes: - Removes per-session "model" keys so agent defaults apply again. - By default targets: /home/node/.openclaw/agents//sessions/sessions.json EOF } AGENT_ID="" CHANNEL_ID="" SESSIONS_FILE="" while [[ $# -gt 0 ]]; do case "$1" in --agent) AGENT_ID="${2:-}" shift 2 ;; --channel) CHANNEL_ID="${2:-}" shift 2 ;; --sessions-file) SESSIONS_FILE="${2:-}" shift 2 ;; -h|--help) usage exit 0 ;; *) echo "Unknown argument: $1" >&2 usage >&2 exit 1 ;; esac done if [[ -z "$AGENT_ID" ]]; then echo "--agent is required" >&2 usage >&2 exit 1 fi if [[ -z "$SESSIONS_FILE" ]]; then SESSIONS_FILE="/home/node/.openclaw/agents/${AGENT_ID}/sessions/sessions.json" fi if [[ ! -f "$SESSIONS_FILE" ]]; then echo "sessions file not found: $SESSIONS_FILE" >&2 exit 1 fi python3 - <