Skip to main content
OpenScience liest einen Provider-Eintrag aus einer JSON-Datei. Eine Standard-Build erfordert keine Quellcodeänderung. OpenScience kann start_within in der Konfiguration festlegen, daher ist ein Agent-Schlüssel hier optional. Der Schlüssel ist jedoch weiterhin der einfachere Weg, da er sich ohne Neustart ändern lässt. Siehe Agent-Schlüssel.

Einrichtung mit einem Agenten

Öffnen Sie den folgenden Block und kopieren Sie ihn in einen beliebigen Coding-Agenten. Der Prompt fragt niemals nach Ihrem API-Schlüssel: Der Agent konfiguriert alles andere und gibt dann die eine Exportzeile aus, die Sie selbst ausführen können.

OpenScience konfigurieren

  1. Exportieren Sie den Schlüssel in der Shell, die OpenScience startet.
  1. Schreiben Sie den Provider-Eintrag in openscience.json.
  1. Starten Sie OpenScience mit dem festgelegten Konfigurationsverzeichnis.
Lassen Sie start_within aus den options weg, wenn Ihr Schlüssel die Deadline enthält. Wir füllen einen gespeicherten Standardwert nur dann ein, wenn das Feld fehlt; ein hier angegebener Wert würde den Schlüssel bei jeder Anfrage überschreiben. Setzen Sie stattdessen "start_within": "default" für jedes Modell, wenn Sie keinen Agent-Schlüssel verwenden. Das ist die sichere Basislinie, da ein Modell, das ohne Sitzungsauswahl ausgewählt wird, dann standardmäßig routet, anstatt versehentlich ein Wettrennen zu starten.

Wo die Datei abgelegt wird

OpenScience führt Konfigurationen aus mehreren Quellen zusammen, wobei eine spätere Quelle Vorrang hat.
  • Die globale Benutzerkonfiguration im Konfigurationsverzeichnis von OpenScience.
  • OPENSCIENCE_CONFIG, ein Pfad zu einer Konfigurationsdatei.
  • synsc.jsonc, synsc.json, openscience.jsonc und openscience.json, die beim Hochgehen zum Worktree-Root gefunden werden, es sei denn, OPENSCIENCE_DISABLE_PROJECT_CONFIG ist gesetzt.
  • OPENSCIENCE_CONFIG_CONTENT, das den JSON-Inhalt inline enthält.
  • Dieselben vier Namen in jedem .openscience- oder .synsc-Verzeichnis auf diesem Pfad, plus jedes Verzeichnis, das durch OPENSCIENCE_CONFIG_DIR benannt ist.
Die beiden Pfadvariablen sind nicht austauschbar. OPENSCIENCE_CONFIG benennt eine Datei. OPENSCIENCE_CONFIG_DIR benennt ein Verzeichnis und behandelt das Ganze als Konfiguration, wobei es nach Befehlen, Agenten und Plugins durchsucht wird. Verwenden Sie die Verzeichnisform, wenn das Bundle mehr als nur JSON enthält.

Ein Plugin durch Platzierung laden

OpenScience durchsucht jedes Konfigurationsverzeichnis nach {plugin,plugins}/*.{ts,js} und lädt die gefundenen Dateien als lokale Dateien. Legen Sie die Datei unter plugins/flex.js ab und lassen Sie plugin aus dem JSON weg.
Das Schreiben des Pfades in plugin funktioniert nicht. OpenScience liest jeden Eintrag dort ohne file://-Präfix als npm-Paketnamen und übergibt ihn an bun add, sodass "./plugins/flex.js" fehlschlägt und den Plugin-Start mit sich reißt. Der Scan ist eine Ebene tief und erfasst jede .js- und .ts-Datei, die sich direkt in plugins/ befindet. Halten Sie gemeinsame Module außerhalb dieses Verzeichnisses, da OpenScience sie sonst ebenfalls als Plugins lädt. Wenn OpenScience zum ersten Mal Konfigurationen aus einem Verzeichnis lädt, schreibt es package.json, bun.lock, node_modules/ und eine .gitignore-Datei, die diese abdeckt, in dieses Verzeichnis. Rechnen Sie damit und halten Sie sie von Git fern.

Bestätigen, dass der Schlüssel angewendet wurde

Jede Antwort enthält x-flexinference-defaults-applied. OpenScience zeigt keine Antwort-Header im Arbeitsbereich an, lesen Sie stattdessen die Anfrage im Dashboard unter Logs.

Fehlerbehebung

Ein Plugin wurde nie geladen. Die Benennung in plugin sendet es als Paketnamen an bun add, was fehlschlägt und den Plugin-Start mit sich reißt. Legen Sie die Datei unter plugins/flex.js innerhalb des Konfigurationsverzeichnisses ab und lassen Sie plugin aus dem JSON weg. Ein Hilfsmodul wurde als Plugin geladen. Der Scan erfasst jede .js- und .ts-Datei, die sich direkt in plugins/ befindet. Verschieben Sie gemeinsame Module außerhalb dieses Verzeichnisses. Anfragen erreichen uns nie. Das Top-Level-Feld model wählt den Provider aus. Ohne dieses bleibt OpenScience bei seinem integrierten Standard. 401 invalid_api_key. FLEXINFERENCE_API_KEY ist in der Shell, die OpenScience gestartet hat, nicht gesetzt. Exportieren Sie es vor dem Start. 400 flex_unsupported_for_anthropic. Eine Dauer in options erreichte ein claude-*-Modell mit Ihrem eigenen Anthropic-Schlüssel. Das Wettrennen, das eine Claude-Dauer auslöst, erfordert verwaltete Schlüssel. Entfernen Sie die Dauer und lassen Sie den Schlüssel die Deadline tragen. Die Deadline des Schlüssels wird nie angewendet. Ein start_within in den options eines Modells hat Vorrang vor dem Schlüssel, da wir einen gespeicherten Standardwert nur dann einfügen, wenn das Feld fehlt. Entfernen Sie es aus dem Eintrag. Siehe Fehler für jede von uns zurückgegebene Ablehnung, Agent-Schlüssel für diejenigen, die nicht spezifisch für OpenScience sind, und OpenCode für die modell- und variantenspezifischen Deadline-Optionen, die OpenScience teilt.