Skip to main content
Glama

DarwinRelay

CI CodeQL: JavaScript CodeQL: Swift License: MIT

Machen Sie ChatGPT zu einem lokalen Agenten für Ihren Mac.

DarwinRelay ist eine quellorientierte macOS-MCP-Laufzeitumgebung, die ChatGPT und anderen MCP-Clients strukturierten Zugriff auf den Mac bietet, den Sie bereits nutzen: Shell und Dateien, echte PTYs, langlaufende Jobs, Hintergrund-Chrome, native Desktop-Steuerung und persistierte Codex-Verläufe.

Nutzen Sie ChatGPT selbst wie einen lokalen Coding-Agenten: Lassen Sie es ein Repository untersuchen, einen Fehler reproduzieren, den Code ändern, die Tests ausführen und das Ergebnis auf Ihrem Rechner verifizieren – ohne ein weiteres Codierungsmodell zwischen das Gespräch und macOS zu schalten.

[!CAUTION] DarwinRelay ist absichtlich leistungsstark. Es ist keine Sandbox und implementiert keine Zulassungsliste für Dateisystem- oder Shell-Befehle. Ein verbundener Client kann mit den effektiven Berechtigungen des macOS-Benutzers handeln, der die Brücke ausführt. Lesen Sie SECURITY.md, bevor Sie einen Client verbinden oder die Laufzeit über localhost hinaus freigeben.

ChatGPT als lokalen Agenten nutzen

Eine typische Entwickleraufgabe kann so einfach beginnen:

Use DarwinRelay and work on ~/Projects/myapp.

Find why authentication is failing. Reproduce the problem, fix the underlying
cause, run the relevant tests, and verify the result locally.

Wenn ChatGPT die vollständige Tool-Oberfläche von DarwinRelay bereitstellt, kann dasselbe Gespräch die Aufgabe durch den gesamten lokalen Kreislauf führen:

understand → inspect → reproduce → modify → execute → verify → iterate

DarwinRelay benötigt für diesen Workflow kein Codex. ChatGPT ist der denkende Client; DarwinRelay ist die Ausführungslaufzeit auf Ihrem Mac.

ChatGPT-Verfügbarkeit

Die Verfügbarkeit von ChatGPTs benutzerdefiniertem MCP wird von OpenAI gesteuert und kann sich unabhängig von DarwinRelay ändern. Plan, Arbeitsbereich, Rollout und UI-Verhalten können von der aktuellen Dokumentation abweichen. Behandeln Sie daher die in Ihrem Konto angezeigte Tool-Oberfläche als maßgeblich dafür, was diese ChatGPT-Sitzung verwenden kann. Konsultieren Sie bei der Einrichtung der Verbindung die aktuelle OpenAI-Dokumentation zu Entwicklermodus und MCP-Apps.

DarwinRelay selbst bleibt MCP-Client-neutral und kann auch von anderen Clients verwendet werden, die die erforderliche MCP-Tool-Oberfläche unterstützen.

Hier beschreibt „lokaler Agent“ den Workflow, nicht das separate Produktfeature Agent mode von ChatGPT. OpenAI sagt derzeit, dass der Agent-Modus keine benutzerdefinierten Apps verwendet; nutzen Sie DarwinRelay aus einem normalen ChatGPT-Gespräch mit ausgewählter benutzerdefinierter App.

Related MCP server: OmniCommanderMCP

Was kann es?

  • Shell und Dateien – Befehle ausführen, Dateien untersuchen oder ändern, Patches anwenden und lokale Prozesse verwalten.

  • Echte PTYs – interaktive Shells, REPLs, SSH, sudo-Eingabeaufforderungen, TUIs und langlaufende Terminalprogramme.

  • Jobs und Prozesslebenszyklus – Arbeiten starten, die einen einzelnen Tool-Aufruf überdauern, später untersuchen und beim Herunterfahren zurückfordern.

  • Native Computernutzung – semantische Accessibility-Abfragen/-Aktionen, Fenster, Dialoge, Dateiauswahl, Screenshots, OCR, Tastatur-/Maus-Fallback und visuelle Wartezeiten.

  • Hintergrund-Browserautomatisierung – ein dediziertes Chrome-Profil und ein erweiterungseigener Tab-Pool, der navigieren, untersuchen, ausfüllen und klicken kann, ohne regelmäßig den Fokus zu stehlen.

  • Codex-Verlauf – persistierte Codex-Threads lesen, ohne sie fortzusetzen oder eine weitere Modellrunde zu starten.

  • Authentifizierter MCP-Transport – stdio lokal oder das enthaltene HTTP/OAuth-Frontend hinter einem von Ihnen kontrollierten Tunnel.

  • Fail-Closed-Lebenszyklussteuerung – explizite Vollzugriffs-Freischaltung, Audit-Metadaten, Prozessrückforderung, Singleton-Menübesitz und rollback-fähige App-Updates.

