id, 'aipmsp-settings' ) ) { return; } // Расшифровываем ключи только в память. $openai_key = AIPMSP_Crypto::decrypt( $settings['keys']['openai'] ); $anthropic_key = AIPMSP_Crypto::decrypt( $settings['keys']['anthropic'] ); $google_key = AIPMSP_Crypto::decrypt( $settings['keys']['google'] ); $providers = array( 'OpenAI' => array( 'slug' => 'openai', 'key' => $openai_key, 'url' => 'https://api.openai.com/v1/models', 'headers' => array( 'Authorization' => 'Bearer ' . $openai_key ), ), 'Anthropic' => array( 'slug' => 'anthropic', 'key' => $anthropic_key, 'url' => 'https://api.anthropic.com/v1/models', 'headers' => array( 'x-api-key' => $anthropic_key, 'anthropic-version' => '2023-06-01', ), ), 'Google' => array( 'slug' => 'google', 'key' => $google_key, 'url' => 'https://generativelanguage.googleapis.com/v1beta/models', 'headers' => array( 'x-goog-api-key' => $google_key ), ), ); echo '
' . esc_html__( 'AI Proxy Manager — проверка подключения к AI-провайдерам:', 'ai-proxy-manager' ) . '
'; echo esc_html( $name ) . ":\n"; echo esc_html__( '⏭ Ключ не задан — проверка пропущена', 'ai-proxy-manager' ); echo '
';
echo esc_html( $name ) . ":\n";
if ( is_wp_error( $response ) ) {
echo esc_html__( '❌ ОШИБКА СОЕДИНЕНИЯ (вероятно прокси или сеть):', 'ai-proxy-manager' ) . "\n";
echo esc_html( $response->get_error_message() );
} else {
$code = (int) wp_remote_retrieve_response_code( $response );
echo esc_html__( 'HTTP CODE:', 'ai-proxy-manager' ) . ' ' . esc_html( $code ) . "\n";
if ( 200 === $code ) {
echo esc_html__( '✅ Соединение успешно установлено', 'ai-proxy-manager' );
} elseif ( 401 === $code ) {
echo esc_html__( '❌ Неверный API-ключ', 'ai-proxy-manager' );
} elseif ( 403 === $code ) {
echo esc_html__( '❌ Доступ запрещён (регион или IP заблокирован — проверьте прокси)', 'ai-proxy-manager' );
} elseif ( 429 === $code ) {
echo esc_html__( '⚠️ Превышен лимит запросов (rate limit)', 'ai-proxy-manager' );
} else {
echo esc_html__( '⚠️ Неожиданный код ответа', 'ai-proxy-manager' );
}
}
echo '