Skip to main content
Glama
useorgx

OrgX for DeepSeek Harness Plugin

by useorgx

OrgX für DeepSeek Harness

@useorgx/deepseek-harness-plugin fügt OrgX MCP-Tools zu einem DeepSeek Harness-Profil hinzu und kann einen workspace-gebundenen OrgX Gateway-Peer über den Harness-Headless-Modus ausführen.

Dieses Paket ist eine Entwicklervorschau. Eine Paketinstallation beweist nur, dass das Bundle vorhanden ist; es beweist keine OrgX-Authentifizierung, Gateway-Zulassung, erfolgreichen Dispatch, Deployment oder Produktionseinsatz.

Installation mit dem OrgX-Assistenten

Der unterstützte Benutzerablauf ist der OrgX-Assistent. Er erkennt eine kompatible DeepSeek Harness-Installation, installiert dieses Paket in das headless-Profil und koppelt OrgX im Browser:

npx @useorgx/wizard@latest setup

Starten Sie dann eine Aufgabe über den Assistenten, damit dieser das OAuth-Token aktualisieren kann, bevor DSH startet:

npx @useorgx/wizard@latest deepseek "List the OrgX tools available in this workspace."

Das DSH-Bundle schlägt beim Start fehl, wenn seine MCP-Verbindung oder die anfängliche Tool-Synchronisierung fehlschlägt. Behandeln Sie das Vorhandensein des Pakets nicht als Beweis dafür, dass die OrgX-Tool-Oberfläche authentifiziert ist.

Related MCP server: dsh-harness-mcp-server

Bundle direkt installieren

DeepSeek Harness ist auf 0.1.0-rc.6 festgelegt. Fortgeschrittene Benutzer können das Paket direkt mit Node ^22.19.0 oder >=24.0.0 installieren:

npm install --global @deepseek-ai/dsh@0.1.0-rc.6
export ORGX_MCP_ACCESS_TOKEN='your_orgx_oauth_access_token'
export DEEPSEEK_API_KEY='your_deepseek_key'
dsh plugin --profile headless add @useorgx/deepseek-harness-plugin@0.1.0
dsh --profile headless --dump-config
dsh --profile headless "List the OrgX tools available in this workspace."

Für die Quellentwicklung führen Sie npm pack --ignore-scripts aus und installieren Sie das resultierende Tarball mit einer file:-URL. Ein bloßer lokaler Link bietet nicht die gleiche saubere Installationsgarantie.

Das Paket enthält den exakten MIT-lizenzierten OrgX Gateway-Peer-Client von @useorgx/orgx-gateway-sdk@0.1.0-alpha.9 Commit 49f3cad612954c448878dc62d0f9c6bc87fa0f79. DSH blockiert Git und andere exotische Unterabhängigkeiten während der Installation von Plugins, daher hält die Bündelung dieses geprüften Clients ein frisches Profil installierbar. Siehe THIRD_PARTY_NOTICES.md.

Das Bundle mountet eine @deepseek-ai/dsh-mcp-client-Instanz namens orgx. Sie verbindet sich über Streamable HTTP mit https://mcp.useorgx.com/mcp und sendet Authorization: Bearer $ORGX_MCP_ACCESS_TOKEN. Dieser Wert muss ein client-verwaltetes OrgX OAuth 2.1-Zugriffstoken sein; der oxk_-Gateway-Schlüssel ist für gehostetes MCP nicht gültig. Setzen Sie ORGX_MCP_URL, um einen anderen OrgX MCP-Endpunkt zu verwenden. Der Start schlägt fehl, wenn das OAuth-Token fehlt oder die anfängliche MCP-Verbindung und Tool-Synchronisierung fehlschlagen. Diese Vorschau führt weder den Browser-PKCE-Ablauf aus noch aktualisiert sie Token; ersetzen Sie das client-verwaltete Zugriffstoken, wenn es abläuft.

DeepSeek Harness 0.1.0-rc.6 überbrückt nur MCP-Tools. MCP-Ressourcen und -Prompts sind über diesen Client nicht verfügbar. Nicht-Text-MCP-Blöcke haben ebenfalls eine verlustbehaftete modellseitige Projektion, selbst wenn das ausführungs-lokale Ergebnis ihre JSON-Blöcke behält.

OrgX-Peer ausführen

