AIREITER
API-DOKSPREISE
VORLAGEN
  • AIReiter
  • Blog
  • OpenRouter Shell Tool und Files API im Praxistest (Beta)

OpenRouter Shell Tool und Files API im Praxistest (Beta)

Zuletzt aktualisiert: 2026-09-10 00:22:16

OpenRouters Shell-Workflow ist praktisch, wenn ein Modell Dateien einlesen, Code ausführen, Fehler untersuchen und am Ende ein Artefakt zurückgeben soll. Der entscheidende Haken: openrouter:shell, Container und Files API befinden sich noch in der Beta. Für den Einstieg solltest du deshalb mit einem klar begrenzten Job beginnen – nicht mit einem produktionskritischen Ausführungspfad.

Die Kurzfassung: Wann sich OpenRouter Shell lohnt

openrouter:shell stellt einem Tool-fähigen Modell eine gehostete Linux-Umgebung bereit. Das Modell kann Befehle ausführen, stdout, stderr und den Exit-Code auswerten und seine Arbeit anschließend korrigieren. Die Files API übernimmt dabei die Übergabe von Eingaben und Ausgaben.

Das Tool eignet sich besonders, wenn du Folgendes brauchst:

  • Ein modellunabhängiger Agent, der Code außerhalb deines Application-Servers ausführt.
  • Einen wiederholbaren Datei-Workflow, etwa für CSV-Analysen, PDF-Extraktion oder die Report-Erstellung.
  • Serverseitige Tool-Ausführung, ohne zunächst eine eigene Sandbox bauen zu müssen.

Als direkten Ersatz für eine lokale Shell solltest du das Ganze trotzdem nicht betrachten. Netzwerkzugriff ist standardmäßig deaktiviert, Container bleiben nicht automatisch erhalten und die API kann sich während der Beta noch ändern.

Die Architektur, auf die es in der Praxis ankommt

BausteinAufgabeDesigndetail mit Folgen
openrouter:shellErmöglicht einem Tool-fähigen Modell die Ausführung von BefehlenÜber Responses API und Anthropic Messages API verfügbar (Ankündigung)
ContainerFührt Befehle in einer isolierten Linux-Umgebung ausNeue Container starten leer, sofern du keine Session oder Container-Referenz wiederverwendest
Files APISpeichert Eingaben und übernommene AusgabenDirekte Uploads lassen sich anhängen, sind laut Dokumentation aber nicht herunterladbar (Upload-Referenz)

openrouter:bash ist die Anthropic-kompatible Alternative. Standardmäßig soll die Anwendung die Befehle lokal ausführen. Für die Remote-Ausführung setzt du engine: "openrouter", wie in der Shell-Ankündigung beschrieben.

Der Weg einer Datei durch das System

1. Eingabe hochladen und anhängen

Lade die Datei per POST /api/v1/files als Multipart-Formulardaten hoch. Die Upload-Referenz nennt eine maximale Einzeldateigröße von 100 MB sowie den optionalen Query-Parameter workspace_id.

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

Die Antwort enthält Metadaten wie Datei-ID, Dateiname, MIME-Typ, Byte-Größe, Erstellungszeitpunkt und ein downloadable-Flag. Die zurückgegebene Datei-ID trägst du im Array file_ids der Shell-Umgebung ein.

Angehängte Dateien werden als beschreibbare Kopien in den Container übernommen. Laut Shell-Ankündigung kann ein Container bis zu 20 angehängte Dateien erhalten. Änderungen an der Kopie wirken sich nicht auf die ursprüngliche Workspace-Datei aus.

Ein Entwickler begrüßte die Unterstützung der Files API ausdrücklich, nachdem er zuvor von Problemen mit PDF und OCR berichtet hatte. Das ist ein kleines, aber konkretes Indiz dafür, dass der Umgang mit Dateien in der Integration tatsächlich eine relevante Hürde war (Beitrag).

