Zur Dokumentation springen
DokumentationFehlerbehebung

Fehlerbehebung

Finden Sie heraus, wo ein Aufruf stehen blieb, lesen Sie den Antwortcode und beheben Sie die Ursache.

Auf dieser Seite

Jede Ablehnung enthält einen Code und einen Satz, der sagt, was zu tun ist. Muss eine Person handeln, enthält sie auch einen Link zur Seite, die das Problem löst.

Ein MCP-Werkzeugergebnis legt den Code in code ab, neben instruction. Auf /p/ kommt ein Fehler als error.code und error.instruction, und die Abfrage eines beendeten, gescheiterten Aufrufs enthält error_code. Die Konsolen-API antwortet mit error.code und error.request_id.

Den Aufruf finden

  • Jeder Aufruf hat eine call_id, die mit sp_c_ beginnt. Öffnen Sie https://my.sallyport.cloud/activity?call=<call_id>, um ihn zu sehen.
  • Der Aufruf zeigt „Agent“, „Verbindung“, „Schlüsselversion“, „Regel“, „Protokoll“ und einen „Zeitverlauf“ des Geschehens.
  • Schreiben Sie über „Einstellungen“, „Support“ mit der call_id und, bei einem Fehler der Konsolen-API, mit deren request_id.

Genau sehen, was der Agent gesendet hat und was zurückkam

Öffnen Sie Aktivität, wählen Sie den Aufruf und klicken Sie auf „Ganze Anfrage und Antwort öffnen“. Der Aufruf steht da, wie er war, ohne verborgene Teile.

  • Die Anfrage: Methode, vollständige Adresse, jeder Header und der Body. Bei SSH der Befehl, bei Dateien Pfad und Inhalt, bei einer Datenbank die Anweisung und ihre Werte, bei E-Mail die ganze Nachricht.
  • Ein Header, den der Agent an der Stelle des Schlüssels gesendet hat, etwa sein eigenes PRIVATE-TOKEN, bleibt mit seinem Wert in der Liste, durchgestrichen und markiert mit „Durch den Schlüssel der Verbindung ersetzt, nicht gesendet“. Der Schlüssel, den Sallyport eingesetzt hat, erscheint nie.
  • Die Antwort: Status, jeder Header und der Body. Eine lange Antwort lädt bis 1 MiB vollständig, und „Vollständige Antwort herunterladen“ speichert sie ganz.
  • Anfragen bleiben so lange wie der Aufrufverlauf, standardmäßig 180 Tage. Antworten und Anfrage-Bodys über 1 MiB bleiben 30 Tage, danach sagt der Aufruf das.

Ein Dienst fehlt in den Werkzeugen des Agenten

  • Lassen Sie den Agenten list_access aufrufen. Es listet jeden Dienst, den der Agent nutzen darf, und was auf eine Person wartet.
  • Ein neuer Schlüssel geht an jeden aktiven Agenten seines Arbeitsbereichs und seiner Umgebung. Ein Agent in Test sieht nie einen Live-Schlüssel.
  • Eine aus der Liste „Zugriff“ eines Agenten entfernte Verbindung bleibt entfernt. Holen Sie sie mit „Verbindung hinzufügen“ zurück.
  • Ab 40 Werkzeugen verlassen die Werkzeuge entfernter MCP-Server die Liste. Der Agent findet sie mit search_tools und führt sie mit call aus.
  • Ein Host außerhalb der Liste funktioniert über http_request. Der erste Aufruf liefert einen Link, unter dem Sie seinen Schlüssel hinzufügen.

Antwortcodes

