# @huggingface/tiny-agents

![meme](https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/blog/tiny-agents/legos.png)

Un equipo de aplicaciones de IA ligeras y componibles construidas sobre el Inference Client y el stack MCP de Hugging Face.

## Instalación

```bash
npm install @huggingface/tiny-agents
# or
pnpm add @huggingface/tiny-agents
```

## Uso de la CLI

```bash
npx @huggingface/tiny-agents [command] "agent/id"
```

```
Usage:
  tiny-agents [flags]
  tiny-agents run   "agent/id"
  tiny-agents serve "agent/id"

Available Commands:
  run         Run the Agent in command-line
  serve       Run the Agent as an OpenAI-compatible HTTP server
```

Puedes cargar agentes directamente desde el Dataset [tiny-agents](https://huggingface.co/datasets/tiny-agents/tiny-agents) del Hugging Face Hub, o especificar una ruta a tu propia configuración de agente local.

## Define tu propio agente

La forma más sencilla de crear tu propio agente es crear una carpeta que contenga un archivo `agent.json`:

```bash
mkdir my-agent
touch my-agent/agent.json
```

```json
{
	"model": "Qwen/Qwen2.5-72B-Instruct",
	"provider": "novita",
	"servers": [
		{
			"type": "stdio",
			"command": "npx",
			"args": ["@playwright/mcp@latest"]
		}
	]
}
```

O usando una URL de punto final local o remoto:

```json
{
	"model": "Qwen/Qwen3-32B",
	"endpointUrl": "http://localhost:1234/v1",
	"servers": [
		{
			"type": "stdio",
			"command": "npx",
			"args": ["@playwright/mcp@latest"]
		}
	]
}

```

Donde `servers` es una lista de servidores MCP (admitimos servidores Stdio, SSE y HTTP).

Opcionalmente, puedes añadir un archivo [`AGENTS.md`](https://agents.md/) (o `PROMPT.md`) para reemplazar el prompt predeterminado del Agente.

Luego, simplemente dirija tiny-agents a su carpeta local:

```bash
npx @huggingface/tiny-agents run ./my-agent
```

¡Voilà! 🔥

## Colección de Tiny Agents

Explora nuestra colección curada de Tiny Agents en https://huggingface.co/datasets/tiny-agents/tiny-agents. Cada agente se guarda en su propio subdirectorio, siguiendo la estructura descrita anteriormente. Ejecutar un agente desde el Hub es tan sencillo como usar su `agent_id`. Por ejemplo, para ejecutar el agente [`julien-c/flux-schnell-generator`](https://huggingface.co/datasets/tiny-agents/tiny-agents/tree/main/julien-c/flux-schnell-generator):

```bash
npx @huggingface/tiny-agents run "julien-c/flux-schnell-generator"
```

> [!NOTE]
> ¿Quieres compartir tu propio agente con la comunidad? Envía un PR al repositorio [Tiny Agents](https://huggingface.co/datasets/tiny-agents/tiny-agents/discussions) en el Hub. Tu envío debe incluir un archivo `agent.json`, y puedes añadir opcionalmente un archivo `PROMPT.md` o [`AGENTS.md`](https://agents.md/). Para ayudar a otros a comprender las capacidades de tu agente, considera incluir un archivo `EXAMPLES.md` con ejemplos de prompts y casos de uso.

## Avanzado: Uso programático

```typescript
import { Agent } from '@huggingface/tiny-agents';

const HF_TOKEN = "hf_...";

// Create an Agent
const agent = new Agent({
  provider: "auto",
  model: "Qwen/Qwen2.5-72B-Instruct",
  apiKey: HF_TOKEN,
  servers: [
    {
      // Playwright MCP
      command: "npx",
      args: ["@playwright/mcp@latest"],
    },
  ],
});

await agent.loadTools();

// Use the Agent
for await (const chunk of agent.run("What are the top 5 trending models on Hugging Face?")) {
    if ("choices" in chunk) {
        const delta = chunk.choices[0]?.delta;
        if (delta.content) {
            console.log(delta.content);
        }
    }
}
```

## Licencia

MIT

