|
1 | 1 | #!/bin/bash |
2 | 2 | # Docker entrypoint for white agent |
3 | | -# Reads environment variables and builds CLI arguments |
| 3 | +# Reads environment variables and/or command-line arguments and builds CLI arguments |
4 | 4 |
|
5 | 5 | set -e |
6 | 6 |
|
7 | 7 | # Build command with arguments from environment variables or defaults |
8 | 8 | CMD="uv run white_agent/server.py" |
9 | 9 |
|
10 | | -# Add host (default: 0.0.0.0 for Docker) |
11 | | -CMD="$CMD --host ${WHITE_AGENT_HOST:-0.0.0.0}" |
| 10 | +# Parse command-line arguments if provided, otherwise use environment variables |
| 11 | +# Command-line arguments take precedence over environment variables |
12 | 12 |
|
13 | | -# Add port (default: 8000) |
14 | | -CMD="$CMD --port ${WHITE_AGENT_PORT:-8000}" |
| 13 | +# Parse arguments |
| 14 | +HOST="${WHITE_AGENT_HOST:-0.0.0.0}" |
| 15 | +PORT="${WHITE_AGENT_PORT:-8000}" |
| 16 | +MODEL="${WHITE_AGENT_MODEL:-gpt-4o}" |
| 17 | +TEMPERATURE="${WHITE_AGENT_TEMPERATURE:-0.7}" |
| 18 | +MAX_TOKENS="${WHITE_AGENT_MAX_TOKENS:-500}" |
| 19 | +TASK_MODE="${WHITE_AGENT_TASK_MODE:-command}" |
| 20 | +CARD_URL="${WHITE_AGENT_CARD_URL:-}" |
15 | 21 |
|
16 | | -# Add model (default: gpt-4o) |
17 | | -CMD="$CMD --model ${WHITE_AGENT_MODEL:-gpt-4o}" |
| 22 | +# Parse command-line arguments |
| 23 | +while [[ $# -gt 0 ]]; do |
| 24 | + case $1 in |
| 25 | + --host) |
| 26 | + HOST="$2" |
| 27 | + shift 2 |
| 28 | + ;; |
| 29 | + --port) |
| 30 | + PORT="$2" |
| 31 | + shift 2 |
| 32 | + ;; |
| 33 | + --model) |
| 34 | + MODEL="$2" |
| 35 | + shift 2 |
| 36 | + ;; |
| 37 | + --temperature) |
| 38 | + TEMPERATURE="$2" |
| 39 | + shift 2 |
| 40 | + ;; |
| 41 | + --max-tokens) |
| 42 | + MAX_TOKENS="$2" |
| 43 | + shift 2 |
| 44 | + ;; |
| 45 | + --task-mode) |
| 46 | + TASK_MODE="$2" |
| 47 | + shift 2 |
| 48 | + ;; |
| 49 | + --card-url) |
| 50 | + CARD_URL="$2" |
| 51 | + shift 2 |
| 52 | + ;; |
| 53 | + *) |
| 54 | + # Unknown argument, pass through |
| 55 | + CMD="$CMD $1" |
| 56 | + shift |
| 57 | + ;; |
| 58 | + esac |
| 59 | +done |
18 | 60 |
|
19 | | -# Add temperature (default: 0.7) |
20 | | -CMD="$CMD --temperature ${WHITE_AGENT_TEMPERATURE:-0.7}" |
21 | | - |
22 | | -# Add max-tokens (default: 500) |
23 | | -CMD="$CMD --max-tokens ${WHITE_AGENT_MAX_TOKENS:-500}" |
24 | | - |
25 | | -# Add task-mode (default: command) |
26 | | -CMD="$CMD --task-mode ${WHITE_AGENT_TASK_MODE:-command}" |
| 61 | +# Build final command |
| 62 | +CMD="$CMD --host $HOST" |
| 63 | +CMD="$CMD --port $PORT" |
| 64 | +CMD="$CMD --model $MODEL" |
| 65 | +CMD="$CMD --temperature $TEMPERATURE" |
| 66 | +CMD="$CMD --max-tokens $MAX_TOKENS" |
| 67 | +CMD="$CMD --task-mode $TASK_MODE" |
27 | 68 |
|
28 | 69 | # Add card-url if provided |
29 | | -if [ -n "$WHITE_AGENT_CARD_URL" ]; then |
30 | | - CMD="$CMD --card-url $WHITE_AGENT_CARD_URL" |
| 70 | +if [ -n "$CARD_URL" ]; then |
| 71 | + CMD="$CMD --card-url $CARD_URL" |
31 | 72 | fi |
32 | 73 |
|
33 | 74 | echo "Starting white agent with: $CMD" |
|
0 commit comments