AIREITER
DOCS APIPRECIOS
PLANTILLAS
  • AIReiter
  • Blog
  • Guía de OpenRouter Shell Tool y Files API (Beta)

Guía de OpenRouter Shell Tool y Files API (Beta)

Última actualización: 2026-09-10 00:24:08

El flujo de trabajo de OpenRouter Shell resulta útil cuando un modelo necesita leer un archivo, ejecutar código, analizar un error y devolver un artefacto. La limitación importante es que openrouter:shell, los contenedores y Files API siguen en beta, así que conviene empezar con tareas acotadas y no con procesos críticos de producción.

La respuesta corta: cuándo merece la pena usar OpenRouter Shell

openrouter:shell proporciona a los modelos capaces de usar herramientas un entorno Linux alojado. El modelo puede ejecutar comandos, recibir stdout, stderr y el código de salida, y corregir el trabajo a partir de esos resultados. Files API se encarga de mover las entradas y las salidas entre las distintas partes del flujo.

Es una buena opción si necesitas:

  • Un agente independiente del modelo que ejecute código fuera del servidor de tu aplicación.
  • Un proceso repetible para trabajar con archivos, como analizar CSV, extraer datos de PDF o generar informes.
  • Ejecutar herramientas en el servidor sin tener que construir primero tu propio sandbox.

No lo trates como un sustituto directo de un shell local. La red está desactivada por defecto, los contenedores no son persistentes automáticamente y la API puede cambiar durante la beta.

La arquitectura que importa en la práctica

ComponenteQué haceEl detalle que condiciona el diseño
openrouter:shellPermite que un modelo compatible con herramientas ejecute comandosEstá disponible mediante Responses API y Anthropic Messages API (anuncio)
ContenedorEjecuta comandos en un entorno Linux aisladoLos contenedores nuevos parten de cero, salvo que reutilices una sesión o referencia de contenedor
Files APIAlmacena las entradas y las salidas promocionadasLos archivos subidos directamente se pueden adjuntar, pero la documentación indica que no se pueden descargar (referencia de subida)

openrouter:bash es la alternativa compatible con Anthropic. Su ruta de ejecución predeterminada pide a la aplicación que ejecute los comandos localmente; establece engine: "openrouter" cuando necesites ejecución remota, tal como se explica en el anuncio de Shell.

El recorrido de un archivo por el sistema

1. Sube el archivo y adjúntalo como entrada

Sube el archivo mediante POST /api/v1/files y datos de formulario multipart. La referencia de subida establece un tamaño máximo de 100 MB por archivo y un parámetro de consulta opcional llamado workspace_id.

curl -X POST https://openrouter.ai/api/v1/files \
  -H "Authorization: Bearer $OPENROUTER_API_KEY" \
  -F "file=@data/sales.csv"

La respuesta incluye metadatos como el ID del archivo, el nombre, el tipo MIME, el tamaño en bytes, la fecha de creación y un indicador downloadable. Añade el ID recibido al array file_ids del entorno de Shell.

Los archivos adjuntos se copian en el contenedor como copias modificables. Cada contenedor puede recibir hasta 20 archivos adjuntos, según el anuncio de Shell. Editar la copia no modifica el archivo original del workspace.

Un desarrollador agradeció expresamente la compatibilidad con Files API después de describir los problemas que había tenido antes con PDF y OCR. Es una señal pequeña, pero concreta, de que la gestión de archivos era un problema real de integración (publicación).

2. Ejecuta, inspecciona y repite

El modelo envía un lote de comandos al contenedor. Cada invocación devuelve la salida y el estado de finalización, de modo que el modelo puede reparar un script fallido en lugar de limitarse a adivinar a partir de la instrucción original (anuncio de Shell).

La política de red predeterminada bloquea todo el tráfico. Si el trabajo necesita descargar paquetes o realizar peticiones externas, configura una lista de permitidos al crear el contenedor. OpenRouter documenta los puertos 80 y 443 para los hosts autorizados; la política no se puede modificar después del arranque. Las peticiones a dominios que no estén en la lista pueden fallar con HTTP 520 (anuncio de Shell).

En los resultados de Shell solo se capturan los archivos que estén bajo /workspace/home. Si esperas que la API informe de un artefacto, guárdalo ahí. Los archivos creados o modificados por Shell reciben identificadores cfile_ (anuncio de Shell).

3. Descarga o promociona la salida

Puedes recuperar un archivo generado por Shell mediante el endpoint de contenido de archivos del contenedor:

GET /api/v1/containers/{container_id}/files/{file_id}/content

El identificador cfile_ pertenece al contenedor. Si el artefacto debe sobrevivir al ciclo de vida del contenedor, promociónalo al almacenamiento del workspace. La promoción crea un nuevo identificador or_file_ que podrás adjuntar en ejecuciones posteriores (anuncio de Shell).

