Files
memind/scripts/sync-token-optimization-env-103.sh
T
john 9332bacabd
Memind CI / Test, build, and release guards (push) Failing after 12m44s
feat(router): improve direct_chat fast-path and add 103 token env sync
Route explicit text-only Q&A away from Agent before page-generation rules,
and add a script to enable Router + tighter memory budgets on 103 without
changing the global deepseek-v4-pro model.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 15:13:22 +08:00

77 lines
2.1 KiB
Bash
Executable File

#!/usr/bin/env bash
# Sync token-optimization Router / memory env to 103 Portal (.env only).
# Does NOT change global LLM model (keep deepseek-v4-pro for Agent quality).
#
# Usage:
# bash scripts/sync-token-optimization-env-103.sh # dry-run
# bash scripts/sync-token-optimization-env-103.sh --apply # write + restart portal
set -euo pipefail
HOST="${MEMIND_103_HOST:-john@58.38.22.103}"
REMOTE_ENV="/Users/john/Project/Memind/.env"
APPLY=0
if [[ "${1:-}" == "--apply" ]]; then
APPLY=1
fi
PATCH_LINES=(
"MEMIND_CHAT_LLM_ROUTER_ENABLED=1"
"MEMIND_CHAT_LLM_ROUTER_SHADOW=0"
"MEMIND_CHAT_ROUTER_CANARY_USER_IDS="
"MEMIND_CHAT_ROUTER_MODEL=deepseek-chat"
"MEMIND_CHAT_ROUTER_MEMORY_LIMIT=2"
"MEMIND_CHAT_ROUTER_TIMEOUT_MS=2500"
"MEMIND_CHAT_ROUTER_MIN_CONFIDENCE=0.65"
"MEMORY_AGENT_RESOLVE_LIMIT=3"
"MEMORY_RETRIEVER_LIMIT=4"
"MEMORY_RETRIEVER_TOKEN_BUDGET=900"
"MEMORY_PERSONA_MAX_TOKENS=300"
)
echo "==> Target: ${HOST}:${REMOTE_ENV}"
echo "==> Patch:"
printf ' %s\n' "${PATCH_LINES[@]}"
echo
if [[ "${APPLY}" -ne 1 ]]; then
echo "Dry-run only. Re-run with --apply to write and restart Portal."
exit 0
fi
PATCH_B64=$(printf '%s\n' "${PATCH_LINES[@]}" | base64 | tr -d '\n')
ssh "${HOST}" "bash -s" <<REMOTE
set -euo pipefail
ENV_FILE="${REMOTE_ENV}"
BACKUP="\${ENV_FILE}.bak-token-opt-\$(date +%Y%m%d-%H%M%S)"
cp "\${ENV_FILE}" "\${BACKUP}"
echo "Backed up to \${BACKUP}"
upsert() {
local key="\$1" val="\$2"
if grep -q "^\${key}=" "\${ENV_FILE}"; then
sed -i '' "s|^\${key}=.*|\${key}=\${val}|" "\${ENV_FILE}"
else
printf '\n%s=%s\n' "\${key}" "\${val}" >> "\${ENV_FILE}"
fi
}
while IFS='=' read -r key val; do
[[ -z "\${key}" ]] && continue
upsert "\${key}" "\${val}"
done <<'ENVPATCH'
$(printf '%s\n' "${PATCH_LINES[@]}")
ENVPATCH
echo "==> Updated keys:"
grep -E '^(MEMIND_CHAT_|MEMORY_AGENT_RESOLVE|MEMORY_RETRIEVER|MEMORY_PERSONA_MAX)' "\${ENV_FILE}" || true
GUI="\$(/usr/bin/stat -f %u /dev/console)"
launchctl kickstart -k "gui/\${GUI}/cn.tkmind.memind-portal"
sleep 3
curl -sf http://127.0.0.1:8081/api/status >/dev/null
echo "Portal restarted and /api/status OK"
REMOTE
echo "Done."