feat: initial commit - Jhonny Editor
- Adicionado estrutura completa do projeto - Configurado MCP server para Premiere Pro - Adicionado documentação e skills - Configurado Gitignore para o projeto
This commit is contained in:
Executable
+110
@@ -0,0 +1,110 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# Doza Assist - Deploy (Graphify + Servidor)
|
||||
# Sobe um nivel: o script vive em admin/, o projeto e a pasta pai
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
|
||||
cd "$PROJECT_DIR"
|
||||
|
||||
echo "============================================================"
|
||||
echo " Doza Assist :: Deploy - Graphify + Servidor"
|
||||
echo " Pasta: $(pwd)"
|
||||
echo "============================================================"
|
||||
echo
|
||||
|
||||
# 1) Resolve quem executa o graphify (preferencia: uv, depois graphify no PATH)
|
||||
if command -v uv >/dev/null 2>&1; then
|
||||
RUN="uv tool run --from graphifyy graphify"
|
||||
elif command -v graphify >/dev/null 2>&1; then
|
||||
RUN="graphify"
|
||||
else
|
||||
echo "graphify nao encontrado. Instalando via pip..."
|
||||
python3 -m pip install -q --upgrade graphifyy
|
||||
RUN="graphify"
|
||||
fi
|
||||
|
||||
# 2) Roda o graphify SEMPRE (deep + update; code-only se nao houver API key)
|
||||
ARGS="--mode deep --update"
|
||||
if [ -n "$GEMINI_API_KEY" ] || [ -n "$GOOGLE_API_KEY" ] || [ -n "$MOONSHOT_API_KEY" ] \
|
||||
|| [ -n "$ANTHROPIC_API_KEY" ] || [ -n "$OPENAI_API_KEY" ] || [ -n "$DEEPSEEK_API_KEY" ]; then
|
||||
:
|
||||
else
|
||||
echo "AVISO: nenhuma LLM API key detectada. Usando --code-only (codigo apenas;"
|
||||
echo " docs/imagens serao ignorados). Para extracao semantica completa,"
|
||||
echo " defina GEMINI_API_KEY ou GOOGLE_API_KEY."
|
||||
ARGS="--mode deep --update --code-only"
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "Executando graphify (DEEP + UPDATE)..."
|
||||
echo
|
||||
$RUN "." $ARGS || echo "[AVISO] graphify falhou; o deploy continua mesmo assim."
|
||||
|
||||
# 2.5) Reindexar o RAG (doza.code_chunks) - so roda se rag/.env estiver
|
||||
# preenchido; requer o tunel SSH do banco aberto (ver rag/SETUP.md).
|
||||
# Best-effort: nunca trava o deploy.
|
||||
echo
|
||||
echo "Reindexando RAG..."
|
||||
PORT=55435
|
||||
export RAG_DB_PORT=$PORT
|
||||
export RAG_DB_HOST=127.0.0.1
|
||||
bash "$PROJECT_DIR/rag/ensure_tunnel.sh" || true
|
||||
RAG_VENV_PY="$PROJECT_DIR/code/.venv/bin/python3"
|
||||
if [ ! -x "$RAG_VENV_PY" ]; then
|
||||
RAG_VENV_PY="python3"
|
||||
fi
|
||||
if [ -f "$PROJECT_DIR/rag/.env" ] && grep -q '^RAG_DB_PASSWORD=.\+' "$PROJECT_DIR/rag/.env"; then
|
||||
"$RAG_VENV_PY" -m pip install -q -r "$PROJECT_DIR/rag/requirements.txt" 2>/dev/null || true
|
||||
"$RAG_VENV_PY" "$PROJECT_DIR/rag/index_code.py" || echo "[AVISO] indexacao RAG falhou (tunel/banco indisponivel?); deploy continua."
|
||||
else
|
||||
echo "[INFO] rag/.env sem RAG_DB_PASSWORD preenchida; pulando indexacao RAG."
|
||||
fi
|
||||
|
||||
# 3) Derrubar qualquer instancia antiga do servidor
|
||||
echo
|
||||
echo "Parando instancias anteriores do servidor..."
|
||||
lsof -ti:5050 | xargs kill -9 2>/dev/null || true
|
||||
pkill -f "python.*app.py" 2>/dev/null || true
|
||||
sleep 1
|
||||
true
|
||||
|
||||
# 4) Levantar o servidor Doza Assist
|
||||
APP_DIR="$PROJECT_DIR/code"
|
||||
cd "$APP_DIR"
|
||||
|
||||
# Ensure Homebrew binaries (ffmpeg, etc.) are on PATH
|
||||
if [ -d "/opt/homebrew/bin" ]; then
|
||||
export PATH="/opt/homebrew/bin:$PATH"
|
||||
elif [ -d "/usr/local/bin" ]; then
|
||||
export PATH="/usr/local/bin:$PATH"
|
||||
fi
|
||||
|
||||
VENV_PY="$APP_DIR/.venv/bin/python3"
|
||||
if [ ! -x "$VENV_PY" ]; then
|
||||
echo "ERRO: ambiente Python do macOS nao encontrado:"
|
||||
echo " $VENV_PY"
|
||||
echo
|
||||
echo "Execute primeiro: admin/install.command"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "============================================================"
|
||||
echo " Levantando o servidor Doza Assist..."
|
||||
echo " http://localhost:5050"
|
||||
echo "============================================================"
|
||||
echo
|
||||
|
||||
# Abre o navegador padrao assim que o servidor responder (nao trava o boot)
|
||||
(
|
||||
for _ in $(seq 1 30); do
|
||||
if curl -s -o /dev/null "http://localhost:5050"; then
|
||||
open "http://localhost:5050"
|
||||
break
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
) &
|
||||
|
||||
"$VENV_PY" app.py
|
||||
Reference in New Issue
Block a user