Entwickler-Workflow

Der erste nützliche DarwinRelay-Workflow sollte keine Browserautomatisierung, native UI-Berechtigungen oder Codex-Verlauf erfordern.

ChatGPT
  ↓
DarwinRelay
  ↓
local repository
  ↓
read files / run commands / edit code / run tests
  ↓
verify the result on the same Mac

Sobald der Kern-Coding-Loop funktioniert, fügen Sie Fähigkeiten nur dann hinzu, wenn die Aufgabe sie benötigt:

  • Verwenden Sie ein PTY für einen interaktiven Debugger, REPL, SSH-Sitzung oder TUI;

  • Verwenden Sie Hintergrund-Chrome für Web-Workflows;

  • Gewähren Sie native Desktop-Berechtigungen, wenn ChatGPT eine echte macOS-App bedienen muss;

  • Verwenden Sie den Codex-Verlauf, wenn ChatGPT frühere Codex-Arbeiten untersuchen oder fortsetzen soll.

Siehe examples/README.md für Copy-Paste-Workflows.

Über das Programmieren hinaus

DarwinRelay kann lokalen Code, Prozesse, Browserzustand und native macOS-UI in einem Ausführungszyklus kombinieren. Beispielsweise kann eine Debugging-Aufgabe für eine Desktop-App so aussehen:

launch the app
→ reproduce the issue through the real UI
→ inspect logs and code
→ fix the implementation
→ restart the app
→ repeat the UI flow
→ verify the fix

Die native Desktop-Ebene verwendet zuerst Accessibility und greift bei Bedarf auf ScreenCaptureKit/Vision und synthetisierte Eingaben zurück. Die Browser-Ebene verwendet standardmäßig ein dediziertes lokales Chrome-Profil, anstatt stillschweigend Ihr Alltagsprofil zu übernehmen.

Verwenden Sie bereits Codex?

DarwinRelay kann persistierte Codex-Verläufe lesen, ohne eine weitere Codex-Modellrunde zu starten. Das macht Codex zu einer nützlichen Kontinuitätsquelle und nicht zu einem erforderlichen Zwischenglied:

Find the latest Codex thread for this project.
Summarize the objective, branch, changed files, current errors, and unfinished step.
Then inspect the live repository and continue the work from ChatGPT.

Schnellstart

DarwinRelay ist derzeit quellenorientiert / selbstgebaut. GitHub Releases liefern keine vorgefertigte .app oder .dmg, und eine kostenpflichtige Mitgliedschaft im Apple Developer Program ist für das aktuelle Produktmodell nicht erforderlich.

1. Voraussetzungen

Kern-Selbstbau:

  • macOS 13 oder neuer;

  • Node.js 18 oder neuer (Node.js 22 wird in CI verwendet);

  • Xcode Command Line Tools / swiftc für die Menü-App und den nativen Helfer.

Für ChatGPT über den HTTP/Server-URL-Pfad der Menü-App installieren Sie außerdem cloudflared und stellen Sie sicher, dass es in Ihrem Login-Shell-PATH verfügbar ist.

Optionale Fähigkeiten:

  • Accessibility-, Bildschirmaufnahme- und Eingabe-/Post-Events-Berechtigungen – nur für die native Desktop-Steuerung;

  • Vollzugriff auf die Festplatte – nur wenn Aufgaben macOS-geschützte Dateisystempfade benötigen;

  • Google Chrome – nur für den verwalteten chrome_*-Hintergrundarbeitsbereich;

  • Codex CLI/Verlauf – nur für codex_thread_*-Kontinuitätstools.

2. Installationspfad wählen

Option A – Mit einem lokalen Coding-Agenten installieren

Verwenden Sie bereits Codex, Claude Code oder einen anderen lokalen Coding-Agenten mit Shell-/Dateisystemzugriff? Lassen Sie ihn den Selbstbau für Sie durchführen:

Install DarwinRelay on this Mac from:
https://github.com/dcierra/darwinrelay

