9332bacabd
Memind CI / Test, build, and release guards (push) Failing after 12m44s
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>
77 lines
2.1 KiB
Bash
Executable File
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."
|