Ein Agent läuft im falschen Repository, während eine zweite Sitzung bereits auf eine andere Kundendatenquelle zugreift.

Die schnellste Entscheidung: Bei niedriger Parallelität, ähnlichen Abhängigkeiten und geringem Datenrisiko darf ein DeepSeek-Harness-Mehrprojekt-Deployment zunächst auf einer Mac-Umgebung starten. Arbeitsbereiche, Sitzungen und Konfigurationen müssen jedoch getrennt sein. Kundenprojekte, unterschiedliche Berechtigungsdomänen, dauerhaft laufende Agenten oder kollidierende Plugins gehören in separate Umgebungen.

Diese Woche sollte zuerst eine Projektmatrix erstellt werden: Für jedes Repository werden gleichzeitig laufende Aufgaben, Datenklasse, benötigte Zugangsdaten, Plugin-Änderungen und mögliche Fehlerfolgen markiert. Nicht die Zahl der Repositories entscheidet über die Zahl der Macs, sondern die Zahl der gleichzeitig belegten Sitzungen und unabhängigen Verantwortungsbereiche.

Diese Woche sollte zuerst eine Projektmatrix erstellt werden: Für jedes Repository werden gleichzeitig laufende Aufgaben, Datenklasse, benötigte Zugangsdaten, Plugin-Änderungen und mögliche Fehlerfolgen markiert. Nicht die Zahl der Repositories entscheidet über die Zahl der Macs, sondern die Zahl der gleichzeitig belegten Sitzungen und unabhängigen Verantwortungsbereiche.

01

Für wen diese Entscheidung relevant ist

Unabhängige Entwickler möchten Testkosten begrenzen, ohne den Kontext mehrerer Projekte zu vermischen. Kleine Teams suchen eine sinnvolle Grenze zwischen gemeinsamer Infrastruktur und klarer Zuständigkeit. Sicherheitssensible Teams müssen zusätzlich nach Kundendaten, Zugangsschlüsseln, Freigaben und Protokollzugriff unterscheiden.

Der folgende Leitfaden betrachtet die Entscheidung als Betriebsfrage: Was darf gemeinsam laufen, welche Grenze muss getrennt werden und ab welchem Punkt überwiegt der zusätzliche Verwaltungsaufwand einer zweiten Umgebung?

Letzte Aktualisierung: 18.08.2026. Die technischen Aussagen wurden anhand der verfügbaren Harness-Dokumentation, der DeepSeek-API-Dokumentation sowie der Referenzen zu Arbeitsbereichen, Zugangsdaten und Git-Arbeitsbäumen geprüft. Eine allgemeine offizielle Obergrenze für Projekte pro Mac ist nicht angegeben.

02

Ein gemeinsamer Mac ist bei niedriger Parallelität ein sinnvoller Start

Ein gemeinsamer Mac bietet drei konkrete Vorteile. Installationsaufwand, Betriebssystempflege und Grundkonfiguration müssen nur einmal verwaltet werden. Entwickler können freie Zeitfenster für kleine Aufgaben verwenden, anstatt für jedes kurzlebige Experiment eine eigene Umgebung vorzuhalten. Außerdem bleibt die lokale Werkzeugkette einheitlich, wenn Projekte ähnliche Laufzeiten, Build-Werkzeuge und Modellprofile benötigen.

Diese Vorteile gelten aber nur, wenn die gemeinsame Umgebung nicht als gemeinsamer Arbeitsbereich verstanden wird. Jedes Projekt sollte mindestens über folgende Grenzen verfügen:

  • ein eindeutig benannter Projektpfad,
  • eine eigene DeepSeek-Harness-Sitzung,
  • ein bewusst ausgewähltes Profile,
  • getrennte Sitzungs- und Ausgabeverzeichnisse,
  • eine dokumentierte Zuordnung von Zugangsdaten und Verantwortlichen.