Tipo de archivoID habitual¿Puede descargarlo Files API?Uso más adecuado
Subida directaor_file_...No, según la referencia de descargaEntrada para una ejecución posterior
Artefacto del contenedorcfile_...A través del endpoint del contenedorSalida temporal
Artefacto promocionadoor_file_...SíSalida reutilizable o de mayor duración

Los archivos de los contenedores se conservan durante 30 días. Promociona todo lo que necesites guardar durante más tiempo (anuncio de Shell). El endpoint general de descarga de archivos devuelve bytes sin procesar y documenta HTTP 400 para los archivos subidos por el usuario. Por tanto, una subida directa debe tratarse como una entrada, no como un objeto de almacenamiento de propósito general.

Costes y límites que condicionan el diseño

El anuncio de Shell de OpenRouter indica que el tiempo activo del sandbox cuesta $0.0001 por segundo. Un contenedor en frío tiene un mínimo de 30 segundos, por lo que el cargo mínimo del sandbox es de $0.003, calculado a partir de esa tarifa. El uso de tokens se cobra aparte.

RestricciónValor documentadoImplicación para el diseño
Tiempo activo del sandbox$0.0001/segundoLos comandos largos incrementan el coste continuamente
Mínimo de un contenedor en frío30 segundosLas tareas pequeñas pueden activar el mínimo
Suspensión del contenedor5 minutos de inactividadTras la suspensión, reutilizarlo puede volver a generar el mínimo de arranque en frío
Archivos por contenedor20Agrupa las entradas o organízalas de forma deliberada
Tamaño de cada archivo subido100 MBDivide o preprocesa los archivos más grandes
Almacenamiento del workspace10 GiBElimina o archiva los artefactos antiguos
Retención de contenedores no promocionados30 díasPromociona las salidas importantes

Reutiliza un contenedor activo para los pasos relacionados, evita los bucles innecesarios entre el modelo y las herramientas, y registra por separado el coste de los tokens y el del sandbox. El anuncio indica que la vista Logs muestra la actividad del modelo y la ejecución del sandbox en filas independientes de la línea de tiempo.

Estructura básica de la petición

El esquema exacto del entorno puede cambiar durante la beta, pero el flujo documentado es este: primero sube el archivo y después pasa el ID devuelto a una petición compatible con Shell. Mantén pequeño el adaptador de peticiones para poder actualizarlo si cambia el esquema de la beta.

{
  "model": "your/tool-capable-model",
  "tools": [
    {
      "type": "openrouter:shell",
      "environment": {
        "type": "container_auto",
        "file_ids": ["or_file_your_uploaded_file_id"]
      }
    }
  ],
  "input": "Analyze the attached CSV and write a summary to /workspace/home/report.md"
}

Envía esta estructura al endpoint de Responses que se documenta en el anuncio. Antes de usarla en producción, comprueba el esquema actual de la petición y los campos de respuesta en la documentación activa de las herramientas del servidor.

Para una primera integración, sigue esta secuencia:

  1. Sube un archivo de entrada pequeño y guarda el ID recibido.
  2. Crea una petición para un modelo compatible con herramientas e incluye openrouter:shell en tools.
  3. Adjunta el archivo explícitamente mediante file_ids.
  4. Pide al modelo que escriba las salidas bajo /workspace/home.
  5. Comprueba el código de salida y la lista de archivos antes de dar el trabajo por terminado.
  6. Descarga el artefacto del contenedor o promociónalo si necesitas reutilizarlo.
  7. Registra el uso de tokens y la duración del sandbox en campos de coste independientes.

En un flujo con varias peticiones, pasa un session_id o una referencia explícita al contenedor. De lo contrario, una petición posterior puede recibir un contenedor nuevo sin nada del estado anterior.

Qué suele fallar primero y cómo prepararte

ProblemaRespuesta de diseño
El modelo no puede usar la herramientaSelecciona un modelo compatible con llamadas a herramientas; declarar una herramienta del servidor no añade esa capacidad.
El comando no puede acceder a InternetEmpieza con la red bloqueada y configura la lista de permitidos antes de arrancar.
La salida desapareceEscribe bajo /workspace/home y utiliza el ID cfile_ devuelto. Promociona los artefactos que deban conservarse.
No se puede descargar una subidaTrata las subidas directas como entradas; recupera las salidas de Shell mediante el endpoint del contenedor o el flujo de promoción.
La segunda petición pierde el proyectoReutiliza la sesión o la referencia al contenedor. Los contenedores nuevos son el comportamiento predeterminado.
La factura es más alta de lo esperadoSepara los cargos de tokens del tiempo de sandbox e incluye el mínimo de 30 segundos de los contenedores en frío.
La interfaz cambiaMantén la integración beta detrás de un adaptador y prueba los identificadores, la posibilidad de descarga y la reutilización.

