38471-vm/ai/config.php
2026-02-21 12:46:35 +00:00

57 lines
1.8 KiB
PHP

<?php
// OpenAI proxy configuration (workspace scope).
// Reads values from environment variables or executor/.env.
function get_ai_env($key) {
$val = getenv($key);
if ($val !== false && $val !== '') return $val;
if (isset($_ENV[$key]) && $_ENV[$key] !== '') return $_ENV[$key];
if (isset($_SERVER[$key]) && $_SERVER[$key] !== '') return $_SERVER[$key];
return null;
}
$projectUuid = get_ai_env('PROJECT_UUID');
$projectId = get_ai_env('PROJECT_ID');
if (!$projectUuid || !$projectId) {
$possiblePaths = [
__DIR__ . '/../../.env',
__DIR__ . '/../.env',
__DIR__ . '/.env',
'/home/ubuntu/executor/.env',
'/var/www/html/.env'
];
foreach ($possiblePaths as $path) {
if (file_exists($path) && is_readable($path)) {
$lines = @file($path, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES) ?: [];
foreach ($lines as $line) {
$line = trim($line);
if ($line === '' || $line[0] === '#') continue;
if (!str_contains($line, '=')) continue;
[$k, $v] = array_map('trim', explode('=', $line, 2));
$v = trim($v, "\"' ");
if (!$projectUuid && $k === 'PROJECT_UUID') $projectUuid = $v;
if (!$projectId && $k === 'PROJECT_ID') $projectId = $v;
}
}
if ($projectUuid && $projectId) break;
}
}
$baseUrl = 'https://flatlogic.com';
$responsesPath = $projectId ? "/projects/{$projectId}/ai-request" : null;
return [
'base_url' => $baseUrl,
'responses_path' => $responsesPath,
'project_id' => $projectId,
'project_uuid' => $projectUuid,
'project_header' => 'project-uuid',
'default_model' => 'gpt-5-mini',
'timeout' => 30,
'verify_tls' => true,
];