Die zugrunde liegende Harness-Architektur unterscheidet unter anderem Plugins, Umgebungsanforderungen, Berechtigungen und aktive Sitzungen. Das bedeutet jedoch nicht, dass eine gemeinsame Mac-Umgebung automatisch eine Sicherheitsgrenze bildet. Die Dokumentation des Harness-Protokolls zu Arbeitsumgebung und Variablen beschreibt, wie sensible Variablen deklariert und zur Laufzeit angefordert werden. Daraus folgt eine wichtige Betriebsregel: Zugangsdaten dürfen nicht allein deshalb als getrennt gelten, weil zwei Projekte in unterschiedlichen Ordnern liegen. (harnessprotocol.io)

Für die Praxis sollte jeder Lauf vor dem Start seinen Zielpfad ausgeben:

PROJECT_ROOT="$HOME/Projects/client-a"
PROFILE="client-a-review"

printf 'Arbeitsbereich: %s\nProfil: %s\n' "$PROJECT_ROOT" "$PROFILE"
test -d "$PROJECT_ROOT" || { echo "Arbeitsbereich fehlt"; exit 1; }

Beispielausgabe:

Arbeitsbereich: /Users/dev/Projects/client-a
Profil: client-a-review

Wenn der Pfad nicht stimmt, wird der Agent nicht gestartet. Diese „sofort stoppen“-Regel ist wirksamer als eine nachträgliche Kontrolle der Änderungen, weil sie den falschen Zugriff vor dem ersten Tool-Aufruf beendet.

03

Der Engpass entsteht durch gleichzeitig belegte Sitzungen

Mehrere Repositories können auf einem Mac liegen, ohne gleichzeitig Rechen- oder Wartungslast zu erzeugen. Deshalb ist die Gesamtzahl der Projekte ein schlechter Kapazitätsindikator. Relevanter sind drei Fragen:

  1. Wie viele Agent-Sitzungen laufen zur selben Zeit?
  2. Wie lange bleiben sie aktiv?
  3. Wie oft müssen sie nach Fehlern, Timeouts oder Plugin-Änderungen erneut gestartet werden?

Beim abwechselnden Betrieb teilen sich mehrere Projekte dieselbe Sitzungskapazität. Das ist für kurze Codeanalysen, kleine Dokumentationsänderungen oder einzelne Tests oft ausreichend. Der Nachteil liegt in der manuellen Übergabe: Sitzungen werden beendet, Profile gewechselt und Arbeitsbereiche neu geprüft. Ein Fehler beim Wechsel kann den nächsten Lauf mit dem falschen Kontext starten.

Beim parallelen Betrieb bleiben mehrere Prozesse, Terminal-Sitzungen und Toolketten aktiv. Dadurch sinkt die Wartezeit, während gleichzeitig die Fehlerfläche wächst. Logs können schwerer zuzuordnen sein, Prozesse können sich um Ports oder temporäre Dateien streiten, und ein Plugin-Update kann mehrere laufende Aufgaben beeinflussen. Eine offizielle allgemeine Zahl für die maximale Projekt- oder Sitzungsanzahl sollte daraus nicht abgeleitet werden; die Belastbarkeit muss mit dem eigenen Projektmix geprüft werden.

Für getrennte Branches innerhalb desselben Repositories kann git worktree eine saubere Dateigrenze schaffen. Die offizielle Git-Dokumentation zu git worktree weist zugleich darauf hin, dass bestimmte Repository-Daten geteilt bleiben und eine separate Worktree-Konfiguration ausdrücklich aktiviert werden muss. (git-scm.com)

git worktree add ../client-a-review review
git worktree add ../client-a-hotfix hotfix

git worktree list

Beispielausgabe:

/Users/dev/client-a       main
/Users/dev/client-a-review review
/Users/dev/client-a-hotfix hotfix

Das ist eine nützliche Dateiorganisation, aber noch keine vollständige Agent-Isolation. Profile, Plugins, Secrets, Logs und Hintergrundprozesse müssen zusätzlich geprüft werden.

04

Kundenprojekte benötigen eine Daten- und Berechtigungsgrenze