Read AGENTS.md and the installation documentation first.

Install or verify the required dependencies, then build and install DarwinRelay
using the documented source-first/self-build path. Configure everything that
can be configured without weakening the project's security model.

Do not bypass macOS security controls. Do not use my personal Chrome profile.

When macOS requires Accessibility, Screen Recording, Input/Post Events, Full
Disk Access, Keychain access, or another user-consent step, stop and tell me
exactly what I need to approve manually.

After installation, verify that DarwinRelay starts correctly and report what
remains to connect it to my MCP client.

Der Agent sollte dem Repository folgen, statt zu raten. Wenn dieser Pfad eine mehrdeutige Abhängigkeit, einen Build-Schritt oder eine Berechtigungsübergabe offenlegt, ist das ein Onboarding-Fehler, der in den Skripten/Dokumenten von DarwinRelay behoben werden sollte, anstatt mit einem längeren Prompt übertüncht zu werden.

Option B – Manuell installieren

git clone https://github.com/dcierra/darwinrelay.git
cd darwinrelay
npm run check
./menubar/build.sh
open /Applications/DarwinRelay.app

Das Build-Skript installiert die lokal gebaute Menü-App nach Möglichkeit in /Applications (mit Fallback auf ~/Applications). Behalten Sie das DarwinRelay-Checkout an Ort und Stelle: Die selbstgebaute App bezieht ihre Laufzeit absichtlich aus diesem Quellpaket.

Der Build verwendet eine persistente lokale Codesignatur-Identität, wenn eine verfügbar ist, und fällt andernfalls auf Ad-hoc-Signierung zurück. Ad-hoc-Builds funktionieren ohne kostenpflichtige Apple-Developer-Mitgliedschaft, aber macOS-TCC-Gewährungen können nach Neubauten erneut erteilt werden müssen, da sich die festgelegte Anforderung ändern kann.

Für einen Kompilier-/Signier-Smoke-Test ohne Installationsnebenwirkung verwenden Sie:

DARWINRELAY_APP_OUTPUT=/tmp/DarwinRelay.app ./menubar/build.sh --build-only

DarwinRelay aktualisieren

./scripts/update.sh ist ab DarwinRelay v0.6.5 enthalten. Wenn eine bestehende Installation auf v0.6.4 oder älter ist, führen Sie ein letztes quellenorientiertes manuelles Upgrade/Neuinstallation auf v0.6.5 mit den obigen Installationsschritten durch; ab v0.6.5 verwenden Sie den Updater für Release-zu-Release-Änderungen.

Ab DarwinRelay v0.6.9 bietet die Menüleiste auch Update DarwinRelay… an. Es fragt nach expliziter Bestätigung, öffnet denselben kanonischen Updater in einem unabhängigen Terminalfenster und zeigt den Fortschritt an, während die App neu startet. Es gibt keinen stillen oder automatischen Update-Pfad.

Sie können denselben Updater direkt aus einer normalen lokalen Terminal-/iTerm-Sitzung (oder einer anderen unabhängigen lokalen Shell) ausführen, nicht über die DarwinRelay-MCP-Verbindung, die neu gestartet werden soll:

cd /path/to/darwinrelay
./scripts/update.sh

Das aktualisiert auf die neueste stabile vMAJOR.MINOR.PATCH-Version. Um stattdessen ein bestimmtes veröffentlichtes Release auszuwählen:

./scripts/update.sh v0.6.5

Der Updater behandelt das Git-Checkout und /Applications/DarwinRelay.app als eine Transaktion. Er verifiziert den kanonischen GitHub-Ursprung, erfordert ein sauberes Checkout, das auf ein exaktes stabiles Release-Tag festgelegt ist, prüft die Quellintegrität, lehnt verschobene Tags und Downgrades ab, installiert die neue App atomar mit derselben Signaturidentität, aktualisiert den Autostart, startet fail-closed neu und verlangt, dass der echte MCP-Doctor CORE VERDICT: READY zurückgibt. Wenn die Aktivierung fehlschlägt, versucht er, sowohl das vorherige Checkout als auch die aufbewahrte Rollback-App wiederherzustellen.

Er verwendet bewusst nicht git pull, git reset --hard oder löscht lokale Arbeit. Ein schmutziges/Entwicklungs-Checkout wird abgelehnt; bewahren Sie Entwicklungsänderungen in einem anderen Branch/Worktree auf, anstatt die Produktionsinstallation als Coding-Checkout zu verwenden.