Der Peer setzt das Ausführungs-cwd innerhalb von ORGX_WORKSPACE_ROOT; ein angefragtes Repository, das außerhalb dieses Verzeichnisses aufgelöst wird, schlägt fehl, bevor Harness startet. Dies ist eine Pfad- und Mutationsgrenze, keine Host-Isolation. Harness workspace-write schränkt Lesezugriffe auf Dateien desselben Benutzers, Prozesssichtbarkeit oder Netzwerkzugriff nicht ein, sodass ein Modell oder Tool andere Host-Daten beobachten oder Daten über das Netzwerk senden kann. Setzen Sie ORGX_DEEPSEEK_HOST_ACCESS_ACK=1 erst, nachdem Sie dieses Risiko akzeptiert haben; Start und Bereitschaft der Anmeldeinformationen schlagen ohne die Bestätigung fehl.

Verwenden Sie einen API-Schlüssel, der für gateway:drive und plugin:heartbeat bestimmt ist. Die OrgX-Gateway-Schlüsselantwort gibt eine installation_id zurück; behalten Sie diesen stabilen Wert beim Schlüssel und übergeben Sie beide bei jedem Start unverändert.

export ORGX_API_KEY='oxk_your_workspace_key'
export ORGX_MCP_ACCESS_TOKEN='your_orgx_oauth_access_token'
export DEEPSEEK_API_KEY='your_deepseek_key'
export ORGX_WORKSPACE_ID='your-workspace-uuid'
export ORGX_INSTALLATION_ID='install.your-stable-installation-id'
export ORGX_WORKSPACE_ROOT='/absolute/path/to/the/workspace'
export ORGX_DEEPSEEK_HOST_ACCESS_ACK='1'
dsh plugin --profile headless exec orgx-deepseek-harness-peer

Diese Vorschau ist ein nicht verwalteter Gateway-Protokoll-v1-Peer. Sie implementiert den Kandidaten/Kanonischen-Aktivierungs- und -Promotion-Lebenszyklus nicht. Die Bereitstellung von ORGX_RUNNER_INSTANCE_ID, ORGX_ACTIVATION_ATTEMPT_ID oder ORGX_RUNNER_ROLE führt zu einem klaren Startfehler; diese Felder werden niemals in seinem Heartbeat oder seiner Socket-URL gesendet.

Bevor der Peer seinen WebSocket öffnet, schreibt er einen Gateway-Heartbeat mit Transport- und Dispatch-Bereitschaft auf false. Er kündigt Dispatch-Bereitschaft erst an, nachdem alle folgenden Prüfungen erfolgreich waren:

  • dsh --version beweist, dass der festgelegte Runtime-Prozess lebt;

  • der festgelegte offizielle https://api.deepseek.com/user/balance-Endpunkt akzeptiert DEEPSEEK_API_KEY und meldet is_available: true, ohne eine Inferenzanfrage zu stellen; und

  • ein MCP Streamable HTTP initialize plus tools/list-Austausch akzeptiert ORGX_MCP_ACCESS_TOKEN.

Das Vorhandensein von Geheimnissen und ein anmeldeinformationsfreier Versionsbefehl werden niemals als Authentifizierung behandelt. Sondenfehler, abgelehnte oder abgelaufene Anmeldeinformationen und fehlende Nachweise bleiben fehlgeschlossen. Erfolgreiche Nachweise werden 45 Sekunden lang zwischengespeichert; der Peer aktualisiert die Gateway-Präsenz alle 15 Sekunden und schreibt einen Best-Effort-Offline-Heartbeat, wenn der Socket geschlossen wird.

Das DSH-Kind erhält den Provider-Schlüssel und das separat begrenzte MCP-Zugriffstoken, aber nicht den Gateway-Schlüssel. Umgebungsbedingte DSH_*-Steuerungen werden nicht weitergeleitet, außer DSH_HOME; das Kind wird auf workspace-write-Berechtigung gezwungen und Telemetrie ist deaktiviert, sodass umgebungsbedingte Vollzugriffs- oder OTLP-Export-Einstellungen diese beiden Richtlinien nicht überschreiben können. Diese Einstellungen isolieren dennoch keine Host-Lesevorgänge, Prozesse oder Netzwerkzugriffe.