Ein Kundenrepository sollte nicht nur nach seinem Namen isoliert werden. Besonders kritisch sind vier Vermischungen:

  • ein Kunden-Token wird für ein internes Projekt verfügbar,
  • Sitzungsprotokolle enthalten Ausschnitte aus einem anderen Projekt,
  • ein Agent erhält Schreibzugriff auf einen falschen Arbeitsbereich,
  • ein gemeinsames Plugin lädt Konfiguration oder Umgebungsvariablen aus einer unerwarteten Quelle.

Für einen privaten Prototyp mit öffentlichen Daten kann gemeinsamer Betrieb vertretbar sein. Bei Kundencode, Produktionszugängen oder vertraulichen Dokumenten sollte zunächst die Berechtigungsdomäne betrachtet werden. Haben zwei Projekte denselben Betreiber, dieselben Freigaben, dieselbe Protokollierung und denselben Datenklassifizierungsgrad, ist eine gemeinsame Umgebung möglich. Sobald eine dieser Bedingungen abweicht, spricht die Fehlerfolgenbetrachtung für eine Trennung.

Die Verwendung des macOS-Schlüsselbunds schützt gespeicherte Zugangsdaten innerhalb des vorgesehenen Zugriffmodells, ersetzt aber keine organisatorische Zuordnung. Apple beschreibt, dass Anwendungen für den Zugriff auf gespeicherte Passwörter eine Berechtigung und die Zustimmung des Nutzers benötigen. Die Apple-Dokumentation zum Schlüsselbundzugriff sollte daher als Sicherheitsbaustein, nicht als vollständige Mandantentrennung verstanden werden. (support.apple.com)

Auch ein Cloud-Mac ist nicht automatisch konform mit DSGVO-Anforderungen. Entscheidend bleiben Auftragsverarbeitung, Speicherort, Zugriffsprotokolle, Löschkonzept, Schlüsselverwaltung und die tatsächliche Konfiguration. Die Formulierung „Cloud bedeutet getrennt“ wäre deshalb für eine Sicherheitsfreigabe zu schwach.

05

Plugins und stabile Aufgaben sollten nicht dauerhaft zusammenlaufen

Plugins verändern nicht nur die sichtbaren Werkzeuge. Je nach Harness-Implementierung können sie Startparameter, MCP-Verbindungen, Umgebungsvariablen, Tool-Berechtigungen oder Modellprofile beeinflussen. Ein Plugin, das für ein Experiment notwendig ist, kann damit indirekt den Startpfad einer stabilen Aufgabe verändern.

Die Spezifikation zur Anwendung eines Harness beschreibt die Anwendung als Übergang von einer validierten Konfiguration zu einer aktiven Agent-Sitzung. Änderungen an übergeordneten Konfigurationen oder Plugin-Quellen verändern eine bereits aktive Sitzung nicht automatisch rückwirkend; beim nächsten Start können sie jedoch relevant werden. (harnessprotocol.io)

Daraus ergibt sich ein zweistufiges Modell:

  • Stabile Umgebung: bekannte Plugins, dokumentierte Profile, kontrollierte Updates und wiederholbarer Start.
  • Experimentelle Umgebung: Plugin-Entwicklung, neue MCP-Verbindungen, geänderte Berechtigungen und absichtlich häufige Neustarts.

Mindestens eine Umgebung sollte unverändert bleiben, damit ein fehlerhaftes Plugin nicht alle laufenden oder kurzfristig benötigten Projekte blockiert. Wenn ein einzelner Plugin-Fehler die Auslieferung, den Kundenbetrieb oder einen dauerhaft laufenden Agenten unterbricht, ist das ein klares Signal für getrennte Bereitstellung.

06

Lang laufende Agenten brauchen eine eigene Betriebsverantwortung

Eine temporäre Aufgabe kann ein freies Zeitfenster nutzen. Ein langfristiger Agent verhält sich anders: Er belegt eine Sitzung, schreibt Logs, benötigt Überwachung, muss nach Neustarts wiederhergestellt werden und erzeugt eine dauerhafte Verantwortung für Zugangsdaten und Änderungen.