Da die Hintergrund-Chrome-Erweiterung unverpackt aus diesem Checkout geladen wird, kann ein Release, das ihr Manifest/ihre Quelle ändert, ein manuelles Neu laden von der Chrome-Erweiterungsseite im dedizierten DarwinRelay-Profil erfordern. Der Updater meldet dies, wenn sich die Erweiterungsversion ändert; ersetzen Sie niemals ein persönliches Profil.

Für Projektbetreuer haben Updater-/Lebenszyklusänderungen ein zusätzliches Pre-Release-Gate: Der exakte ungetaggte Kandidat wird auf einem echten Mac mit scripts/test-update-candidate.sh getestet, bevor ein öffentliches Tag erstellt wird. Dies ist bewusst vom benutzerorientierten Updater getrennt, sodass beliebige Commits niemals ein normales Update-Ziel werden.

3. ChatGPT verbinden

Öffnen Sie das DR-Menüleistenelement und drücken Sie Start. Wenn der MCP-Transport läuft, wählen Sie Copy ChatGPT Setup und folgen Sie docs/CHATGPT.md.

Der erste Coding-Workflow erfordert nicht Chrome, Codex-Verlauf, Accessibility, Bildschirmaufnahme oder Eingabeberechtigung. Konfigurieren Sie diese später, wenn eine Aufgabe sie tatsächlich benötigt.

4. Vor Änderungen verifizieren

Beginnen Sie mit einer schreibgeschützten Prüfung:

Use DarwinRelay. Call bridge_status first.
Then list ~/Projects/myapp and read its top-level README/package metadata.
Do not modify files or run shell commands yet.

Wenn ChatGPT dann die Schreib-/Ausführungs-Tools von DarwinRelay in Ihrem Konto bereitstellt, versuchen Sie den echten Workflow:

Use DarwinRelay and work on ~/Projects/myapp.
Run the test suite, find one failing test, fix the underlying issue, rerun the
relevant tests, and verify the result. Do not deploy or force-push anything.

Zur Fehlerbehebung führen Sie aus:

./scripts/doctor.sh

Der Doctor gibt jetzt ein blockierendes Core / MCP-Coding-Pfad-Urteil ab, getrennt von optionalen nativen Desktop-, geschützten Dateisystem-, Hintergrund-Chrome- und Codex-Fähigkeiten. Er führt einen echten lokalen initialize → bridge_status-Smoke-Check für den ausgewählten Transport durch und gibt die nächste Aktion für blockierende Fehler aus. Tiefere Lebenszyklus-/Browser-Diagnosen entwickeln sich weiterhin in der Roadmap.

Nur-Quellcode lokale MCP-Nutzung

Für MCP-Clients, die sich mit einem lokalen stdio-Server verbinden können, kann die Brücke auch direkt ohne die Menü-App ausgeführt werden. Der Vollzugriff muss explizit bestätigt werden:

export DARWINRELAY_FULL_ACCESS_ACK=I_UNDERSTAND_THIS_GRANTS_FULL_ACCESS
node bridge.mjs

Standard-Laufzeitzustand:

~/Library/Application Support/DarwinRelay
~/Library/Logs/DarwinRelay

Verwenden Sie Umgebungsvariablen wie DARWINRELAY_DATA_DIR, DARWINRELAY_LOG_DIR, DARWINRELAY_SHELL und DARWINRELAY_AUDIT_MODE, um Entwicklungs-/Testinstanzen zu isolieren.

So funktioniert es

flowchart LR
    A[MCP client] --> B[DarwinRelay bridge]
    B --> C[Shell / filesystem / jobs]
    B --> D[PTY helper]
    B --> E[Codex persisted history]
    B --> F[MacUIHelper]
    F --> G[Accessibility / ScreenCaptureKit / Vision / CGEvent]
    B --> H[Chrome native host]
    H --> I[DarwinRelay Chrome extension]
    I --> J[Background DR tab pool]

Der native Desktop-Helfer ist bewusst kurzlebig und kein privilegierter Daemon. Die Menü-App, MacUIHelper und der virtuelle Cursor verwenden stabile Codesignatur-Identifikatoren, damit macOS-TCC-Gewährungen normale Neubauten überstehen können, wenn eine persistente Signaturidentität verfügbar ist.

Siehe docs/ARCHITECTURE.md für Komponenten, Datenfluss und Vertrauensgrenzen.