CodeHTTPWas geschahWas tun
AUTH_FAILED401Das Token ist falsch oder widerrufen, oder es ist kein Agenten-Token.Erstellen Sie eines mit „Neuer Token“ unter „Token“ auf der Seite des Agenten.
SUSPENDED423Der Agent, sein Arbeitsbereich oder die Organisation ist pausiert.Tippen Sie auf „Agent fortsetzen“ auf seiner Seite oder auf „Aufrufe fortsetzen“ unter „Einstellungen“, „Gefahrenzone“.
SOURCE_IP_NOT_ALLOWED403Der Aufruf kam von einer Adresse außerhalb der Liste des Agenten.Bearbeiten Sie „Erlaubte IP-Adressen (optional)“ unter „Limits“ auf der Seite des Agenten.
ACCESS_REQUEST_CREATED404Der Agent hat keinen Schlüssel für diesen Host.Öffnen Sie approve_url und fügen Sie den Schlüssel hinzu. Der Agent wiederholt den Aufruf.
SERVICE_NOT_CONNECTED424Bei einer OAuth-Verbindung hat sich niemand angemeldet. Nichts wurde gesendet.Öffnen Sie connect_url und melden Sie sich an. Der Agent wiederholt den Aufruf.
APPROVAL_PENDING202Eine Person hat noch nicht geantwortet.Antworten Sie unter approve_url. Der Agent macht mit call_id weiter.
APPROVAL_DENIED403Eine Person hat abgelehnt. Nichts wurde ausgeführt.Der Agent handelt nach dem Grund und wiederholt nicht.
APPROVAL_EXPIRED410Niemand hat rechtzeitig geantwortet. Nichts wurde ausgeführt.Wiederholen Sie ohne call_id, um erneut zu fragen.
APPROVAL_SUPERSEDED409Die Regel oder der Schlüssel hat sich geändert, nachdem die Karte aufging.Wiederholen Sie ohne call_id.
CALL_CONFLICT409Ein anderer Aufruf hat diese Freigabe schon verbraucht.Starten Sie einen neuen Aufruf.
CALL_NOT_FOUND404Die call_id gehört einem anderen Agenten oder existiert nicht.Starten Sie einen neuen Aufruf.
POLICY_DENY403Die Regel des Agenten für diese Klasse ist „Abgelehnt“.approve_url öffnet die Seite des Agenten. Ändern Sie die Klasse in seiner Liste „Zugriff“.
PATH_OUT_OF_PREFIX400Der Pfad liegt außerhalb dessen, was die Verbindung abdeckt.Schreiben Sie den vollständigen Pfad aus der Dokumentation des Dienstes.
BAD_REQUEST400Der Aufruf ist fehlerhaft, und reason sagt, wie.Der Text nennt die Lösung. Die Liste unten behandelt die Gründe, die eine Person behebt.
IDEMPOTENCY_CONFLICT409Derselbe idempotency_key kam mit anderen Argumenten.Verwenden Sie einen neuen Schlüssel.
IN_FLIGHT409Derselbe Aufruf läuft bereits.Warten Sie retry_after_ms und wiederholen Sie, um sein Ergebnis zu erhalten.
ALREADY_EXECUTED200Eine Wiederholung erhielt das Ergebnis des ersten Aufrufs. Der Dienst wurde nicht erneut aufgerufen.Um ihn jetzt erneut auszuführen, wiederholen Sie mit einem neuen idempotency_key.
RATE_LIMITED429Zu viele Aufrufe in kurzer Zeit.Warten Sie retry_after_ms und wiederholen Sie.
PLAN_LIMIT200Die monatlichen Aufrufe des Tarifs sind aufgebraucht. Aufrufe laufen weiter, und MCP-Ergebnisse tragen diesen Hinweis.Öffnen Sie „Einstellungen“, „Tarif und Abrechnung“.
UPSTREAM_ERRORStatus des Dienstes oder 424Der Dienst antwortete mit einem Fehler oder gar nicht.Lesen Sie status und den Body. Die nächste Tabelle behandelt eine fehlende Antwort.
UPSTREAM_TOO_LARGE424Die Antwort überschritt das Größenlimit.Grenzen Sie die Anfrage ein oder erhöhen Sie „Größte Antwort des Dienstes“ unter „Limits“ auf der Seite der Verbindung, bis 512 MiB.
EGRESS_DENIED424Die Adresse ist privat (private_range), gehört Sallyport selbst (self_host) ist aus dem Netz von Sallyport nicht erreichbar (pin_mismatch) oder der Schlüssel der Verbindung wurde nicht für sie gespeichert (key_elsewhere). Nichts wurde gesendet.Bei private_range oder self_host verwenden Sie eine öffentliche Adresse. Bei pin_mismatch schicken Sie dem Support die call_id. Bei key_elsewhere bitten Sie die Person, der der Schlüssel gehört, ihn für diese Adresse neu hinzuzufügen.
OUTCOME_UNKNOWN424Sallyport weiß nicht, ob der Dienst gehandelt hat.Prüfen Sie den Dienst vor jeder Wiederholung.
UPGRADE_NOT_SUPPORTED426Ein Upgrade auf ein anderes Protokoll als WebSocket.Senden Sie die Anfrage ohne Upgrade, oder öffnen Sie einen WebSocket.
WEBSOCKET_REQUIRED426Eine Abfrage einer freigegebenen WebSocket-Sitzung, die nur über einen WebSocket läuft.Öffnen Sie den WebSocket erneut mit X-Sallyport-Call-Id.
UNAVAILABLE503Sallyport ist kurz nicht erreichbar.Wiederholen Sie nach retry_after_ms.
INTERNAL500Ein Fehler in Sallyport. Er ist bereits erfasst.Schicken Sie dem Support die call_id.