Der Unterschied wird oft unterschätzt, weil beide Aufgaben über denselben Befehl gestartet werden können. Für die Entscheidung sollte deshalb nicht „Projekt A oder Projekt B“ betrachtet werden, sondern:

  • Ist der Agent nur wenige Minuten aktiv oder dauerhaft?
  • Muss er nach einem Neustart automatisch wieder anlaufen?
  • Darf sein Fehler einen anderen Prozess stoppen?
  • Wer prüft Logs und Freigaben?
  • Wer entscheidet über Updates?

Wenn ein Ausfall eines Projekts andere Projekte blockiert, liegt kein normales gemeinsames Testsetup mehr vor. Dann sollte das betroffene Projekt unabhängig gestartet, aktualisiert und wiederhergestellt werden können.

Ein einfacher Startwrapper kann die Verantwortungsgrenze sichtbar machen:

#!/bin/zsh
set -euo pipefail

PROJECT_ROOT="${1:?Projektpfad fehlt}"
PROFILE="${2:?Profil fehlt}"
LOG_DIR="$PROJECT_ROOT/.harness-logs"

mkdir -p "$LOG_DIR"

case "$PROJECT_ROOT" in
  "$HOME/Projects/"*) ;;
  *) echo "Nicht freigegebener Projektpfad"; exit 2 ;;
esac

printf '%s profile=%s root=%s\n' \
  "$(date -u '+%Y-%m-%dT%H:%M:%SZ')" "$PROFILE" "$PROJECT_ROOT" \
  >> "$LOG_DIR/launch.log"

cd "$PROJECT_ROOT"
# Hier den projektspezifischen DeepSeek-Harness-Startbefehl einsetzen.

Der konkrete Startbefehl hängt von der verwendeten DeepSeek-Harness-Version ab und sollte nicht aus einem fremden Beispiel ungeprüft übernommen werden. Die DeepSeek-API-Dokumentation zur Authentifizierung bestätigt die Verwendung eines API-Schlüssels als Bearer-Authentifizierung; die sichere Ablage und Zuordnung dieses Schlüssels bleibt eine Aufgabe der Umgebung. (api-docs.deepseek.com)

07

FAQ zur gemeinsamen Umgebung

Eine Mac-Umgebung kann mehrere Projekte gleichzeitig ausführen

Ja, technisch ist das möglich, sofern die Projekte über eigene Arbeitsbereiche, Sitzungen und Startparameter verfügen. Die gemeinsame Umgebung sollte jedoch nur für Aufgaben verwendet werden, deren Daten- und Berechtigungsdomänen gleichartig sind. Für parallele Langläufer, kundenbezogene Zugangsdaten oder experimentelle Plugins ist eine zweite Umgebung meist einfacher zu kontrollieren.

Gemeinsame Plugins und Modellzugänge vergrößern die Fehlerreichweite

Ein gemeinsames Plugin kann mehrere Projekte gleichzeitig beeinflussen, während ein gemeinsamer Modellzugang Kosten, Logs und Verantwortlichkeiten vermischt. Das Risiko steigt besonders dann, wenn Projekte unterschiedliche Freigaberegeln oder vertrauliche Daten besitzen. Profile sollten deshalb nicht nur nach Repository, sondern nach Zugriffszweck und Berechtigungsdomäne gestaltet werden.

Ein Kundenrepository braucht nicht immer einen eigenen Mac

Eine separate Maschine ist keine automatische Pflicht für jedes Kundenprojekt. Sie wird sinnvoll, wenn Kundenzugänge, Geheimhaltungsstufen, Produktionsrechte oder Prüfanforderungen voneinander abweichen. Bei einer gemeinsamen Umgebung müssen Arbeitsbereich, Credentials, Logs, Plugins und Freigaben nachweisbar getrennt sein. Fehlt diese Nachweisbarkeit, ist die gemeinsame Lösung für den Kundenbetrieb zu knapp dimensioniert.

Die Berechtigungsdomäne ist wichtiger als die Repository-Anzahl

Drei Repositories mit identischen Zugriffsregeln können leichter gemeinsam betrieben werden als zwei Projekte mit unterschiedlichen Kunden- oder Produktionsrechten. Deshalb sollte zuerst nach Daten- und Berechtigungsdomäne gruppiert werden. Die Repository-Struktur ist danach relevant für Arbeitsbereiche, Branches und Sitzungsnamen, aber nicht der alleinige Maßstab für die Maschinenaufteilung.

