> ## Documentation Index
> Fetch the complete documentation index at: https://phaseo.app/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Phaseo Gateway base URL: https://api.phaseo.app/v1. Send `Authorization: Bearer $PHASEO_API_KEY` with every request.
> Model IDs look like `provider/model`, for example `openai/gpt-6-astra`. Do not guess IDs: list them with `GET /v1/models` or check https://phaseo.app/models. `phaseo/free` routes to an available free model and needs no wallet balance.
> For new text integrations prefer `POST /v1/responses`. `POST /v1/chat/completions` (OpenAI format) and `POST /v1/messages` (Anthropic format) suit existing code.
> The full API contract is https://phaseo.app/docs/openapi/v1/openapi.yaml. Official SDKs: `@phaseo/sdk` (TypeScript) and `phaseo` (Python), plus Go, C#, PHP, Ruby and Rust.
> Search these docs over MCP at https://phaseo.app/docs/mcp, and install Phaseo skills with `npx skills add https://phaseo.app/docs`. If a page is wrong or out of date, report it with the MCP `submit_feedback` tool.
> Manage Phaseo accounts with the `phaseo` CLI (`npm install -g @phaseo/cli`, then `phaseo login` or `phaseo login --device-code`), the `/v1` Management API or the MCP server at `https://mcp.phaseo.app/mcp?access=manage`. Do not send users to the dashboard for account tasks. A person is still needed for sign-up, approving a sign-in, paying the first top-up on the checkout link that `phaseo credits add` returns when no card is saved, confirming each saved-card top-up from the emailed link, and account security (password, MFA, passkeys). Create API keys with `phaseo keys create --name <name> --json`; never guess one. Credit top-ups need `phaseo login --scopes billing:write` first. Task map: https://phaseo.app/docs/v1/developers/manage-from-an-agent.md.

# تثبيت حزمة SDK للعميل

> ثبّت حزمة Phaseo SDK للعميل، وعيّن مفتاح API، وأرسل أول طلب.