2. Ausführen, prüfen, nachbessern

Das Modell schickt einen Befehlsblock an den Container. Jede Ausführung liefert die Ausgabe und den Exit-Status zurück. So kann das Modell ein fehlgeschlagenes Skript reparieren, statt nur anhand der ursprünglichen Anfrage zu raten (Shell-Ankündigung).

Die Netzwerkregeln stehen standardmäßig auf Deny-All. Braucht der Job Paket-Downloads oder externe Requests, legst du beim Erstellen des Containers eine Allowlist an. OpenRouter dokumentiert für freigegebene Hosts die Ports 80 und 443; nach dem Start lässt sich diese Richtlinie nicht mehr ändern. Anfragen an Domains außerhalb der Allowlist können mit HTTP 520 fehlschlagen (Shell-Ankündigung).

In den Shell-Ergebnissen werden nur Dateien unter /workspace/home erfasst. Wenn die API dein Artefakt melden soll, musst du es dort ablegen. Dateien, die von der Shell erstellt oder verändert wurden, erhalten eine cfile_-ID (Shell-Ankündigung).

3. Ausgabe herunterladen oder dauerhaft übernehmen

Eine von der Shell erzeugte Datei rufst du über den Dateiinhalt-Endpunkt des Containers ab:

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

Die cfile_-ID gehört zum jeweiligen Container. Soll das Artefakt über den Lebenszyklus des Containers hinaus erhalten bleiben, übernimmst du es in den Workspace-Speicher. Dabei entsteht eine neue or_file_-ID, die du bei einem späteren Lauf wieder anhängen kannst (Shell-Ankündigung).

DateitypTypische IDÜber die Files API herunterladbar?Geeignet für
Direkter Uploador_file_...Nein, laut Download-ReferenzEingabe für einen späteren Lauf
Container-Artefaktcfile_...Über den Container-EndpunktTemporäre Ausgabe
Übernommenes Artefaktor_file_...JaWiederverwendbare oder länger vorgehaltene Ausgabe

Container-Dateien bleiben 30 Tage erhalten. Alles, was länger benötigt wird, solltest du in den Workspace übernehmen (Shell-Ankündigung). Der allgemeine Download-Endpunkt für Dateien liefert rohe Bytes und dokumentiert HTTP 400 für von Nutzern hochgeladene Dateien. Einen direkten Upload solltest du daher als Eingabe behandeln – nicht als frei verfügbares Objekt in einem allgemeinen Object Store.

Kosten und Limits mit Einfluss auf das Design

In der Shell-Ankündigung nennt OpenRouter für aktive Sandbox-Zeit Kosten von $0.0001 pro Sekunde. Für einen kalten Container gilt ein Mindestwert von 30 Sekunden; daraus ergibt sich rechnerisch eine minimale Sandbox-Gebühr von $0.003. Token-Kosten kommen separat hinzu.

LimitDokumentierter WertAuswirkung auf das Design
Aktive Sandbox-Zeit$0.0001/SekundeLange Befehle erhöhen die Kosten kontinuierlich
Mindestdauer für kalte Container30 SekundenAuch kleine Jobs können den Mindestbetrag auslösen
Container-Schlafmodus5 Minuten InaktivitätNach dem Schlafmodus kann bei der Wiederverwendung erneut das kalte Mindestmaß anfallen
Dateien pro Container20Eingaben bündeln oder gezielt bereitstellen
Größe einzelner Uploads100 MBGrößere Dateien aufteilen oder vorverarbeiten
Workspace-Speicher10 GiBAlte Artefakte löschen oder archivieren
Aufbewahrung nicht übernommener Container-Dateien30 TageWichtige Ausgaben dauerhaft übernehmen