08

Die Entscheidungsbedingungen im direkten Vergleich

Die folgende Tabelle dient als Entscheidungstool für die erste Architekturentscheidung. Sie ersetzt keine Belastungsprüfung, macht aber sichtbar, wann eine gemeinsame Umgebung noch vertretbar ist.

Entscheidungskriterium Gemeinsame Mac-Umgebung Getrennte Mac-Umgebungen
Parallelität Einzelne oder kurze parallele Aufgaben Dauerhaft mehrere aktive Sitzungen
Abhängigkeiten Ähnliche Laufzeiten, Tools und Profile Unterschiedliche Toolchains oder widersprüchliche Versionen
Daten Niedriges Risiko, gleiche Zugriffsklasse Kunden-, Produktions- oder vertrauliche Daten
Zugangsdaten Gleiche Berechtigungsdomäne, sauber zugeordnet Unterschiedliche Tokens, Freigaben oder Verantwortliche
Plugins Seltene, kontrollierte Änderungen Häufige Entwicklung, Updates oder experimentelle MCP-Verbindungen
Fehlerwirkung Ein Fehler betrifft nur ein Testprojekt Ein Fehler kann andere Projekte oder Kunden blockieren
Betrieb Eine verantwortliche Person Getrennte Teams, Schichten oder Übergaben
Wiederherstellung Manueller Neustart akzeptabel Unabhängiger Neustart und eigene Rückfallumgebung erforderlich
09

Ein kontrollierter Test entscheidet besser als eine Bauchzahl

Vor einer dauerhaften Anmietung oder Beschaffung sollte die Umgebung mit einem festen Projektmix geprüft werden. Das verhindert, dass eine Momentaufnahme als allgemeine Kapazitätsgrenze missverstanden wird.

  1. Projektklassen festlegen: mindestens ein internes Projekt, ein vertrauliches Projekt und ein Plugin-Testprojekt markieren.
  2. Arbeitsbereiche anlegen: für jedes Projekt einen absoluten Pfad und eine eigene Sitzungsbezeichnung verwenden.
  3. Profile trennen: Modellzugang, Tool-Freigaben und Umgebungsvariablen je Berechtigungsdomäne dokumentieren.
  4. Nacheinander testen: dieselben Aufgaben einzeln ausführen und Laufzeit, Fehler, Logs und manuellen Aufwand notieren.
  5. Parallel testen: nur die Aufgaben gleichzeitig starten, die im echten Betrieb parallel laufen sollen.
  6. Fehler absichtlich prüfen: einen falschen Pfad, ein fehlendes Plugin und einen kontrollierten Neustart simulieren.
  7. Logs zuordnen: nach jedem Lauf prüfen, ob Sitzung, Projektname, Profil und Ergebnis eindeutig erkennbar sind.
  8. Rückfall testen: ein stabiles Profil ohne experimentelle Änderung starten und feststellen, ob andere Projekte davon unberührt bleiben.
  9. Entscheidung dokumentieren: bei vermischten Logs, falschen Credentials oder blockierendem Fehler die betroffene Kombination trennen.

Für die laufende Kontrolle kann eine einfache Bestandsaufnahme helfen:

printf 'Arbeitsbäume:\n'
git worktree list

printf '\nAktive Agent-Prozesse:\n'
pgrep -alf 'deepseek|harness' || true

printf '\nProjektprofile:\n'
find "$HOME/Projects" -maxdepth 3 -name '*profile*' -print

Die Ausgabe liefert keine zuverlässige Leistungsgrenze. Sie zeigt lediglich, ob die Umgebung nachvollziehbar betrieben wird und ob mehrere Sitzungen, Arbeitsbäume oder Profile gleichzeitig aktiv sind.

10

Gemeinsamer Mac, getrennte Macs oder eine Doppelstruktur

