¿Qué hace Personaje Kobutai?
Kobutai (小舞台) es una extensión de navegador y aplicación de escritorio: un pequeño personaje chibi actúa en la página mientras se reproducen música, videos, transmisiones en vivo o podcasts. Esta habilidad convierte la imagen favorita del usuario (o una descripción) en un personaje que Kobutai pueda importar:
subir ─► ficha de personaje ─► hoja de perfiles + pose base ─► GIFs de estado ─► make_pack.py ─► pet.json + spritesheet.webp
Responde en el idioma del usuario (inglés, 日本語 o 中文). Mantén los prompts de imagen en inglés.
Lee estos cuando llegues al paso que los necesite:
references/kobutai-contract.md- geometría de la hoja, qué GIF se convierte en qué estado de Kobutai, reglas de importación y uso compartidoreferences/prompts.md- todos los prompts de imagen, los bloques de estilo y las listas de acciones por actuaciónreferences/originality.md- qué hacer con personajes de terceros, OC, mascotas y personas reales
Generación de imágenes
Usa la generación de imágenes incorporada del anfitrión para cada imagen:
- Codex: la habilidad del sistema
$imagegen(herramientaimage_genincorporada). No llames a la API de imágenes ni a una CLI a menos que el usuario lo solicite explícitamente; ese camino necesita su clave API. - ChatGPT: generación de imágenes nativa.
Las imágenes 2.6 (Nov 2026) pueden devolver GIF animados. Solicita un GIF para cada estado animado. Si el anfitrión devuelve una imagen estática, rechaza la salida GIF o el GIF no es utilizable, usa el recurso de cuadrícula en references/prompts.md (8 fotogramas como un PNG de cuadrícula 4x2); make_pack.py lo divide.
Adjunta base.png (y la subida del usuario, etiquetada como "solo referencia de identidad") a cada generación de estado. Un estado generado sin la base adjunta no es válido: regenéralo.
Lista de verificación de progreso
Muestra y actualiza esta lista de verificación (lista de tareas si el anfitrión la tiene):
- Leyendo tu personaje
- Dibujando la hoja de perfiles
- Animando los estados
- Empaquetando para Kobutai
- Verificando y entregando
Flujo de trabajo
1. Lee el personaje
Mira cada imagen subida y escribe RUN/character.json (RUN = kobutai-<id>/ en el espacio de trabajo; en ChatGPT, /mnt/data/kobutai-<id>/). Los campos y un ejemplo están en references/prompts.md § Ficha de personaje. Decide:
- mode -
original/own/personalsegúnreferences/originality.md. El valor predeterminado para un personaje de terceros reconocible esoriginal: un personaje original inspirado en su estado de ánimo, colores y rol, no una copia. - style -
kobutai(estilo chibi de la casa, coincide con el elenco incorporado; predeterminado) okeep(mantener el estilo artístico de la subida, aún compacto y de cuerpo completo). - scene - qué hace el personaje mientras se reproduce el contenido (cantar, bailar, ser DJ, tocar un instrumento, escuchar cómodamente, mirar y reaccionar, tomar notas...). Elige de § Escenas de actuación.
- genres / type - etiquetas sugeridas para Kobutai, utilizadas más tarde en el diálogo de uso compartido de la extensión.
- chroma -
#00FF00, o#FF00FFcuando el personaje tiene verde.
Envía al usuario UN mensaje corto con la ficha (nombre, aspecto en una línea, modo, estilo, escena, etiquetas) y pídele que confirme o cambie algo. Continúa con los valores predeterminados si dice "adelante" o no le importa. Si la subida no tiene un solo personaje claro, pregunta cuál.
2. Hoja de perfiles y pose base
- Genera
RUN/profile.pngcon § Hoja de perfiles: vistas frontal, de tres cuartos, lateral y trasera, cuatro expresiones y una tira de paleta, sin texto. Esta es la hoja de modelo del usuario; muéstrasela. - Genera
RUN/base.pngcon § Pose base, adjuntandoprofile.png: una pose de pie relajada de cuerpo completo, vista de tres cuartos, sobre el fondo croma plano. Todos los estados se dibujan a partir de esta.
Si la identidad no es correcta (rostro, cabello, atuendo, paleta), corrígela aquí; cada paso posterior copia base.png.
3. Anima los estados
Genera en RUN/states/, un trabajo por archivo, con base.png adjunto cada vez:
| Archivo | Uso en Kobutai | Requerido |
|---|---|---|
idle.gif | esperando, sin nada reproduciéndose | sí |
playing.gif | el bucle de actuación mientras se reproduce el contenido (el más importante) | sí |
paused.png | UNA pose fija "esperándote" (Kobutai mantiene un solo fotograma) | recomendado |
appear.gif | entrada, se reproduce una vez cuando se dibuja el personaje | recomendado |
click.gif | reacción al ser tocado, se reproduce una vez | recomendado |
error.gif | bucle confundido/triste | opcional |
walk.gif, review.gif | solo se usan cuando el paquete también es una mascota de Codex | opcional |
Usa § GIF de estado con la lista de acciones para la escena elegida. Orden: idle y playing primero, verifícalos, luego el resto. Después de cada archivo, verifica rápidamente: mismo personaje, alrededor de 8 fotogramas distintos, un fondo liso, cuerpo completo dentro del fotograma, pies en una línea base, sin texto, sin efectos flotantes. Regenerea un estado fallido solo con § Reparar; nunca reinicies toda la ejecución por un mal estado.
Los GIFs/PNGs descargados de ChatGPT o $CODEX_HOME/generated_images/ deben copiarse en RUN/states/ con exactamente estos nombres.
4. Empaqueta
python3 <skill_dir>/scripts/make_pack.py RUN # Kobutai (hasta 8 fotogramas por fila)
python3 <skill_dir>/scripts/make_pack.py RUN --target codex # recuentos exactos de fotogramas para mascota de Codex
Necesita Pillow + numpy (pip install pillow numpy, scipy opcional). El script elimina el fondo (o mantiene la transparencia real), elimina fotogramas duplicados, iguala la escala entre GIFs, alinea los pies, escribe la hoja de 1536 x 1872 de Petdex/Codex y la valida exactamente como lo hace el importador de Kobutai. Opciones: --grid playing=4x2 para una imagen de cuadrícula con otro diseño, --scale click=0.9 cuando una fuente salió demasiado grande o pequeña, --key-low/--key-high para un fondo difícil.
El código de salida 2 significa que la validación falló; lee out/qa/report.json, corrige la fuente, vuelve a ejecutar.
Si el anfitrión no puede ejecutar Python (algunas configuraciones de ChatGPT), entrega profile.png, base.png, los archivos de estado y character.json como un zip e indica al usuario que ejecute el mismo comando localmente.
5. Verifica y entrega
Abre out/qa/contact.png y out/qa/preview.gif y míralos. Rechaza y repara cuando:
- cualquier fila cambia la cara, el cabello, el atuendo, la paleta o los accesorios
- el personaje cambia de tamaño o salta lateralmente entre fotogramas o entre estados
- una pose está recortada en el borde de la celda, o el fondo dejó un borde de color o motas
- el bucle de reproducción es visualmente estático, o idle tiene un movimiento grande
- a ~120 px de alto (el tamaño que muestra Kobutai) el personaje ya no es reconocible
Luego entrega:
kobutai-<id>.zipque contiene<id>/pet.json+<id>/spritesheet.webpprofile.pngypreview.gifpara ver y compartir- Cómo usarlo (de
references/kobutai-contract.md§ Importar): Kobutai → Importar → eligepet.jsonyspritesheet.webpjuntos. Opcional: copia la carpeta a~/.codex/pets/<id>/para usarlo también como mascota de Codex. - Solo para el modo
originalyown: pueden enviarlo a la biblioteca comunitaria semanal desde la extensión (Mis personajes importados → Compartir con todos, CC BY 4.0, se requiere nombre de crédito), con los géneros de la ficha. Para el modopersonaldi claramente que es solo para su uso personal.
Mantén RUN/ (ficha, perfil, base, estados) para que un posterior "hacer el baile más rápido" o "rehacer click" solo regenere un estado.
Costo
Una ejecución completa requiere alrededor de 8 generaciones de imágenes (perfil, base, idle, playing, paused, appear, click, error opcional) más reparaciones. Informa al usuario antes de comenzar una segunda ejecución completa.