Preguntas frecuentes sobre OpenRouter Shell y Files API

¿OpenRouter Shell ejecuta comandos en mi ordenador?

No. openrouter:shell está diseñado para ejecutar comandos en un sandbox alojado por OpenRouter. El openrouter:bash compatible con Anthropic tiene otros valores predeterminados; utiliza engine: "openrouter" para la ejecución remota (anuncio de Shell).

¿Cómo mantengo los archivos entre peticiones?

Reutiliza una sesión o una referencia al contenedor. Sin esa ruta explícita de reutilización, una petición posterior puede iniciar un contenedor nuevo.

¿Cuál es la diferencia entre or_file_ y cfile_?

or_file_ identifica un objeto de Files API almacenado en el workspace. cfile_ identifica un archivo creado o modificado dentro de un contenedor. La promoción convierte un artefacto del contenedor en un nuevo ID de archivo del workspace.

¿Files API cobra una tarifa de uso independiente?

El anuncio de Shell indica que el uso de Files API no tiene un cargo independiente, aunque el almacenamiento del workspace está limitado a 10 GiB. El tiempo del sandbox y el uso de tokens del modelo siguen facturándose según las tarifas aplicables.

¿Shell Tool está listo para producción?

Está documentado como beta y el anuncio advierte de que la API puede cambiar. Antes de colocarlo detrás de un flujo de producción desatendido, utiliza límites explícitos, comandos acotados, restricciones a nivel de aplicación y una ruta alternativa.

Elige esta opción si tu flujo genera un artefacto real

OpenRouter Shell y Files API encajan en una cadena de trabajo por etapas que produzca un CSV limpio, un informe, una imagen transformada o un artefacto compilado. Utiliza IDs de archivo explícitos, una política de red definida de antemano, reutilización de contenedores y promoción para las salidas que deban conservarse.

Si la tarea solo requiere una respuesta de texto, el coste adicional del sandbox y la gestión de su ciclo de vida no compensan. Y si necesita credenciales locales, acceso de red sin restricciones o garantías estrictas de producción, mantén la ejecución en una infraestructura bajo tu control hasta que la beta esté suficientemente madura para asumir ese riesgo.

Fuentes: anuncio de OpenRouter Shell y Files API, referencia de subida de Files API, referencia de descarga del contenido de archivos.

>_Directorio de modelos AIReiter

Acceso API rápido a modelos relacionados con esta guía

Claude Opus 5

Chat

Un modelo premium de Claude para razonamiento complejo, programación y trabajo profesional con contexto largo.

AnthropicCrear API Key >

Claude Fable 5

Chat

Un modelo premium de Claude para razonamiento profundo y trabajo complejo de formato largo.

AnthropicCrear API Key >

Claude Fable 5.1

Chat

Mythos-class model for long-horizon coding, research, and knowledge work.

AnthropicCrear API Key >

Claude Opus 4.8

Chat

Un modelo Claude de alta capacidad para tareas que exigen razonamiento y trabajo profesional.

AnthropicCrear API Key >

Claude Sonnet 5

Chat

Un modelo Claude equilibrado para razonamiento avanzado, programación y trabajo diario.

AnthropicCrear API Key >

Publicaciones recientes

OpenRouter US In-Region Routing: configuración y límites

2026-09-10

Alternativas a Civitai: Hugging Face, Tensor.Art, SeaArt y ComfyUI

2026-09-10

Precios de la API de Kling: coste oficial frente a agregadores (2026)

2026-09-10

Análisis del plugin de Runway para Adobe: guía para Premiere Pro y After Effects

2026-09-09
AIREITER

¿Preguntas? Contáctanos en
[email protected]

新速率有限公司NEWRATE LIMITED香港九龍花園街 2-16 號好景商業中心 2304 室Room 2304, Haojing Commercial Center, 2-16 Garden Street, Kowloon, Hong Kong

LLM

GPT-6 AstraGemini 3.8 FlashClaude Fable 5.1GLM-5.3 FlashGemini 3.6 Flash

Video IA

Gemini Omni 1.1 Flash ExtMiniMax H3Kling 3.0 Motion ControlKling 3.0 TurboKling 3.0

Imagen IA

GPT-Image 2.5Grok Imagine Image 2.0Midjourney V8.1Midjourney V7Z-Image Turbo

Blog

Ver todo →

Compañía

Política de privacidadTérminos de servicioPolítica de reembolso

© 2026 AIReiter. Todos los derechos reservados.