Betriebsmodell Geeignet für Hauptvorteil Hauptnachteil Entscheidung
Ein Mac, getrennte Arbeitsbereiche Einzelentwickler, niedrige Parallelität, ähnliche Projekte Geringerer Pflegeaufwand Gemeinsamer Fehler- und Updatebereich Als kontrollierter Start
Ein Mac, getrennte Profile und stabile Prozessgruppen Kleine Teams mit klarer Zuständigkeit Bessere Zuordnung ohne vollständige Verdopplung Erfordert Disziplin bei Logs und Zugangsdaten Nur bei dokumentierter Übergabe
Separate Macs pro Berechtigungsdomäne Kunden-, Produktions- und interne Projekte Begrenzte Fehler- und Datenreichweite Höherer Verwaltungsaufwand Bei unterschiedlichen Zugriffen
Doppelstruktur aus stabiler und experimenteller Umgebung Plugin-Entwicklung plus Dauerbetrieb Updates gefährden nicht die stabile Aufgabe Zwei Umgebungen müssen gepflegt werden Für aktive Plugin-Arbeit
Temporärer Cloud-Mac neben lokaler Umgebung Kurzfristige Spitzen, Tests und Übergaben Flexible Kapazität ohne sofortigen Kauf Netzwerk, Zugriffs- und Löschprozesse müssen geprüft werden Für zeitlich begrenzte Last

Eine gemeinsame Umgebung ist besonders dann wirtschaftlich, wenn Projekte selten gleichzeitig laufen und dieselbe Person die Verantwortung trägt. Sie wird unübersichtlich, sobald mehrere Personen unabhängig Änderungen durchführen oder ein Projekt dauerhaft aktiv bleibt. Eine getrennte Umgebung ist dagegen nicht automatisch besser: Bei langfristig stabiler, hoher Auslastung kann ein eigener physischer Mac organisatorisch und finanziell sinnvoller sein als wiederholte temporäre Mieten.

Für temporäre Tests, externe Übergaben oder kurzfristige Parallelität kann ein Cloud-Mac die passende Zwischenlösung sein. NodeMini beschreibt auf der Übersichtsseite für Mac-Umgebungen den Zugang zu solchen Szenarien. Wer eine konkrete Lösung prüft, kann zusätzlich die verfügbaren Optionen auf der Seite zum Mac-Mieten für Entwicklungsumgebungen vergleichen; für eine konkrete Auswahl sollten jedoch die tatsächliche Parallelität, die Berechtigungsdomäne und die benötigte Betriebsdauer genannt werden, nicht nur die Repository-Anzahl.

11

Die aktuelle Umgebung bleibt oft der schwächere Langzeitplan

Ein einzelner lokaler Mac wirkt zunächst einfach, hat bei mehreren DeepSeek Harness Projekten aber drei typische Nachteile: Ein Systemupdate oder Plugin-Fehler kann mehrere Aufgaben gleichzeitig treffen, lokale Zugangsdaten und Logs werden leichter vermischt, und die Verantwortung für Neustart, Erreichbarkeit und Wiederherstellung liegt vollständig bei einer Person. Bei einem Kundenprojekt kommen zusätzlich Nachweise zu Zugriff, Löschung und Übergabe hinzu.

Eine zweite physische Maschine löst diese Punkte, erhöht aber Beschaffung, Pflege und Auslastungsrisiko. Für kurzfristige Spitzen oder eine getrennte Testumgebung ist deshalb ein gemieteter Cloud-Mac oft die pragmatischere Ergänzung. NodeMini sollte dabei nicht nach der Zahl aller Repositories angefragt werden, sondern nach der Zahl gleichzeitig laufender Aufgaben und unabhängiger Berechtigungsdomänen. So lässt sich vermeiden, dass Projekte unnötig auf mehrere Umgebungen verteilt werden, während wirklich kritische Grenzen weiterhin sauber getrennt bleiben.

Als nächster Schritt genügt eine Projektmatrix mit fünf Markierungen: Parallelität, Datenklasse, Credentials, Plugin-Änderungen und Fehlerwirkung. Projekte ohne Isolationssignal können zunächst gemeinsam starten; jedes Projekt mit einem klaren Trennungssignal sollte eine eigene DeepSeek-Harness-Umgebung oder mindestens eine unabhängig verwaltete Ausführungsgruppe erhalten.