Nutze für zusammengehörige Schritte einen warmen Container, vermeide unnötige Modell-Tool-Schleifen und protokolliere Token-Kosten getrennt von den Sandbox-Kosten. Laut Ankündigung zeigt die Logs-Ansicht Modellaktivität und Sandbox-Ausführung als separate Zeilen in der Zeitleiste.

Grundstruktur einer Anfrage

Das genaue Schema der Umgebung kann sich während der Beta noch ändern. Strukturell sieht der dokumentierte Ablauf aber so aus: Erst hochladen, dann die zurückgegebene Datei-ID an eine Shell-fähige Anfrage übergeben. Halte den Adapter für diese Anfrage schlank, damit du ihn bei Änderungen am Beta-Schema schnell anpassen kannst.

{
  "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"
}

Diese Struktur schickst du an den in der Ankündigung dokumentierten Responses-Endpunkt. Vor dem Einsatz in Produktion solltest du Request-Schema und Antwortfelder noch einmal gegen die aktuelle Dokumentation der Server-Tools prüfen.

Für die erste Integration empfiehlt sich diese Reihenfolge:

  1. Eine kleine Eingabedatei hochladen und die zurückgegebene Datei-ID speichern.
  2. Eine Anfrage für ein Tool-fähiges Modell erstellen und openrouter:shell in tools eintragen.
  3. Die Datei explizit über file_ids anhängen.
  4. Das Modell anweisen, Ausgaben unter /workspace/home zu speichern.
  5. Exit-Code und Dateiliste prüfen, bevor du den Job als erfolgreich behandelst.
  6. Das Container-Artefakt herunterladen oder übernehmen, wenn es später wiederverwendet werden soll.
  7. Token-Verbrauch und Sandbox-Dauer als getrennte Kostenfelder speichern.

Für einen Workflow über mehrere Anfragen hinweg übergibst du eine session_id oder eine explizite Container-Referenz. Andernfalls kann die nächste Anfrage in einem frischen Container landen, dem der bisherige Zustand fehlt.

Was zuerst schiefgeht – und wie du es abfängst

ProblemGegenmaßnahme
Das Modell kann das Tool nicht aufrufenWähle ein Modell mit Tool-Calling-Unterstützung. Die Deklaration eines Server-Tools fügt diese Fähigkeit nicht automatisch hinzu.
Der Befehl erreicht das Internet nichtMit deaktiviertem Netzwerk starten und die Allowlist vor dem Container-Start konfigurieren.
Die Ausgabe verschwindetUnter /workspace/home schreiben und die zurückgegebene cfile_-ID verwenden. Dauerhafte Artefakte übernehmen.
Ein Upload lässt sich nicht herunterladenDirekte Uploads als Eingaben behandeln; Shell-Ausgaben über den Container-Endpunkt oder den Übernahme-Workflow abrufen.
Die zweite Anfrage verliert das ProjektSession oder Container-Referenz wiederverwenden. Frische Container sind der Standard.
Die Rechnung fällt höher aus als erwartetToken-Kosten und Sandbox-Zeit getrennt betrachten und das kalte Mindestmaß von 30 Sekunden einkalkulieren.
Die Schnittstelle ändert sichDie Beta-Integration hinter einem Adapter kapseln und IDs, Downloadbarkeit sowie Wiederverwendung testen.

FAQ zu OpenRouter Shell und Files API

Führt OpenRouter Shell Befehle auf meinem Computer aus?

Nein. openrouter:shell ist für die Ausführung von Befehlen in einer von OpenRouter gehosteten Sandbox gedacht. Die Anthropic-kompatible Variante openrouter:bash hat andere Standardeinstellungen; für die Remote-Ausführung setzt du engine: "openrouter" (Shell-Ankündigung).

Wie bleiben Dateien zwischen mehreren Anfragen erhalten?

Verwende dieselbe Session oder Container-Referenz erneut. Ohne diesen expliziten Wiederverwendungsweg kann die nächste Anfrage in einem frischen Container starten.

