Guías

Modelos para otros harnesses

Perfiles de ejemplo de models.json para Pi y OpenCode con modelos gratuitos y baratos, y qué ids de modelos se revisaron.

Los perfiles integrados de models.json corren todos en Claude Code. Esta página da perfiles de ejemplo que corren esos mismos tres tipos de trabajo en Pi u OpenCode, con un modelo gratuito para los scouts y uno pago y barato para una mission grande. Son ejemplos, no defaults: vexillum no los trae, y los perfiles integrados en el binario no cambian.

Un modelo gratuito retiene lo que digan los términos del proveedor, y no da garantías como commander

Un soldier le manda al proveedor tus prompts, los archivos que abre y la salida de los comandos que corre. Lo que los modelos gratuitos de Zen hacen con tus datos está en la documentación del propio OpenCode, leída el 2026-10-19 en la sección Privacy de opencode.ai/docs/zen (la página no imprime versión; estaba instalado OpenCode 2.0.32). Dice que los proveedores siguen una política de retención cero y no entrenan con tus datos, con excepciones, y nombra cuatro modelos gratuitos como de retención cero: glm-5.3-flash-free, deepseek-v4.1-flash-free, minimax-m3.1-flash-free y longcat-2.5-preview-free. La misma página dice que los gratuitos lo son por tiempo limitado. Varios otros modelos gratuitos figuran como que recolectan datos para mejorar el modelo (Big Pickle, Exo Free, MiMo, los Nemotron) o como que los retienen 30 días (LL Alpha Free, Beam Free). Un modelo gratuito que la página no menciona, como space-bunny-free o cat-jam-free, no está documentado como de retención cero: tratalo como si registrara todo. Los términos cambian, así que releé la página antes de usar uno, y no uses un modelo gratuito con código privado o propietario, ni en una máquina cuyos archivos o entorno guarden secretos.

Un modelo gratuito como commander es peor que como soldier: el commander lee tus pedidos y las reglas del proyecto, corre vx con su propio criterio y decide qué aterrizar. Los modelos gratuitos pueden ser poco confiables para llamar herramientas y para seguir reglas largas, y acá no se revisó nada sobre cómo se comporta ninguno en ese rol. Usá uno como commander solo en trabajo que puedas permitirte rehacer.

OpenCode

Escribí esto en .vexillum/models.json (o en el ~/.vexillum/models.json global). También está en el repositorio como docs/examples/models.opencode.json.

{
  "profiles": {
    "scout-facts": {
      "harness": "opencode",
      "model": "opencode/glm-5.3-flash-free",
      "effort": "low"
    },
    "scout-judgment": {
      "harness": "opencode",
      "model": "opencode/deepseek-v4.1-flash-free",
      "effort": "medium"
    },
    "mission-big": {
      "harness": "opencode",
      "model": "opencode/deepseek-v4-pro",
      "effort": "high"
    }
  }
}

Los tres perfiles llevan el nombre de perfiles integrados, así que cada uno pisa solo los tres campos que define y conserva la línea when integrada que lee el commander. Eso también reemplaza la configuración de Claude Code de ese perfil: con este archivo, scout-facts corre en OpenCode. Para conservar los perfiles de Claude y sumar estos al lado, dales nombres nuevos y escribí un when para cada uno (un perfil nuevo tiene que definir model, effort y when).

En OpenCode, effort es solo una etiqueta: se registra en la tarea y nunca se le pasa al modelo. Un variant sale solo del string del modelo (opencode/deepseek-v4-pro#high), y los nombres de variant dependen del modelo, así que acá no se fija ninguno. Mirá Usar OpenCode.

PerfilPor qué este modelo
scout-factsopencode/glm-5.3-flash-free: gratuito, y nombrado de retención cero en la página de Zen. Recuperar datos no pide criterio.
scout-judgmentopencode/deepseek-v4.1-flash-free: también gratuito y de retención cero, de otra familia de modelos, así que un scout de criterio recibe una segunda opinión de otro modelo. Si alcanza para juzgar está sin confirmar.
mission-bigopencode/deepseek-v4-pro: no es gratuito. En la página de Zen cuesta $1.74 de entrada y $3.48 de salida por millón de tokens (leído el 2026-10-19), contra $0.30 y $1.20 del más barato opencode/deepseek-v4.1-flash, que podés poner en su lugar. Si alguno de los dos sostiene una mission grande y ambigua está sin confirmar.

Pi

Pi elige un modelo como provider/id, y effort es un nivel de thinking que se pasa como --thinking. Pi 1.3.0 trae un provider opencode integrado para Zen, que lee la variable de entorno OPENCODE_API_KEY, así que los modelos pagos de Zen se alcanzan desde Pi. Está en el repositorio como docs/examples/models.pi.json:

{
  "profiles": {
    "scout-facts": {
      "harness": "pi",
      "model": "opencode/deepseek-v4.1-flash",
      "effort": "low"
    },
    "scout-judgment": {
      "harness": "pi",
      "model": "opencode/deepseek-v4.1-flash",
      "effort": "medium"
    },
    "mission-big": {
      "harness": "pi",
      "model": "opencode/deepseek-v4-pro",
      "effort": "high"
    }
  }
}

Los modelos gratuitos de Zen solo funcionan dentro del cliente de OpenCode: un pedido que venga de cualquier otro lado, Pi incluido, se rechaza con 403 OpenCode's free tier can only be used from within OpenCode. Por eso en Pi los scouts usan opencode/deepseek-v4.1-flash, el hermano pago del modelo gratuito de DeepSeek ($0.30 de entrada y $1.20 de salida por millón de tokens en la página de Zen, leído el 2026-10-19), y opencode/glm-5.3-flash-free ni siquiera está en el catálogo de Pi. Pi ajusta (clamp) un nivel de thinking que el modelo no soporta, así que high en un modelo que se queda más abajo corre en el nivel más cercano que tiene. Mirá Usar Pi.

Qué se revisó, y cuándo

Las dos listas se leyeron el 2026-10-19 bajo un HOME y directorios XDG_* descartables, nunca los reales, porque cualquier comando opencode arranca el servicio en segundo plano de su HOME.

Id del modeloopencode models, OpenCode 2.0.32pi --list-models, Pi 1.3.0
opencode/glm-5.3-flash-freelistadono listado
opencode/deepseek-v4.1-flash-freelistadolistado
opencode/deepseek-v4.1-flashlistado con OPENCODE_API_KEY definidalistado con OPENCODE_API_KEY definida
opencode/deepseek-v4-prolistado con OPENCODE_API_KEY definidalistado con OPENCODE_API_KEY definida

OpenCode lista los gratuitos sin ninguna clave. En Pi, pi --list-models no muestra nada hasta que un provider tiene credenciales, así que la lista de Pi se leyó con una OPENCODE_API_KEY falsa: prueba que el catálogo tiene el id, no que un pedido sería aceptado. minimax-m3.1-flash-free apareció en la lista de OpenCode solo con una clave de Zen definida. Corré vos los mismos dos comandos, con tus propias credenciales, antes de copiar un id: los modelos se agregan y se retiran seguido, y los gratuitos lo son por tiempo limitado.

No se midió nada sobre velocidad, confiabilidad al llamar herramientas ni calidad. Se reportó en el upstream un problema con las llamadas a herramientas de DeepSeek V4 en Zen (anomalyco/opencode#36354, cerrado) y no se volvió a revisar contra 2.0.32 acá.

Relacionado

En esta página