mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-05-18 04:41:56 +00:00
changes
This commit is contained in:
parent
c5386ed7e6
commit
e698b7e0e5
19 changed files with 3924 additions and 132 deletions
115
ui/start_hermes_ui.sh
Executable file
115
ui/start_hermes_ui.sh
Executable file
|
|
@ -0,0 +1,115 @@
|
|||
#!/bin/bash
|
||||
# Hermes Agent UI Launcher
|
||||
#
|
||||
# This script starts both the API server and UI application.
|
||||
# It will run them in the background and provide a clean shutdown.
|
||||
|
||||
set -e
|
||||
|
||||
# Colors for output
|
||||
GREEN='\033[0;32m'
|
||||
BLUE='\033[0;34m'
|
||||
RED='\033[0;31m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
echo -e "${BLUE}🚀 Hermes Agent UI Launcher${NC}"
|
||||
echo "================================"
|
||||
echo ""
|
||||
|
||||
# Check if Python is available
|
||||
if ! command -v python3 &> /dev/null; then
|
||||
echo -e "${RED}❌ Python 3 not found. Please install Python 3.${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if virtual environment exists
|
||||
if [ -d "../../env" ]; then
|
||||
echo -e "${GREEN}✓ Activating virtual environment${NC}"
|
||||
source ../../env/bin/activate
|
||||
else
|
||||
echo -e "${BLUE}ℹ No virtual environment found, using system Python${NC}"
|
||||
fi
|
||||
|
||||
# Check dependencies
|
||||
echo -e "${BLUE}Checking dependencies...${NC}"
|
||||
python3 -c "import PySide6" 2>/dev/null || {
|
||||
echo -e "${RED}❌ PySide6 not installed${NC}"
|
||||
echo -e "${BLUE}Installing dependencies...${NC}"
|
||||
pip install -r ../requirements.txt
|
||||
}
|
||||
|
||||
# Check for API keys
|
||||
if [ -z "$ANTHROPIC_API_KEY" ]; then
|
||||
echo -e "${RED}⚠️ Warning: ANTHROPIC_API_KEY not set${NC}"
|
||||
echo " Set it with: export ANTHROPIC_API_KEY='your-key'"
|
||||
echo ""
|
||||
fi
|
||||
|
||||
# Function to cleanup on exit
|
||||
cleanup() {
|
||||
echo ""
|
||||
echo -e "${BLUE}🛑 Shutting down Hermes Agent...${NC}"
|
||||
if [ ! -z "$SERVER_PID" ]; then
|
||||
kill $SERVER_PID 2>/dev/null || true
|
||||
echo -e "${GREEN}✓ API Server stopped${NC}"
|
||||
fi
|
||||
if [ ! -z "$UI_PID" ]; then
|
||||
kill $UI_PID 2>/dev/null || true
|
||||
echo -e "${GREEN}✓ UI Application stopped${NC}"
|
||||
fi
|
||||
echo -e "${GREEN}✓ Cleanup complete${NC}"
|
||||
exit 0
|
||||
}
|
||||
|
||||
# Set up trap for cleanup
|
||||
trap cleanup SIGINT SIGTERM EXIT
|
||||
|
||||
# Start API server in background
|
||||
echo -e "${BLUE}Starting API Server...${NC}"
|
||||
cd ../api_endpoint
|
||||
python3 logging_server.py > /tmp/hermes_server.log 2>&1 &
|
||||
SERVER_PID=$!
|
||||
cd ../ui
|
||||
|
||||
# Wait for server to start
|
||||
echo -e "${BLUE}Waiting for server to start...${NC}"
|
||||
sleep 3
|
||||
|
||||
# Check if server is running
|
||||
if ! kill -0 $SERVER_PID 2>/dev/null; then
|
||||
echo -e "${RED}❌ Server failed to start. Check /tmp/hermes_server.log${NC}"
|
||||
tail -20 /tmp/hermes_server.log
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if server is responding
|
||||
if curl -s http://localhost:8000/ > /dev/null; then
|
||||
echo -e "${GREEN}✓ API Server running on http://localhost:8000${NC}"
|
||||
else
|
||||
echo -e "${RED}❌ Server not responding. Check /tmp/hermes_server.log${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Start UI application
|
||||
echo -e "${BLUE}Starting UI Application...${NC}"
|
||||
python3 hermes_ui.py &
|
||||
UI_PID=$!
|
||||
|
||||
echo ""
|
||||
echo -e "${GREEN}================================${NC}"
|
||||
echo -e "${GREEN}✓ Hermes Agent UI is running!${NC}"
|
||||
echo -e "${GREEN}================================${NC}"
|
||||
echo ""
|
||||
echo -e "${BLUE}📊 Component Status:${NC}"
|
||||
echo -e " API Server: http://localhost:8000 (PID: $SERVER_PID)"
|
||||
echo -e " UI App: Running (PID: $UI_PID)"
|
||||
echo -e " Server Log: /tmp/hermes_server.log"
|
||||
echo ""
|
||||
echo -e "${BLUE}Press Ctrl+C to stop all services${NC}"
|
||||
echo ""
|
||||
|
||||
# Wait for UI to exit
|
||||
wait $UI_PID
|
||||
|
||||
# Cleanup will be triggered by trap
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue