diff --git a/tools/server/webui/scripts/dev.sh b/tools/server/webui/scripts/dev.sh index e0e8b26e9a013..2bda8f22c8f07 100644 --- a/tools/server/webui/scripts/dev.sh +++ b/tools/server/webui/scripts/dev.sh @@ -1,5 +1,14 @@ #!/bin/bash +# Development script for llama.cpp webui +# +# This script starts the webui development servers (Storybook and Vite). +# Note: You need to start llama-server separately. +# +# Usage: +# bash scripts/dev.sh +# npm run dev + cd ../../../ # Check and install git hooks if missing @@ -28,76 +37,19 @@ check_and_install_hooks() { # Install git hooks if needed check_and_install_hooks -# Check if llama-server binary already exists -if [ ! -f "build/bin/llama-server" ]; then - echo "Building llama-server..." - cmake -B build && cmake --build build --config Release -t llama-server -else - echo "llama-server binary already exists, skipping build." -fi - -# Start llama-server and capture output -echo "Starting llama-server..." -mkfifo server_output.pipe -build/bin/llama-server -hf ggml-org/gpt-oss-20b-GGUF --jinja -c 0 --no-webui > server_output.pipe 2>&1 & -SERVER_PID=$! - -# Function to wait for server to be ready -wait_for_server() { - echo "Waiting for llama-server to be ready..." - local max_wait=60 - local start_time=$(date +%s) - - # Read server output in background and look for the ready message - ( - while IFS= read -r line; do - echo "๐Ÿ” Server: $line" - if [[ "$line" == *"server is listening on http://127.0.0.1:8080 - starting the main loop"* ]]; then - echo "โœ… llama-server is ready!" - echo "READY" > server_ready.flag - break - fi - done < server_output.pipe - ) & - - # Wait for ready flag or timeout - while [ ! -f server_ready.flag ]; do - local current_time=$(date +%s) - local elapsed=$((current_time - start_time)) - - if [ $elapsed -ge $max_wait ]; then - echo "โŒ Server failed to start within $max_wait seconds" - rm -f server_ready.flag - return 1 - fi - - sleep 1 - done - - rm -f server_ready.flag - return 0 -} - # Cleanup function cleanup() { echo "๐Ÿงน Cleaning up..." - kill $SERVER_PID 2>/dev/null - rm -f server_output.pipe server_ready.flag exit } # Set up signal handlers trap cleanup SIGINT SIGTERM -# Wait for server to be ready -if wait_for_server; then - echo "๐Ÿš€ Starting development servers..." - cd tools/server/webui - storybook dev -p 6006 --ci & vite dev --host 0.0.0.0 & - - # Wait for all background processes - wait -else - echo "โŒ Failed to start development environment" - cleanup -fi +echo "๐Ÿš€ Starting development servers..." +echo "๐Ÿ“ Note: Make sure to start llama-server separately if needed" +cd tools/server/webui +storybook dev -p 6006 --ci & vite dev --host 0.0.0.0 & + +# Wait for all background processes +wait