Wenn der Dienst nicht antwortete

UPSTREAM_ERROR mit einem reason bedeutet, dass keine Antwort zurückkam. side_effect ist none, wenn nichts den Dienst erreicht hat, und unknown, wenn es ihn erreicht haben kann.

Grundside_effectWas tun
dnsnoneWiederholen Sie in ein paar Sekunden. Scheitert es weiter, prüfen Sie den Hostnamen.
connectnonePrüfen Sie die Adresse und wiederholen Sie.
tlsnonePrüfen Sie die Adresse. Eine Wiederholung scheitert genauso, bis sich das Zertifikat ändert.
authenticationnoneNur bei SSH-Aufrufen. Der Server hat den Schlüssel oder den Benutzer abgewiesen. Prüfen Sie beides in der Verbindung.
host_keynoneNur bei SSH-Aufrufen. Der Schlüssel des Servers passt nicht mehr zum festgehaltenen. Klären Sie ihn mit dem Betreiber des Servers und lesen Sie SSH-Befehle.
ttfbunknownDer Dienst hat nicht rechtzeitig zu antworten begonnen. Prüfen Sie ihn vor jeder Wiederholung.
timeoutunknownDer Dienst wurde nicht rechtzeitig fertig. Prüfen Sie ihn vor jeder Wiederholung.
readunknownDie Verbindung brach ab, während die Antwort eintraf. Prüfen Sie den Dienst vor jeder Wiederholung.

Anfragefehler, die eine Person behebt

Die meisten Gründe für BAD_REQUEST behebt der Agent selbst, und der Text sagt ihm, wie. Diese brauchen eine Person:

  • not_https mit console_url: Die Adresse der Verbindung beginnt mit http://. Ändern Sie sie auf der Seite der Verbindung in https://.
  • mcp_binding, database_binding oder email_binding: Ein Aufruf über /p/ zielt auf einen MCP-Server, eine Datenbank oder ein Postfach. Rufen Sie deren Werkzeuge über den MCP-Endpunkt auf. sftp_operation: Ein Dateiaufruf nennt nicht eindeutig eine Operation; detail sagt, was zu ändern ist.
  • missing_host: Die Verbindung deckt alle Hosts eines Dienstes ab, also muss der Aufruf einen nennen. Auf /p/ steht der Host direkt nach der Verbindungs-ID.

Fehler der Konsolen-API

  • FORBIDDEN nennt die nötige Rolle in details.required_role. Der Protokollexport braucht einen Inhaber oder einen Administrator oder Auditor der ganzen Organisation ohne engere Rolle in einem Arbeitsbereich.
  • Ein API-Schlüssel kann keine Karte beantworten: Eine Entscheidung braucht eine Person.
  • VALIDATION_FAILED nennt jedes fehlerhafte Feld in details.fields.
  • AUTH_FAILED bedeutet, dass die Sitzung endete oder der API-Schlüssel widerrufen wurde.

Einen Dienstschlüssel ohne Unterbrechung tauschen

  • Erstellen Sie beim Anbieter einen neuen Schlüssel, solange der aktuelle noch funktioniert.
  • Öffnen Sie den Schlüssel unter Schlüssel, tippen Sie auf „Schlüssel tauschen“, fügen Sie den neuen Wert ein und tippen Sie auf „Neuen Schlüssel speichern“.
  • Machen Sie einen Aufruf über Sallyport. Sobald er gelingt, widerrufen Sie den alten Schlüssel beim Anbieter.