#!/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
# 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