File size: 2,764 Bytes
dbc3350
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
50c3ed9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
dbc3350
 
50c3ed9
 
 
 
 
 
dbc3350
50c3ed9
 
dbc3350
50c3ed9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#!/bin/bash
set -e

# Вывод информации о запуске
echo "===== Starting TEN-Agent on HuggingFace Space ====="
echo "$(date)"
echo "Current directory: $(pwd)"

# Проверяем наличие .env файла
if [ -f .env ]; then
    echo "✅ .env file found"
    cat .env | grep -v "KEY\|CERTIFICATE" | sed 's/=.*/=***/'
else
    echo "❌ Error: .env file not found"
    exit 1
fi

# Проверяем установку task
if command -v task &> /dev/null; then
    echo "✅ task command is available"
    task --version
else
    echo "❌ Error: task command not found"
    exit 1
fi

# Проверяем права доступа и структуру директорий
echo "===== Checking directory permissions ====="
mkdir -p /app/agents
mkdir -p /tmp/ten_agent
chmod -R 777 /app/agents
chmod -R 777 /app
chmod -R 777 /tmp/ten_agent

echo "Directory permissions:"
ls -la /app/agents
ls -la /app
ls -la /tmp/ten_agent

# Проверяем наличие директории examples
if [ -d "/app/agents/examples" ]; then
    echo "✅ Examples directory found"
    ls -la /app/agents/examples
else
    echo "❌ Error: Examples directory not found"
    # Создаем базовую структуру
    mkdir -p /app/agents/examples/default
    echo "Created directory structure"
fi

# Запускаем сборку агента с официальной командой
echo "===== Building TEN-Agent ====="
if task use; then
    echo "✅ task use успешно выполнена"
    
    # Обновляем порт для HuggingFace Space (HF использует порт 7860)
    echo "===== Setting up port for HuggingFace Space ====="
    export PORT=7860

    # Отключаем запрос на использование камеры для HuggingFace Space
    export NEXT_PUBLIC_DISABLE_CAMERA=true

    # Запускаем TEN-Agent с официальной командой
    echo "===== Starting TEN-Agent server ====="
    exec task run
else
    echo "⚠️ Warning: task use failed, trying alternative method..."
    
    # Альтернативный метод настройки агента без использования символических ссылок
    mkdir -p /app/agents/examples/default
    cp -r /app/agents/examples/default/* /app/agents/ 2>/dev/null || true
    
    echo "Manual setup completed, trying to run task run..."
    
    if task run; then
        echo "✅ task run успешно выполнена"
        exit 0
    else
        echo "⚠️ Warning: все методы запуска через task не удались, запускаем fallback..."
        chmod +x /app/fallback.py
        exec python3 /app/fallback.py
    fi
fi