> ## 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.

# Instalación del Agent SDK

> Instala el Agent SDK de Phaseo y configura la clave de API que usa su cliente de gateway.

Instala el paquete del Agent SDK de tu lenguaje, configura `PHASEO_API_KEY` y crea un primer agente en [Uso](https://phaseo.app/docs/es/v1/sdk-reference/agent/usage.md). Cada paquete incluye como dependencia el cliente principal de Phaseo de su lenguaje.

**1. Instala el paquete**

> [tab] TypeScript
>
> Instala [`@phaseo/agent-sdk`](https://www.npmjs.com/package/@phaseo/agent-sdk) 0.3.0 en un proyecto de TypeScript o JavaScript. `@phaseo/sdk` se instala con él.
>
> ```bash npm theme={null}
> npm install @phaseo/agent-sdk
> ```
>
> ```bash pnpm theme={null}
> pnpm add @phaseo/agent-sdk
> ```
>
> ```bash yarn theme={null}
> yarn add @phaseo/agent-sdk
> ```
>
> ```bash bun theme={null}
> bun add @phaseo/agent-sdk
> ```

> [tab] Python
>
> Instala [`phaseo-agent-sdk`](https://pypi.org/project/phaseo-agent-sdk/) 0.3.0 en un entorno de Python 3.10 o posterior. El cliente principal `phaseo` (3.x) se instala con él, y el paquete se instala como el módulo `phaseo_agent`.
>
> ```bash pip theme={null}
> pip install phaseo-agent-sdk
> ```
>
> ```bash uv theme={null}
> uv add phaseo-agent-sdk
> ```

> [tab] Go
>
> Añade [`agent-sdk-go`](https://pkg.go.dev/github.com/phaseoteam/Phaseo/packages/sdk/agent-sdk-go) `v0.3.0` con Go 1.24 o posterior. Go añade el cliente principal, `github.com/phaseoteam/Phaseo/packages/sdk/sdk-go/v3`, como dependencia.
>
> ```bash theme={null}
> go get github.com/phaseoteam/Phaseo/packages/sdk/agent-sdk-go@latest
> ```
>
> Importa el paquete del agente como `phaseoagent`:
>
> ```go theme={null}
> import phaseoagent "github.com/phaseoteam/Phaseo/packages/sdk/agent-sdk-go"
> ```

> [tab] C#
>
> Añade [`Phaseo.AgentSdk`](https://www.nuget.org/packages/Phaseo.AgentSdk) 0.3.0 desde NuGet. Necesitas .NET 8 o posterior. NuGet añade `Phaseo.Sdk` como dependencia.
>
> ```bash theme={null}
> dotnet add package Phaseo.AgentSdk
> ```
>
> Los tipos del agente están en el espacio de nombres `PhaseoAgentSdk`:
>
> ```csharp theme={null}
> using PhaseoAgentSdk;
> ```

> [tab] PHP
>
> Añade [`phaseo/agent-sdk`](https://packagist.org/packages/phaseo/agent-sdk) `v0.3.0` con Composer. Necesitas PHP 8.1 o posterior. Composer añade `phaseo/sdk` (`^3.0.0`) como dependencia.
>
> ```bash theme={null}
> composer require phaseo/agent-sdk
> ```
>
> Las clases del agente están en el espacio de nombres `Phaseo\AgentSdk`:
>
> ```php theme={null}
> use Phaseo\AgentSdk\AgentDefinition;
> use Phaseo\AgentSdk\AgentSdk;
> use Phaseo\AgentSdk\Tool;
> ```

> [tab] Ruby
>
> Añade [`phaseo_agent_sdk`](https://rubygems.org/gems/phaseo_agent_sdk) 0.3.0 con RubyGems o Bundler. Necesitas Ruby 3.2 o posterior. RubyGems añade `phaseo_sdk` (`>= 3.0.0, < 4.0.0`) como dependencia.
>
> ```bash gem theme={null}
> gem install phaseo_agent_sdk
> ```
>
> ```ruby Gemfile theme={null}
> gem "phaseo_agent_sdk"
> ```
>
> Carga el módulo del agente con:
>
> ```ruby theme={null}
> require "phaseo_agent_sdk"
> ```

> [tab] Java
>
> Añade `app.phaseo:phaseo-agent-sdk` 0.3.0 desde Maven Central. Necesitas Java 17 o posterior. La compilación añade `app.phaseo:phaseo-sdk` 3.0.0 y Jackson como dependencias. Todos los tipos son records anidados en `app.phaseo.agent.AgentSdk`.
>
> ```xml Maven theme={null}
> <dependency>
>   <groupId>app.phaseo</groupId>
>   <artifactId>phaseo-agent-sdk</artifactId>
>   <version>0.3.0</version>
> </dependency>
> ```
>
> ```kotlin Gradle theme={null}
> implementation("app.phaseo:phaseo-agent-sdk:0.3.0")
> ```
>
> Para compilarlo desde el código fuente:
>
> ```bash theme={null}
> git clone https://github.com/phaseoteam/Phaseo.git
> cd Phaseo
> mvn -f packages/sdk/agent-sdk-java/pom.xml package
> ```

> [tab] Rust
>
> Añade [`phaseo-agent`](https://crates.io/crates/phaseo-agent) y el cliente `phaseo`, ambos en la versión 0.2.0 de crates.io, con Rust 1.86 o posterior. A diferencia de los demás lenguajes, el cliente principal lo añades tú.
>
> ```toml Cargo.toml theme={null}
> [dependencies]
> phaseo = "0.2"
> phaseo-agent = "0.2"
> serde_json = "1"
> ```
>
> ```bash cargo theme={null}
> cargo add phaseo@0.2 phaseo-agent@0.2 serde_json
> ```

**2. Configura tu clave de API**

Crea una clave en [Claves de API](https://phaseo.app/settings/keys) y expórtala:

```bash macOS y Linux theme={null}
export PHASEO_API_KEY="phaseo_v1_sk_..."
```

```powershell Windows theme={null}
$env:PHASEO_API_KEY = "phaseo_v1_sk_..."
```

La mayoría de los clientes de gateway leen la clave del entorno; el de Python no. TypeScript, Python y Java ignoran `PHASEO_BASE_URL`:

| Lenguaje | Cliente de gateway | Lee `PHASEO_API_KEY` | Lee `PHASEO_BASE_URL` | Pásalos en código con |
| - | - | - | - | - |
| TypeScript | `createGatewayAgentClient()` | Sí | No | `clientOptions.apiKey`, `clientOptions.baseUrl` |
| Python | `create_gateway_agent_client()` | No; lanza `ValueError` si no hay clave | No | `client_options={"api_key": ...}` o `client=Phaseo()` |
| Go | `CreateGatewayAgentClient(...)` | Sí, cuando `APIKey` está vacío | Sí, cuando `BaseURL` está vacío | `GatewayAgentClientOptions.APIKey`, `.BaseURL` |
| C# | `AgentSdk.CreateGatewayAgentClient()` | Sí | Sí | `apiKey`, `baseUrl` en `GatewayAgentClientOptions.ClientOptions` |
| PHP | `AgentSdk::createGatewayAgentClient()` | Sí | Sí | `api_key`, `base_url` en `GatewayAgentClientOptions::$clientOptions` |
| Ruby | `PhaseoAgentSdk.create_gateway_agent_client` | Sí | Sí | `api_key:`, `base_url:` |
| Java | `AgentSdk.createGatewayAgentClient()` | Sí | No | `new AgentSdk.GatewayOptions(null, apiKey, baseUrl, null, null, null)` |
| Rust | `create_gateway_agent_client(model)`, `GatewayAgentClient::from_env(model)` | Sí | Sí, a través del cliente `phaseo` | `GatewayAgentClient::new(client, model)` |

La URL base predeterminada es `https://api.phaseo.app/v1`.

**3. Comprueba la instalación**

Crea un agente sin llamar al modelo. Si esto compila y se ejecuta, el paquete está instalado:

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

createAgent({ id: "verification-agent", model: "openai/gpt-6-astra" });
console.log("Phaseo Agent SDK installed");
```

```python Python theme={null}
from phaseo_agent import create_agent

create_agent({"id": "verification-agent", "model": "openai/gpt-6-astra"})
print("Phaseo Agent SDK installed")
```

```go Go theme={null}
package main

import (
  "fmt"

  phaseoagent "github.com/phaseoteam/Phaseo/packages/sdk/agent-sdk-go"
)

func main() {
  phaseoagent.CreateAgent(phaseoagent.AgentDefinition{ID: "verification-agent", Model: "openai/gpt-6-astra"})
  fmt.Println("Phaseo Agent SDK installed")
}
```

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

AgentSdk.CreateAgent(new AgentDefinition { Id = "verification-agent", Model = "openai/gpt-6-astra" });
Console.WriteLine("Phaseo Agent SDK installed");
```

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

use Phaseo\AgentSdk\AgentDefinition;
use Phaseo\AgentSdk\AgentSdk;

AgentSdk::createAgent(new AgentDefinition(id: "verification-agent", model: "openai/gpt-6-astra"));
echo "Phaseo Agent SDK installed" . PHP_EOL;
```

```ruby Ruby theme={null}
require "phaseo_agent_sdk"

PhaseoAgentSdk.create_agent(id: "verification-agent", model: "openai/gpt-6-astra")
puts "Phaseo Agent SDK installed"
```

```rust Rust theme={null}
use phaseo_agent::{create_agent, AgentDefinition};

fn main() {
    let _agent = create_agent(AgentDefinition::new(
        "verification-agent",
        "openai/gpt-6-astra",
    ));
    println!("Phaseo Rust Agent SDK installed");
}
```

Java no tiene una forma abreviada: `AgentDefinition` es un record posicional, que se muestra completo en [Uso](https://phaseo.app/docs/es/v1/sdk-reference/agent/usage.md).


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