Für KI- und Coding-Agenten

Dieses Repository enthält absichtlich agentenorientierte Dokumentation. Wenn Sie das Repository an Codex, Claude, ChatGPT oder einen anderen Coding-Agenten geben, weisen Sie es zuerst auf AGENTS.md hin. Es beschreibt die Repository-Karte, Invarianten, Entwicklungsbefehle, Testanforderungen, Signatur-/Browserregeln und Release-Einschränkungen.

Für einen Agenten, der eine bereits installierte DarwinRelay-Laufzeit bedient, anstatt Quellcode zu ändern, verwenden Sie docs/AGENT_OPERATIONS.md. Es enthält die vollständige Tool-Familien-Karte, die bevorzugte Entscheidungsreihenfolge, häufige Fehlerzustände und sichere Laufzeit-Workflows.

Native Desktop-Steuerung

DarwinRelay bevorzugt semantische Accessibility-Operationen und verwendet visuelle/rohe Eingaben als Fallback. Zu den Kernfunktionen gehören:

  • ui_observe, ui_tree, ui_ax_query, ui_ax_at;

  • gefingerprintete AX-Referenzen mit Erkennung veralteter Referenzen;

  • ui_action, ui_wait_for, ui_assert;

  • ui_app_*, ui_window_*, Dialoge und Dateipanels;

  • ScreenCaptureKit-Screenshots und Vision OCR;

  • hintergrund-PID-gezielte Eingabe, wo macOS dies unterstützt, mit semantischer Verifizierung und begrenztem Vordergrund-Fallback;

  • ui_sequence für deterministische mehrstufige native Bursts;

  • ein durchklickbarer virtueller KI-Cursor, der den physischen Zeiger nicht bewegt.

Siehe docs/DESKTOP_CONTROL.md für das Steuerungsmodell und die Einschränkungen.

Hintergrund-Chrome-Arbeitsbereich

DarwinRelay verwendet eine entpackte Chrome-Erweiterung plus Native Messaging. Die öffentliche Erweiterungsidentität ist stabil; die erwartete Erweiterungs-ID ist:

pfhahlehpahegefejooendokpkklgmgd

Der Installer erstellt oder verwendet standardmäßig ein abgemeldetes lokales Chrome-Profil namens DarwinRelay. Dies hält den Browserzustand des Agents getrennt von einem alltäglichen Google-Profil:

# Recommended/default: dedicated local profile named DarwinRelay
./scripts/install-background-chrome.sh

# Explicit alternatives only when you want them
./scripts/install-background-chrome.sh --profile 'Some Existing Profile'
./scripts/install-background-chrome.sh --use-current-profile

Wenn das DarwinRelay-Profil noch nicht existiert, beenden Sie Chrome einmal, bevor Sie den Installer ausführen, damit Chrome sein Local State nicht gleichzeitig neu schreiben kann; sobald das Profil existiert, können normale Neuinstallationen bei geöffnetem Chrome ausgeführt werden. Die Deinstallation von DarwinRelay lässt dieses Profil bewusst bestehen, da Browserprofilinhalte Benutzerdaten sind.

Öffnen Sie dann nur im ausgewählten Profil chrome://extensions, aktivieren Sie den Entwicklermodus, wählen Sie Load unpacked und wählen Sie das Verzeichnis chrome-extension/ dieses Repositorys. Sie können --open an den Installer übergeben, um diesen einmaligen Einrichtungsschritt durchzuführen.

Die Erweiterung besitzt eine Chrome-native Tab-Gruppe namens DR. Routinemäßige chrome_open-Aufrufe leasen vorab erstellte Leerlauf-Tabs, anstatt beliebige Vordergrund-Tabs zu erstellen. chrome_close gibt Arbeitsbereich-Tabs an den Pool zurück.

Browser-Sicherheitsmodell

Gelockerte Genehmigungen sind die Standardeinstellung. Normale HTTP/HTTPS-Arbeit über den konfigurierten chrome_*-Arbeitsbereich benötigt keine standortbezogene Terminal-Genehmigung. Die Aktivierung von Strict approvals in der Menü-App stellt bereichsbezogene URL-Genehmigungen und einmalige app-bezogene Genehmigungen für native Mutationen wieder her.