Was ist der Unterschied zwischen or_file_ und cfile_?

or_file_ bezeichnet ein Workspace-Objekt der Files API. cfile_ steht für eine Datei, die innerhalb eines Containers erstellt oder verändert wurde. Durch die Übernahme wird aus einem Container-Artefakt eine neue Workspace-Datei-ID.

Fallen für die Files API separate Nutzungskosten an?

Laut Shell-Ankündigung verursacht die Nutzung der Files API keine separate Nutzungsgebühr. Der Workspace-Speicher ist jedoch auf 10 GiB begrenzt. Sandbox-Zeit und Modell-Token werden weiterhin nach den jeweils geltenden Tarifen abgerechnet.

Ist das Shell Tool bereit für den Produktionseinsatz?

Das Tool ist als Beta dokumentiert, und in der Ankündigung wird darauf hingewiesen, dass sich die API ändern kann. Bevor du es in einen unbeaufsichtigten Produktions-Workflow einhängst, solltest du klare Limits, begrenzte Befehle, Einschränkungen auf Anwendungsebene und einen Fallback einplanen.

Die richtige Wahl, wenn am Ende ein echtes Artefakt steht

OpenRouter Shell und Files API passen zu einer schrittweisen Pipeline, die etwa eine bereinigte CSV-Datei, einen Report, ein transformiertes Bild oder ein kompiliertes Artefakt erzeugt. Arbeite mit expliziten Datei-IDs, einer vorab festgelegten Netzwerkregel, wiederverwendbaren Containern und der Übernahme für dauerhafte Ausgaben.

Geht es nur um eine Textantwort, sind die zusätzlichen Sandbox-Kosten und der Aufwand für den Lebenszyklus unnötig. Braucht der Job lokale Zugangsdaten, uneingeschränkten Netzwerkzugriff oder harte Produktionsgarantien, solltest du die Ausführung zunächst in einer Infrastruktur belassen, die du selbst kontrollierst – bis die Beta für dieses Risikoniveau ausgereift genug ist.

Quellen: OpenRouter-Ankündigung zu Shell und Files API, Upload-Referenz der Files API, Referenz zum Herunterladen von Dateiinhalten.

>_AIReiter Modellverzeichnis

Schneller API-Zugriff auf Modelle zu diesem Guide

Claude Opus 5

Chat

Ein Premium-Model von Claude für komplexes Schlussfolgern, Programmierung und professionelle Arbeit mit langem Kontext.

AnthropicAPI-Key erstellen >

Claude Fable 5

Chat

Ein Premium-Claude-Modell für tiefes Denken und komplexe Arbeiten über längere Formate.

AnthropicAPI-Key erstellen >

Claude Fable 5.1

Chat

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

AnthropicAPI-Key erstellen >

Claude Opus 4.8

Chat

Ein leistungsstarkes Claude-Modell für anspruchsvolles Denken und professionelle Arbeit.

AnthropicAPI-Key erstellen >

Claude Sonnet 5

Chat

Ein ausgewogenes Claude-Modell für fortgeschrittenes Reasoning, Coding und die tägliche Arbeit.

AnthropicAPI-Key erstellen >

Neueste Beiträge

OpenRouter US In-Region Routing: Einrichtung und Grenzen

2026-09-10

Civitai-Alternativen: Hugging Face, Tensor.Art, SeaArt, ComfyUI

2026-09-10

Kling API Preise: Offizielle Kosten vs. Aggregatoren (2026)

2026-09-10

Runway-Adobe-Plugin im Test: Leitfaden für Premiere Pro und After Effects

2026-09-09
AIREITER

Fragen? Kontaktieren Sie uns unter
[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

KI-Video

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

KI-Bild

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

Blog

Alle anzeigen →

Unternehmen

DatenschutzrichtlinieNutzungsbedingungenRückerstattungsrichtlinie

© 2026 AIReiter. Alle Rechte vorbehalten.