Pi Coding Agent es el arnés terminal mínimo del proyecto pi-mono de Mario Zechner. La elección de diseño son solo cuatro herramientas (lectura, escritura, edición, bash) y extensiones para todo lo demás. La primera extensión que escriben la mayoría de los usuarios de Pi es la búsqueda web. Este tutorial muestra cómo agregar Scavio como una extensión Pi para que el agente pueda buscar en Google, Reddit, YouTube y plataformas minoristas durante una sesión.
Requisitos previos
- Nodo.js 20+
- Agente de codificación Pi instalado (npm install -g @mariozechner/pi-coding-agent)
- Una clave API de Scavio (250 créditos gratis en scavio.dev)
- Familiaridad básica con TypeScript
Guia paso a paso
Paso 1: Instalar el SDK de Scavio
Agregue el cliente Scavio TypeScript a su directorio de extensiones Pi.
cd ~/.pi/extensions
npm init -y
npm install scavioPaso 2: Crea el archivo de extensión
Las extensiones Pi son módulos TypeScript que exportan una función de registro de herramientas.
// ~/.pi/extensions/scavio-search.ts
import { Scavio } from 'scavio';
export const scavioSearch = {
name: 'web_search',
description: 'Search Google, Reddit, YouTube, Amazon via Scavio',
parameters: {
query: { type: 'string', required: true },
platform: { type: 'string', default: 'google' }
},
handler: async ({ query, platform }) => {
const client = new Scavio({ apiKey: process.env.SCAVIO_API_KEY });
const results = await client.search({ query, platform });
return results.organic_results?.slice(0, 5) || results;
}
};Paso 3: Registre la extensión con Pi
Agregue a su configuración Pi para que se cargue en cada sesión.
// ~/.pi/config.ts
import { scavioSearch } from './extensions/scavio-search';
export default {
extensions: [scavioSearch]
};Paso 4: Configure su clave API de Scavio
Exporte la clave para que las sesiones de Pi la recojan automáticamente.
echo 'export SCAVIO_API_KEY=sk_live_...' >> ~/.zshrc
source ~/.zshrcPaso 5: Utilice la herramienta en una sesión Pi
Inicie Pi y pídale que busque. El agente ahora tiene una herramienta de búsqueda web junto con lectura, escritura, edición y bash.
pi
> Find the latest Next.js 16 app router breaking changesEjemplo en Python
# Pi is TypeScript-native. For Python parity, use the Scavio Python SDK in your own harness:
import os
from scavio import Scavio
client = Scavio(api_key=os.environ['SCAVIO_API_KEY'])
results = client.search(query='Next.js 16 app router breaking changes')
for r in results['organic_results'][:5]:
print(r['title'], '-', r['link'])Ejemplo en JavaScript
import { Scavio } from 'scavio';
export const scavioSearch = {
name: 'web_search',
description: 'Search Google via Scavio',
parameters: { query: { type: 'string', required: true } },
handler: async ({ query }) => {
const client = new Scavio({ apiKey: process.env.SCAVIO_API_KEY });
return (await client.search({ query })).organic_results.slice(0, 5);
}
};Salida esperada
Pi session returns the top 5 Google results inline, ready to feed into the next agent step. The extension persists across every future Pi session and adds ~30 credits per call on Scavio.