33 lines
1.1 KiB
Bash
Executable File
33 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Interactive chat mode: bridge + live viewer + chat REPL in one command.
|
|
# Open http://127.0.0.1:8000 to watch the capsule while you talk to it.
|
|
# Usage: scripts/run_chat.sh [--model gemma4:e2b]
|
|
set -euo pipefail
|
|
cd "$(dirname "$0")/.."
|
|
BRIDGE_PID=""
|
|
LIVE_PID=""
|
|
|
|
# 1. bridge (reuse an already-running one)
|
|
if python3 -c 'import socket,sys; s=socket.socket(); sys.exit(0 if s.connect_ex(("127.0.0.1",8765))==0 else 1)'; then
|
|
echo "[chat] bridge already running on 8765"
|
|
else
|
|
testbed/.venv/bin/python -m testbed.bridge --port 8765 >/tmp/aicc-bridge.log 2>&1 &
|
|
BRIDGE_PID=$!
|
|
sleep 1.5
|
|
echo "[chat] bridge started (pid $BRIDGE_PID)"
|
|
fi
|
|
|
|
# 2. live viewer (optional but nice: watch while chatting)
|
|
testbed/.venv/bin/python -m testbed.live --http-port 8000 --ws-port 8001 >/tmp/aicc-live.log 2>&1 &
|
|
LIVE_PID=$!
|
|
sleep 1.5
|
|
echo "[chat] live view: open http://127.0.0.1:8000 in your browser"
|
|
|
|
# 3. chat REPL (foreground)
|
|
testbed/.venv/bin/python -m testbed.chat "$@"
|
|
EXIT=$?
|
|
|
|
kill "$LIVE_PID" 2>/dev/null || true
|
|
if [ -n "$BRIDGE_PID" ]; then kill "$BRIDGE_PID" 2>/dev/null || true; fi
|
|
exit $EXIT
|