Direkte Chrome-Automatisierung über Shell/AppleScript/JXA bleibt durch die Brücke blockiert, sodass normale Webarbeit auf dem verwalteten Hintergrundpfad bleibt. Die separate native ui_*-Oberfläche kann weiterhin mit der Chrome-Benutzeroberfläche im Vordergrund interagieren, wenn Browser-/OS-Sicherheitsoberflächen dies tatsächlich erfordern.

Ein optionaler roher Browser-Harness/CDP-Adapter existiert hinter DARWINRELAY_ADVANCED_BROWSER=1. Er ist standardmäßig deaktiviert und schlägt unter Strict approvals geschlossen fehl, da beliebiges CDP nicht sinnvoll auf URL-Bereiche reduziert werden kann.

HTTP-/OAuth-Transport

mcp-http.mjs bindet an Loopback und unterstützt den MCP-HTTP-Transport mit einem statischen Bearer-Token sowie OAuth-2.1-Flows, die von entfernten MCP-Clients verwendet werden. Ein Tunnel wie Cloudflare kann den Loopback-Dienst über HTTPS veröffentlichen.

Die Menü-App ist der bevorzugte Einstiegspunkt für den normalen ChatGPT-Server-URL-Pfad. DEPLOY.md dokumentiert die manuelle/fortgeschrittene Transporteinrichtung, einschließlich des vom Upstream-Projekt übernommenen OpenAI Secure MCP Tunnel-Pfads.

Setzen Sie den HTTP-Endpunkt nicht frei, ohne das Bedrohungsmodell für Fernzugriff in SECURITY.md gelesen zu haben. Eine von diesem Frontend akzeptierte Anmeldedaten steuert letztlich die lokale Codeausführung als Ihr Desktop-Benutzer.

Entwicklung

npm run check
npm run test:core
npm run test:desktop
npm run test:lifecycle
# or all groups
npm test

Die öffentliche CI legt bewusst separate Prüfungen offen, anstatt eines undurchsichtigen test-Jobs:

  • Statische Prüfungen — Syntax-/native Build-Validierung und gitleaks-Scan über die gesamte Historie;

  • Kern- und Protokolltests — MCP-, HTTP/OAuth-, PTY-, Föderations-, Browser- und adversariale Tests;

  • Desktop-Steuerungstests — deterministische Desktop-Protokolltests plus native Fixture-Kompilierung;

  • Installations- und Lebenszyklustests — Installer, Autostart, Singleton-Besitz, Rollback und Deinstallationsverhalten.

Das echte veränderliche AppKit-E2E benötigt einen angemeldeten Mac mit TCC-Berechtigungen und wird daher auf wegwerfbaren GitHub-gehosteten GUI-Sitzungen nicht als zuverlässig behandelt. Maintainer können es lokal ausführen mit:

DARWINRELAY_RUN_NATIVE_DESKTOP_E2E=1 node tests/desktop-control-native.mjs

Siehe CONTRIBUTING.md, bevor Sie einen Pull-Request eröffnen. Aktuelle Entwicklungsprioritäten werden in ROADMAP.md verfolgt.

Sicherheit

Die wichtige Grenze ist einfach: DarwinRelay hat die Autorität des macOS-Kontos, das es ausführt. Sicherheitsfunktionen wie die Entsperrdatei, Strict approvals, Audit-Metadaten, OAuth, Hintergrund-Browser-Routing und Prozessrückgewinnung reduzieren versehentlichen oder entfernten Missbrauch; sie verwandeln beliebigen Shell-Zugriff nicht in eine Sandbox.

Sicherheitsmeldungen sollten die private Schwachstellenmeldung von GitHub verwenden, anstatt ein öffentliches Issue. Siehe SECURITY.md.

Projekt-Herkunft

DarwinRelay wird unabhängig gepflegt und weicht erheblich von Mac Developer Bridge von Alexander Rådahl Benz ab. Die geerbte Upstream-Historie wird bewusst erhalten, und der ursprüngliche MIT-Urheberrechtshinweis bleibt in LICENSE erhalten. Siehe UPSTREAM.md für die genaue Herkunft und die Zuschreibungspolitik.

Das öffentliche Repository dcierra/darwinrelay ist die kanonische Entwicklungsquelle. Siehe docs/DEVELOPMENT_MODEL.md für das Entwicklungs-/Release-Modell.

DarwinRelay ist weder mit OpenAI, Apple, Google, Cloudflare noch mit dem Upstream-Maintainer verbunden noch von diesen unterstützt.

Lizenz

MIT. Siehe LICENSE und UPSTREAM.md.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers