---
title: SDK
description: "Use Beeuni Computer como backend de agentes para seu produto."
---

Use `@beeuni/sdk` para gerenciar projetos, executar sessões de agentes e conectar suas ferramentas.

## Instalação

```bash
npm install @beeuni/sdk
```

## Criar um cliente

Crie uma chave de API em **Account → Tokens**. Mantenha as chaves de API do servidor no seu servidor.

```ts
import { createBeeuni } from '@beeuni/sdk';

const beeuni = createBeeuni({
  backendUrl: 'https://api.beeuni.ai/v1',
  getToken: async () => process.env.BEEUNI_API_KEY ?? null,
});

const projects = await beeuni.projects.list();
```

O SDK chama `getToken` em cada solicitação. Seu aplicativo gerencia o armazenamento e a renovação dos tokens; veja [Autenticação](/docs/pt/sdk/auth).

## Chamar um Connector

Encontre as ferramentas disponíveis no projeto e confira o esquema de entrada de uma ferramenta. Beeuni gerencia as credenciais das conexões.

Defina `BEEUNI_PROJECT_ID` como o ID de um projeto existente acessível à sua chave API.

```ts
const projectId = process.env.BEEUNI_PROJECT_ID!;
const connectors = beeuni.project(projectId).connectors;

console.log(await connectors.catalog());
console.log(await connectors.search('search email'));
```

Substitua `toolName` por um nome retornado pela busca e preencha `args` conforme o esquema de entrada. Chamadas exigem uma conexão autorizada e permissão para a ferramenta.

```ts
const toolName = 'your_connector.your_action';
console.log(await connectors.describe(toolName));

const args = {};
const result = await connectors.call(toolName, args);
console.log(result);
```

## Iniciar a primeira sessão

```ts
const created = await beeuni.project(projectId).sessions.create({
  name: 'My first SDK session',
});
const session = beeuni.session(projectId, created.session_id);

await session.ensureReady();
await session.send('Describe your capabilities in one paragraph.');
```

`ensureReady()` inicia ou retoma a sessão e aguarda até que esteja pronta. Sem substituições, `send()` usa o modelo e o agente configurados no projeto. Sessões consomem créditos.

Para receber eventos e ler a resposta, consulte o [exemplo completo](/docs/pt/sdk/example). Para uma interface React, use [React hooks](/docs/pt/sdk/react).

## Guias

- [Entrar com Beeuni](/docs/pt/sdk/sign-in)
- [Exemplo completo](/docs/pt/sdk/example)
- [Autenticação](/docs/pt/sdk/auth)
- [Sessões](/docs/pt/sdk/sessions)
- [Apps](/docs/pt/sdk/apps)
- [Hooks React](/docs/pt/sdk/react)
- [Referência da API](/docs/pt/sdk/reference)