Optionale Runtime-Einstellungen:

  • ORGX_BASE_URL ändert die OrgX Gateway-Basis-URL.

  • ORGX_RECEIPT_OUTBOX_PATH legt ein absolutes Verzeichnis für dauerhafte Belege fest. Der Standardwert liegt im OrgX-Statusverzeichnis des aktuellen Benutzers.

  • ORGX_DEEPSEEK_HARNESS_BIN ändert den ausführbaren Pfad von dsh.

  • ORGX_DEEPSEEK_HARNESS_PROFILE ändert das Profil von headless.

  • ORGX_DEEPSEEK_HARNESS_MODEL aktiviert den verpackten Modell-Patch für den deepseek-official-Provider. Es ändert die Kompositionsvorgabe; ein bereits in den DSH-Einstellungen gespeichertes Modell kann dennoch Vorrang haben.

Harness-Headless-Standardausgabe enthält den endgültigen Assistententext und einen Exit-Code, aber keine Token- oder Kostenabrechnung. Die Treiber-Drahtnachricht muss daher numerische tokens_used: 0 und cost_estimate_cents: 0 enthalten; beide bedeuten an dieser Quelle unbekannt, nicht kostenlos. OrgX kanonisiert die persistierten DeepSeek-Kosten auf seine konservative Dispatch-Schätzung, zeichnet die Messqualität auf und akkumuliert diese Schätzung in Budgetobergrenzen. Ein Prozess-Exit mit Null meldet outcome_kind: awaiting_review: Der Prozess ist beendet, aber die Arbeit ist noch nicht akzeptiert, zusammengeführt, bereitgestellt oder produktionserprobt.

Der WebSocket-Send des SDK hat keine Server-Bestätigung, daher liegt die Haltbarkeit bei der Anwendung. Vor der Ausgabe von task.started schreibt der Peer atomar eine Vorstart-Reservierungsmarkierung. Wenn dieser Schreibvorgang fehlschlägt, schließt er den inneren Iterator, bevor Harness spawnen kann, und POSTet einen blockierten Beleg per Best-Effort. Vor der Ausgabe jedes Post-Start-task.completed-Frames schreibt er atomar den exakten v1-HTTP-Beleg in das Mode-0700-Outbox unter Verwendung einer Mode-0600-Datei und POSTet ihn dann an den idempotenten Run-Receipt-Endpunkt. Es wird kein Schlüssel oder Token in eine der Dateien geschrieben.

Nur eine 2xx-Antwort entfernt einen terminalen Beleg. Wenn die endgültige Persistenz nach Abschluss von Harness fehlschlägt, versucht der Peer sofort den gebundenen HTTP-Beleg direkt und gibt dennoch den ursprünglichen Abschluss aus. Ein 2xx löscht die Reservierung; wenn HTTP ebenfalls fehlschlägt, bleibt der Abschluss in einer In-Memory-Wiederholungswarteschlange und seine Reservierungsmarkierung bleibt bestehen. Ausstehende Belege werden beim Start, bei der Wiederverbindung und bei jedem 15-Sekunden-Heartbeat-Tick wiederholt. Ein Neustart mit einer ungelösten Reservierung schlägt mit einer Reparaturnachricht fehl, anstatt das Risiko einer erneuten Ausführung einzugehen.

Das festgelegte SDK kann Socket-only-task.failed nicht dauerhaft wiederherstellen. Nachdem ein Lauf gestartet wurde, zeichnet dieser Peer daher den Fehlergrund als Schritt auf und gibt outcome_kind: blocked aus; Abbruch gibt outcome_kind: abandoned aus. Beide verwenden die Anwendungs-Outbox. Ein Duplikat, das vor task.started abgelehnt wird, bleibt task.failed und kann den Dispatch, der diese Lauf-ID bereits besitzt, nicht terminieren.

Validieren

Für die Paketentwicklung installieren Sie die festgelegten Abhängigkeiten ohne Lifecycle-Skripte und führen Sie dann die deterministischen Prüfungen aus:

npm install --ignore-scripts --no-package-lock
npm run validate

Das Paket-Testskript führt node:test explizit über test/*.node-test.mjs aus. Das Node-only-Suffix hält diese Suiten außerhalb der Root-Vitest-Erkennung des Repositorys, während sie in npm run validate erhalten bleiben.

Die Validierung prüft das Bundle und Manifest, evidenzgestützte Bereitschaft, Workspace- und Child-Umgebungsgrenzen, Abbruch- und Duplikatsrennen, nicht verwaltete Protokoll-v1-Heartbeats und die HTTP-Fehlerwiederherstellung des festgelegten SDK bei Verbindungsabbruch. Sie kontaktiert weder OrgX noch DeepSeek.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers