Skip to main content

Command im Terminal

Verwenden Sie im Terminal unsere Command-Funktion (Cmd/Ctrl+I), um aus Prompts in natürlicher Sprache die passende CLI-Syntax zu generieren.

Terminalauswahl an den Agent senden

Markieren Sie einen Teil des Stacktrace und drücken Sie Cmd/Ctrl+L, um ihn an den Agent-Bereich zu senden. Dort können Sie in Ihrem nächsten Prompt darauf Bezug nehmen.

Ihr Terminal mit @ erwähnen

Chatten Sie mit dem Agent über Ihre aktiven Terminals.

Automatisch ausgeführte Agent-Befehle

Der Agent kann mit Zustimmung des Nutzers selbstständig Terminalbefehle ausführen. Sie können über vier verschiedene Stufen der automatischen Ausführung festlegen, wie der Agent die Befehlsausführung handhabt. Bestimmte Terminalbefehle können außerdem über die Allowlist und Denylist automatisch zugelassen oder abgelehnt werden.

Stufen der automatischen Ausführung

Stufen der automatischen Ausführung gelten für Cascade. Der Devin Local Agent ersetzt sie durch sein eigenes Berechtigungsmodell, das die Befehlsausführung stattdessen mit Allow-, Ask- und Deny-Regeln steuert.
Devin Desktop bietet vier Stufen für die automatische Ausführung von Befehlen, mit denen Sie steuern können, wie der Agent Terminalbefehle ausführt: Sie können Ihre bevorzugte Stufe der automatischen Ausführung über das Devin Settings-Panel unten rechts im Editor auswählen.

Von Administratoren festgelegte Höchststufe (Teams & Enterprise)

Für Teams- und Enterprise-Nutzer können Administratoren eine maximal zulässige Stufe für die automatische Ausführung für ihre Organisation festlegen. Diese Einstellung beschränkt, welche Stufen Teammitgliedern zur Verfügung stehen, sodass Admins Sicherheitsrichtlinien durchsetzen und Nutzern innerhalb dieser Grenzen dennoch Flexibilität bieten können. Wenn ein Admin eine Höchststufe festlegt, können Nutzer jede Stufe bis einschließlich dieser Höchststufe auswählen. Setzt ein Admin die Höchststufe zum Beispiel auf „Auto“, können Nutzer zwischen Disabled, Allowlist Only oder Auto wählen, den Turbo-Modus jedoch nicht aktivieren. Administratoren können diese Einstellung im Admin Portal unter Team Settings konfigurieren.

Teamweite Befehlslisten (Teams & Enterprise)

Administratoren können teamweite Allowlist und Denylist für Terminalbefehle konfigurieren, die für alle Teammitglieder gelten. Diese Listen gelten zusätzlich zu den individuellen Allow-/Denylisten der Nutzer. Wichtige Verhaltensweisen:
  • Team- und Nutzerkonfigurationen werden zusammengeführt: Listen auf Teamebene werden mit der individuellen Allowlist und Denylist jedes Nutzers kombiniert. Ein Befehl, der entweder mit der Team-Allowlist oder der Nutzer-Allowlist übereinstimmt, wird automatisch ausgeführt (sofern er nicht durch eine Denylist blockiert wird).
  • Die Denylist hat Vorrang vor der Allowlist – wenn ein Befehl mit beiden Listen übereinstimmt (entweder auf Team- oder Nutzerebene), ist eine Zustimmung erforderlich.
Um teamweite Befehlslisten zu konfigurieren, gehen Sie zum Admin-Portal → Team Settings → Terminal Commands → Manage Lists.

Allowlist

Eine Allowlist definiert eine Reihe von Terminal-Befehlen, die immer automatisch ausgeführt werden. Einträge, die auf * enden, passen auf jeden Befehl, der mit denselben Tokens beginnt; alle anderen Einträge passen nur auf genau diesen Befehl. Steht zum Beispiel git * auf Ihrer Allowlist, akzeptiert der Agent immer git add -A. Ihre Allowlist verwalten Sie über die Terminal-Befehlskarten des Agents:
  • Wenn der Agent auf eine Genehmigung wartet, öffnen Sie das Dropdown neben Run. Wählen Sie unter Allowlist die Option Prefix, um jeden Befehl automatisch auszuführen, der mit dem Basisbefehl beginnt (zum Beispiel git *), oder Allow, um nur genau diesen Befehl automatisch auszuführen.
  • Bei einem bereits ausgeführten Befehl öffnen Sie Auto-run settings (das Einstellungssymbol auf der Befehlskarte) und wählen dort dieselben Optionen.
Wählen Sie den hervorgehobenen Eintrag erneut aus, um ihn von Ihrer Allowlist zu entfernen.

Denylist

Eine Denylist definiert eine Reihe von Terminal-Befehlen, die niemals automatisch ausgeführt werden. Steht zum Beispiel rm * auf Ihrer Denylist, fragt der Agent immer nach einer Berechtigung, bevor er rm index.py ausführt. Um einen Befehl zu Ihrer Denylist hinzuzufügen, öffnen Sie dasselbe Dropdown neben Run (bzw. Auto-run settings bei einem bereits ausgeführten Befehl) und wählen Sie Deny. Damit wird jeder Befehl abgelehnt, der mit diesem Basisbefehl beginnt. Wählen Sie erneut Deny, um ihn wieder zu entfernen.
Diese nutzerspezifischen Allow- und Denylisten gelten für Cascade. Für den Devin Local Agent konfigurieren Sie Befehlsmuster stattdessen in den Devin Local settings unter Allow, Deny und Ask. Die Regelsyntax finden Sie unter Berechtigungen. Teamweite Listen werden separat im Admin-Portal verwaltet, wie oben unter „Team-Wide Command Lists“ beschrieben.

Dediziertes Terminal

Devin Desktop stellt dem Agent ein dediziertes Terminal zur Verfügung, in dem er auf macOS und Linux Befehle ausführen kann. Dieses dedizierte Terminal ist von deinem Standardterminal getrennt und verwendet pro Plattform eine feste Shell: zsh auf macOS und bash auf Linux.
Deine Konfiguration für diese Shell wird dabei durchaus berücksichtigt: Aliase und Umgebungsvariablen aus deinen Shell-Konfigurationsdateien (zum Beispiel .zshrc auf macOS oder .bashrc auf Linux) stehen also zur Verfügung. Wenn dein Standardterminal eine andere Shell verwendet und Devin Desktop gemeinsame Umgebungsvariablen nutzen soll, empfehlen wir, eine gemeinsame Konfigurationsdatei anzulegen, die beide Shells einlesen können.

Fehlerbehebung

Wenn Sie Probleme mit dem dedizierten Terminal haben, können Sie wieder zum Legacy-Terminal wechseln, indem Sie in den Devin Desktop Settings die Option Legacy Terminal Profile aktivieren.