CLI

Partners — un agente para cada uno de tus clientes

Con ghosty partner le das un asistente a cada negocio que usa tu producto — un agente compartido que sólo usa tu MCP, memoria por cliente y credenciales para tu servidor.

Actualizado 2026-09-28

ghosty partner es para cuando tu producto le quiere dar un asistente a cada uno de sus clientes. Tú tienes un espacio de partner; cada negocio que usa tu producto es un tenant (lo identificas con tu propio externalId) y cada persona que le escribe a ese negocio es un usuario final (groupId).

  • Hay un solo agente compartido, en modo solo-MCP: no tiene máquina ni disco; sus únicas herramientas son las de tus servidores MCP por HTTPS.
  • Cada turno lleva un token de corta vida que Ghosty le pasa a tu MCP. Nunca va al prompt, a la memoria ni a los registros.
  • La memoria es por tenant y usuario final: un negocio nunca ve la de otro.

Tu espacio de partner

Estos comandos los corre la dueña del espacio, con su sesión (ghosty login).

bash
ghosty partner ls                                  # tus espacios de partnerghosty partner enable <espacio>                    # convierte uno de tus espacios en espacio de partnerghosty partner credentials ls                      # credenciales del servidor (sin secretos)ghosty partner credentials create --label produccion   # emite una: el secreto sale UNA vezghosty partner credentials rotate gpk_… --grace 60     # secreto nuevo, mismo keyIdghosty partner credentials revoke gpk_…            # la revoca (idempotente)ghosty partner audit                               # quién hizo qué y cuándo
  • create imprime GHOSTY_PARTNER_KEY=gpk_… y GHOSTY_PARTNER_SECRET=gps_…. Guárdalas en tu servidor en ese momento: el secreto no se vuelve a enseñar.
  • rotate --grace MIN deja válido el secreto anterior esos minutos (default 60) para que cambies tu servidor sin cortes.
  • creds es alias de credentials; revoke también se escribe rm.
  • Si tienes más de un espacio de partner, elige cuál con --workspace <slug> en cualquier comando.

El agente compartido

bash
ghosty partner agent get                           # la plantilla y su versiónghosty partner agent apply --file agent.json       # la crea o la actualiza (idempotente)

agent.json lleva sólo lo que quieras cambiar:

json
{  "name": "Nik",  "engine": "deepseek",  "prompt": "Eres el asistente de {negocio}…",  "mcp": [    { "name": "agenda", "url": "https://api.tu-producto.com/mcp", "headers": { "Authorization": "Bearer ${turn.token}" } }  ]}

Sólo servidores MCP por HTTPS. En los headers no van llaves fijas: sólo los placeholders ${turn.token} y ${tenant.externalId}. Si nada cambió, no se crea una versión nueva.

Tenants

bash
ghosty partner tenants lsghosty partner tenants get org_123ghosty partner tenants set org_123 --config '{"name":"Spa Luna","timezone":"America/Mexico_City"}'ghosty partner tenants rm org_123                  # borra su configuración Y su memoria

Un tenant es sólo configuración (name, tone, timezone, locale, notes): no tiene máquina propia. El primer turno de un externalId nuevo también lo da de alta.

Probar un turno

bash
ghosty partner try org_123 "¿qué citas tengo hoy?"ghosty partner try org_123 "¿y mañana?" --group cliente-42 --turn-token <token-de-corta-vida>
  • --group es el usuario final (default cli); cada uno tiene su propia conversación.
  • --turn-token es el token que Ghosty le pasará a tu MCP como ${turn.token}. Aquí --token también funciona y significa lo mismo (no es tu sesión).
  • Con --json sale una línea por evento del turno (chunk, tool, error…).

Probar como tu servidor

Con la credencial en el entorno, el CLI firma cada petición igual que lo hará tu backend (HMAC de ${ts}.${keyId}.${body}):

bash
export GHOSTY_PARTNER_KEY=gpk_…export GHOSTY_PARTNER_SECRET=gps_…ghosty partner agent getghosty partner try org_123 "hola"

Así funcionan agent, tenants y try. ls, enable, credentials y audit siempre usan tu sesión: una credencial no puede fabricar otras.