Communitygithub.com

agentuity/sdk

Úsalo al agregar código de Agentuity a una aplicación de framework y elegir dónde pertenecen las rutas, páginas, funciones de servidor, configuración o clientes de servicio. Cubre la ubicación de archivos en Next.js, Nuxt, SvelteKit, Astro, Hono, React Router, Vite con React y TanStack Start.

¿Qué es sdk?

Esta guía de colocación de archivos de Agentuity ayuda a los desarrolladores a integrar el SDK de Agentuity en aplicaciones web basadas en frameworks modernos, como Next.js, Nuxt, SvelteKit, Astro, Hono, React Router, Vite con React y TanStack Start. Explica exactamente dónde colocar rutas de API, páginas, funciones de servidor y clientes de servicio según las convenciones de cada framework, evitando así errores comunes de configuración. El principio fundamental es mantener los clientes de Agentuity (como KeyValueClient) exclusivamente en el lado del servidor, sin exponer las claves del SDK en paquetes del navegador. Se fomenta además la práctica de crear funciones compartidas y delgadas, separando la lógica de negocio de la capa de ruta, para que el código pueda reutilizarse entre frameworks, pruebas, colas y scripts. Incluye tablas de referencia rápida para la creación de nuevos proyectos y para la adopción en aplicaciones existentes, junto con ejemplos de código y un middleware opcional para Hono.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/agentuity/sdk/tree/HEAD/skills/agentuity-frameworks

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Colocación en Frameworks de Agentuity

Agentuity funciona con la estructura de archivos normal de tu framework. Coloca rutas, páginas, funciones de servidor y configuración donde el framework lo espera. Añade clientes de Agentuity solo en código del lado del servidor.

Frameworks Soportados por create

agentuity create puede generar la estructura de estos frameworks:

FrameworkUbicación de rutas APIUbicación de UI de la appPropietario del script de desarrollo
Next.jssrc/app/api/<nombre>/route.tssrc/app/page.tsxNext.js
Nuxtserver/api/<nombre>.get.ts o .post.tsapp/app.vueNuxt
SvelteKitsrc/routes/<ruta>/+server.tssrc/routes/+page.svelteVite/SvelteKit
Astrosrc/pages/api/<nombre>.tssrc/pages/index.astroAstro
HonoManejadores de ruta en src/index.tssrc/landing.tsx al generarseScript de servidor de Hono

Usa el manejador de rutas del framework para validar la solicitud y luego llama a una función compartida para el trabajo real.

Adopción en una Aplicación Existente

Para aplicaciones que ya tengas, instala la CLI e importa el proyecto sin cambiar la forma de la app:

npm install -D @agentuity/cli
agentuity project import --name existing-app --confirm

Ubicaciones de rutas útiles:

FrameworkForma de la ruta de servidor
React Routerapp/routes/api.agentuity.ts, registrada en app/routes.ts
TanStack Startsrc/routes/api.agentuity.tsx con manejadores de servidor
Vite + ReactUn límite de servidor como server.ts; el código del navegador llama a ese servidor
Express u otros enrutadoresMódulo de ruta existente; importa clientes de Agentuity del lado del servidor

Regla de Solo Servidor

No expongas las claves del SDK de Agentuity en los paquetes del navegador. Los clientes de servicio pertenecen a rutas, acciones de servidor, trabajadores, scripts u otros módulos solo de servidor.

import { KeyValueClient } from '@agentuity/keyvalue';

const kv = new KeyValueClient();

export async function GET(): Promise<Response> {
  const result = await kv.get<{ checkedAt: string }>('health', 'latest');
  return Response.json({ ok: true, exists: result.exists });
}

Los componentes del navegador deben llamar a tu ruta de servidor:

const response = await fetch('/api/agentuity-health');
const status = await response.json();

Ruta Delgada, Función Compartida

Prefiere esta división para funciones de IA, trabajo en segundo plano y llamadas a servicios:

// lib/triage.ts
export async function triageMessage(message: string): Promise<{ priority: string }> {
  return { priority: message.includes('urgent') ? 'high' : 'normal' };
}
// archivo de ruta del framework
import { triageMessage } from '@/lib/triage';

export async function POST(request: Request): Promise<Response> {
  const body = (await request.json()) as { message?: string };
  if (!body.message) {
    return Response.json({ error: 'message is required' }, { status: 400 });
  }

  const result = await triageMessage(body.message);
  return Response.json(result);
}

Esto mantiene el código específico de la ruta pequeño y permite que la función principal se mueva entre frameworks, pruebas, colas, programaciones y scripts.

Opción de Middleware para Hono

En aplicaciones Hono, usa clientes directos por defecto cuando la portabilidad sea importante. Usa @agentuity/hono cuando acceder a los clientes a través del contexto de Hono mejore la legibilidad:

import { Hono } from 'hono';
import { agentuity } from '@agentuity/hono';
import type { Services } from '@agentuity/hono';

const app = new Hono<{ Variables: Pick<Services, 'kv'> }>();

app.use('*', agentuity());

app.get('/api/preferences/:userId', async (c) => {
  const result = await c.var.kv.get('preferences', c.req.param('userId'));
  return c.json({ exists: result.exists });
});

AI Gateway, base de datos, almacenamiento de objetos, webhooks y Coder son clientes directos.

Errores Comunes

ErrorEnfoque mejor
Poner clientes de servicio en componentes del navegadorLlama a una ruta de servidor que posea el cliente
Añadir nuevas carpetas que omitan las convenciones del frameworkUsa las ubicaciones de rutas/páginas del framework
Duplicar lógica de IA o de servicio en cada rutaPon el trabajo compartido en una función simple e impórtala
Asumir que todos los frameworks usan la misma ruta de APIRevisa la tabla de rutas antes de editar
Poner claves del SDK en prefijos públicos de entornoMantén AGENTUITY_SDK_KEY del lado del servidor

Documentación Útil

Skills relacionados