أضف حزمة Phaseo الخاصة بلغتك، وعيّن `PHASEO_API_KEY`، وأرسل أول طلب لك. تسرد [النظرة العامة](https://phaseo.app/docs/ar/v1/sdk-reference/client/overview.md) سجلّ كل حزمة وإصدارها المنشور.

**1. ثبّت الحزمة**

> [tab] TypeScript
>
> ```bash title="npm" theme={null}
> npm install @phaseo/sdk
> ```
>
> ```bash title="pnpm" theme={null}
> pnpm add @phaseo/sdk
> ```
>
> ```bash title="yarn" theme={null}
> yarn add @phaseo/sdk
> ```
>
> تحتاج إلى Node.js 18 أو أحدث، وإلى TypeScript 4.5 أو أحدث لتعريفات الأنواع.

> [tab] Python
>
> ```bash title="pip" theme={null}
> pip install phaseo
> ```
>
> ```bash title="uv" theme={null}
> uv add phaseo
> ```
>
> تحتاج إلى Python 3.10 أو أحدث. لـ [الصوت في الوقت الفعلي](https://phaseo.app/docs/ar/v1/sdk-reference/client/audio-realtime.md)، ثبّت الإضافة: `pip install "phaseo[realtime]"`.

> [tab] Go
>
> ```bash theme={null}
> go get github.com/phaseoteam/Phaseo/packages/sdk/sdk-go/v3@latest
> ```
>
> تحتاج إلى Go 1.23 أو أحدث. استورد مسار الوحدة `v3`:
>
> ```go theme={null}
> import phaseo "github.com/phaseoteam/Phaseo/packages/sdk/sdk-go/v3"
> ```

> [tab] C#
>
> ```bash theme={null}
> dotnet add package Phaseo.Sdk
> ```
>
> تحتاج إلى .NET 8 أو أحدث. العميل موجود في مساحة الأسماء `PhaseoSdk`.

> [tab] PHP
>
> ```bash theme={null}
> composer require phaseo/sdk
> ```
>
> تحتاج إلى PHP 8.1 أو أحدث وإلى Composer. يثبّت Composer أيضًا Guzzle 7. صنف العميل هو `Phaseo\Sdk\Phaseo`.

> [tab] Ruby
>
> ```bash title="gem" theme={null}
> gem install phaseo_sdk
> ```
>
> ```ruby title="Gemfile" theme={null}
> gem "phaseo_sdk"
> ```
>
> تحتاج إلى Ruby 3.0 أو أحدث. حمّلها باستخدام `require 'phaseo_sdk'`؛ والعميل هو `PhaseoSdk::Phaseo`.

> [tab] Java
>
> يحتوي العنصر `3.0.0` على [Maven Central](https://repo.maven.apache.org/maven2/app/phaseo/phaseo-sdk/3.0.0/) على الواجهة البرمجية الأقدم، دون واجهات إعادة المحاولة والبيانات الوصفية للاستجابة والتحقق من المعاملات الحالية. لاستخدام حزمة SDK الحالية، ابنِ المصدر المثبّت على إصدار محدد. تحتاج إلى Java 17 أو أحدث، وMaven 3.8 أو أحدث، وGit.
>
> ```bash theme={null}
> git clone https://github.com/phaseoteam/Phaseo.git
> cd Phaseo
> git checkout 1ff1119f41ceb3ac2c85ed605f6e1c4beca6e011
> mvn -f packages/sdk/sdk-java/pom.xml -DskipTests install
> ```
>
> يثبّت Maven الحزمة `app.phaseo:phaseo-sdk:3.0.0` في مستودعك المحلي، بما في ذلك اعتمادها على Jackson. ثم أضف الاعتمادية:
>
> ```xml theme={null}
> <dependency>
>   <groupId>app.phaseo</groupId>
>   <artifactId>phaseo-sdk</artifactId>
>   <version>3.0.0</version>
> </dependency>
> ```

> [tab] Rust
>
> ```toml title="Cargo.toml" theme={null}
> [dependencies]
> phaseo = "0.2"
> serde_json = "1"
> ```
>
> ```bash title="cargo" theme={null}
> cargo add phaseo@0.2 serde_json
> ```
>
> تحتاج إلى Rust 1.86 أو أحدث. الحزمة (crate) سابقة للإصدار `1.0`، وقد تتغير واجهتها البرمجية بين الإصدارات الفرعية، لذا ثبّت إصدارًا فرعيًا متوافقًا في الإنتاج.

**2. عيّن مفتاح API**

أنشئ مفتاحًا باستخدام `phaseo keys create` في [Phaseo CLI](https://phaseo.app/docs/ar/v1/guides/integrations/phaseo-cli.md) أو في [مفاتيح API](https://phaseo.app/settings/keys)، ثم صدّره:

```bash title="bash" theme={null}
export PHASEO_API_KEY="phaseo_v1_sk_<kid>_<secret>"
```

```powershell title="PowerShell" theme={null}
$env:PHASEO_API_KEY = "phaseo_v1_sk_<kid>_<secret>"
```

احتفظ بالمفتاح على خادمك. لا تضمّنه في تطبيق سطح مكتب أو هاتف محمول أو متصفح أو أي عميل آخر يُوزَّع.

**3. أرسل طلبًا**

```typescript TypeScript theme={null}
import Phaseo from "@phaseo/sdk";

const client = new Phaseo({
  apiKey: process.env.PHASEO_API_KEY!,
});

const response = await client.generateText({
  model: "openai/gpt-6-astra",
  messages: [{ role: "user", content: "Hello!" }],
});

console.log(response.choices[0].message.content);
```

```python Python theme={null}
from phaseo import Phaseo
import os

client = Phaseo(api_key=os.environ["PHASEO_API_KEY"])

response = client.generate_text(
    {
        "model": "openai/gpt-6-astra",
        "messages": [{"role": "user", "content": "Hello!"}],
    }
)

print(response["choices"][0]["message"]["content"])
```

```go Go theme={null}
client, err := phaseo.NewFromEnv() // يقرأ PHASEO_API_KEY
if err != nil {
  panic(err)
}

chat, err := client.GenerateText(context.Background(), phaseo.ChatCompletionsRequest{
  Model:    "openai/gpt-6-astra",
  Messages: []map[string]interface{}{{"role": "user", "content": "Hello!"}},
})
if err != nil {
  panic(err)
}
fmt.Println(chat["choices"])
```

```csharp C# theme={null}
using PhaseoSdk;

var client = new Phaseo(); // يقرأ PHASEO_API_KEY

var chat = await client.GenerateText(new Dictionary<string, object>
{
    ["model"] = "openai/gpt-6-astra",
    ["messages"] = new[]
    {
        new Dictionary<string, object> { ["role"] = "user", ["content"] = "Hello!" },
    },
});
```

```php PHP theme={null}
<?php
require 'vendor/autoload.php';

use Phaseo\Sdk\Phaseo;

$client = new Phaseo(); // يقرأ PHASEO_API_KEY

$chat = $client->generateText([
    'model' => 'openai/gpt-6-astra',
    'messages' => [['role' => 'user', 'content' => 'Hello!']],
]);

echo $chat['choices'][0]['message']['content'];
```

```ruby Ruby theme={null}
require 'phaseo_sdk'

client = PhaseoSdk::Phaseo.new # يقرأ PHASEO_API_KEY

chat = client.generate_text(
  model: 'openai/gpt-6-astra',
  messages: [{ role: 'user', content: 'Hello!' }]
)
```

```java Java theme={null}
import app.phaseo.sdk.Phaseo;
import java.util.List;
import java.util.Map;

Phaseo client = new Phaseo(System.getenv("PHASEO_API_KEY"));

var chat = client.createChatCompletion(Map.of(
    "model", "openai/gpt-6-astra",
    "messages", List.of(Map.of("role", "user", "content", "Hello!"))
));
System.out.println(chat.path("choices").path(0).path("message").path("content").asText());
```

```rust Rust theme={null}
use phaseo::Phaseo;
use serde_json::json;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let client = Phaseo::from_env()?;
    let response = client.chat_completions(&json!({
        "model": "openai/gpt-6-astra",
        "messages": [{ "role": "user", "content": "Hello!" }]
    }))?;

    println!("{}", response.body);
    Ok(())
}
```

إذا لم تمرّر مفتاحًا، يقرأ العميل `PHASEO_API_KEY` بنفسه.

## توجيه العميل إلى عنوان URL أساسي آخر

```typescript TypeScript theme={null}
import Phaseo from "@phaseo/sdk";

const client = new Phaseo({
  apiKey: "your-api-key",
  baseUrl: "https://api.phaseo.app/v1",
  timeoutMs: 30_000,
});
```

```python Python theme={null}
from phaseo import Phaseo

client = Phaseo(
    api_key="your-api-key",
    base_url="https://api.phaseo.app/v1",
    timeout=30.0,
)
```

```go Go theme={null}
client := phaseo.New(os.Getenv("PHASEO_API_KEY"), "https://api.phaseo.app/v1")
```

```rust Rust theme={null}
let client = Phaseo::from_env()?.with_base_url("http://localhost:8787/v1")?;
```

المهلة بالمللي ثانية في TypeScript (`timeoutMs`) وبالثواني في Python (`timeout`). في Rust، يمكنك أيضًا تعيين `PHASEO_BASE_URL` (مثل `http://localhost:8787/v1`) لتلتقطه `Phaseo::from_env()`. لا تقبل Rust بروتوكول HTTP العادي إلا عندما يكون المضيف `localhost` تمامًا أو عنوان IP للاسترجاع (loopback)؛ ويجب أن تستخدم نقاط النهاية البعيدة HTTPS.

تسرد [النظرة العامة](https://phaseo.app/docs/ar/v1/sdk-reference/client/overview.md#configure-the-client) كل الخيارات لكل لغة. بعد ذلك، راجع [الاستخدام](https://phaseo.app/docs/ar/v1/sdk-reference/client/usage.md) للاطلاع على مثال واحد لكل نقطة نهاية، أو [مرجع API](https://phaseo.app/docs/ar/v1/api-reference/introduction.md) لكل الحقول.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.