#!/bin/zsh # Controle do LiveCaption: start | stop | pause | status # (pause alterna pausar/retomar; funciona de qualquer atalho: Atalhos do macOS, Keyboard Maestro, terminal...) cd "$(dirname "$0")/.." MODEL=${LC_MT_MODEL:-hymt2-1.8b} case "$1" in start) pgrep -x LiveCaption >/dev/null && { echo "já está rodando"; exit 0; } curl -s -m 2 localhost:11434/api/tags >/dev/null || { echo "iniciando Ollama…"; (ollama serve >/dev/null 2>&1 &); sleep 3; } APP=LiveCaption.app; [[ -d /Applications/LiveCaption.app ]] && APP=/Applications/LiveCaption.app open "$APP" && echo "iniciado ($APP)" ;; stop) pkill -x LiveCaption && echo "app encerrado" || echo "app não estava rodando" # libera a RAM do modelo de tradução (o servidor Ollama continua ligado, pode ter outros usos) curl -s -m 5 localhost:11434/api/generate -d "{\"model\":\"$MODEL\",\"keep_alive\":0}" >/dev/null && echo "modelo $MODEL descarregado da memória" ;; pause) pkill -USR1 -x LiveCaption && echo "pausa alternada" || echo "app não está rodando" ;; status) pgrep -x LiveCaption >/dev/null && echo "LiveCaption: rodando (pid $(pgrep -x LiveCaption))" || echo "LiveCaption: parado" curl -s -m 2 localhost:11434/api/tags >/dev/null && echo "Ollama: ativo" || echo "Ollama: parado" ;; *) echo "uso: $0 start|stop|pause|status"; exit 1 ;; esac