plugin-hints.md +0 −172 deleted
File Deleted View Diff
1> ## Documentation Index
2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
3> Use this file to discover all available pages before exploring further.
4
5# Empfehlen Sie Ihr Plugin von Ihrer CLI aus
6
7> Geben Sie einen einzeiligen Marker von Ihrer CLI aus, damit Claude Code Benutzer auffordert, Ihr offizielles Plugin zu installieren.
8
9Wenn Sie eine CLI oder ein SDK verwalten und ein Plugin im offiziellen Anthropic-Marketplace haben, kann Ihr Tool Claude Code-Benutzer auffordern, dieses Plugin zu installieren. Ihre CLI schreibt einen einzeiligen Marker auf stderr, wenn sie erkennt, dass sie in Claude Code ausgeführt wird. Claude Code liest den Marker, entfernt ihn aus der Ausgabe und zeigt dem Benutzer eine einmalige Installationsaufforderung an.
10
11Das Protokoll erfordert keine zusätzlichen Befehle und ändert nicht, was Ihre CLI für Benutzer außerhalb von Claude Code ausgibt.
12
13Diese Seite ist für CLI- und SDK-Verwalter. Wenn Sie nach der Installation von Plugins suchen, siehe [Plugins entdecken und installieren](/docs/de/discover-plugins).
14
15<h2 id="how-it-works">
16 Funktionsweise
17</h2>
18
19Claude Code setzt die [`CLAUDECODE`](/docs/de/env-vars) Umgebungsvariable auf `1` für jeden Befehl, den es über die Bash- und PowerShell-Tools ausführt, und für [hook](/docs/de/hooks)-Befehle. Ab v2.1.172 setzt es auch [`CLAUDE_CODE_CHILD_SESSION`](/docs/de/env-vars) auf `1` in denselben Subprozessen. Wenn Ihre CLI eine dieser Variablen sieht, schreibt sie ein selbstschließendes `<claude-code-hint />`-Tag auf stderr. Bei hook-Befehlen wird das Hinweis-Tag entfernt und ignoriert. Nur die Ausgabe von Bash- und PowerShell-Tools löst die Installationsaufforderung aus.
20
21Wenn Claude Code die Befehlsausgabe empfängt, führt es folgende Schritte aus:
22
231. Scannt nach Hinweiszeilen und entfernt sie, bevor die Ausgabe das Modell erreicht
242. Überprüft, dass der Hinweis auf ein Plugin in einem offiziellen Anthropic-Marketplace abzielt
253. Überprüft, dass das Plugin nicht bereits installiert ist und nicht zuvor aufgefordert wurde
264. Zeigt dem Benutzer eine Installationsaufforderung an, die den Befehl benennt, der den Hinweis ausgegeben hat
27
28Claude Code installiert ein Plugin nie automatisch. Der Benutzer bestätigt immer.
29
30<h2 id="emit-the-hint">
31 Hint ausgeben
32</h2>
33
34Hint-Prompts werden nur für Plugins ausgelöst, die im offiziellen Anthropic-Marketplace aufgelistet sind. Siehe [Bringen Sie Ihr Plugin in den offiziellen Marketplace](#get-your-plugin-into-the-official-marketplace), bevor Sie die Integration bereitstellen.
35
36Geben Sie die Ausgabe basierend auf einer Umgebungsvariablen frei, damit die Markierung wahrscheinlich nicht angezeigt wird, wenn ein Mensch Ihre CLI direkt ausführt. Schreiben Sie dann das Tag auf stderr auf einer eigenen Zeile. Wählen Sie, welche Variable überprüft werden soll:
37
38* `CLAUDECODE`: wird auf jeder Claude Code-Version gesetzt, daher erreicht es die meisten Sitzungen. Es wird auch in tmux-Sitzungen und stdio-MCP-Server-Subprozessen gesetzt, die Claude Code startet. IDE-Erweiterungen setzen es auch in ihren integrierten Terminals, wo ein Mensch Ihre CLI direkt ausführen kann.
39* `CLAUDE_CODE_CHILD_SESSION`: wird nur in Subprozessen gesetzt, die Claude Code selbst startet, wie z. B. Tool-Aufrufe, Hook-Befehle und [Statuszeilen](/docs/de/statusline)-Befehle, daher erreicht das Tag normalerweise kein menschliches Terminal. Ein langlebiger Prozess, der innerhalb einer Sitzung gestartet wurde, wie z. B. ein tmux-Server, erfasst die Variable, daher zeigen Shells, die später von diesem Prozess aus gestartet werden, immer noch das rohe Tag.
40
41Die folgenden Beispiele geben `CLAUDECODE` für maximale Reichweite frei und geben einen Hint für ein Plugin namens `example-cli` im offiziellen Marketplace aus:
42
43<CodeGroup>
44 ```javascript Node.js theme={null}
45 if (process.env.CLAUDECODE) {
46 process.stderr.write(
47 '<claude-code-hint v="1" type="plugin" value="example-cli@claude-plugins-official" />\n',
48 )
49 }
50 ```
51
52 ```python Python theme={null}
53 import os, sys
54
55 if os.environ.get("CLAUDECODE"):
56 print(
57 '<claude-code-hint v="1" type="plugin" value="example-cli@claude-plugins-official" />',
58 file=sys.stderr,
59 )
60 ```
61
62 ```go Go theme={null}
63 if os.Getenv("CLAUDECODE") != "" {
64 fmt.Fprintln(os.Stderr,
65 `<claude-code-hint v="1" type="plugin" value="example-cli@claude-plugins-official" />`)
66 }
67 ```
68
69 ```shell Shell theme={null}
70 if [ -n "$CLAUDECODE" ]; then
71 printf '%s\n' '<claude-code-hint v="1" type="plugin" value="example-cli@claude-plugins-official" />' >&2
72 fi
73 ```
74</CodeGroup>
75
76Ersetzen Sie `example-cli` durch den Namen Ihres Plugins im offiziellen Marketplace.
77
78<h2 id="choose-where-to-emit">
79 Wählen Sie, wo Sie ausgeben
80</h2>
81
82Sie kontrollieren, welche Code-Pfade den Hinweis ausgeben. Claude Code dedupliziert nach Plugin, daher hat die Ausgabe bei jeder Aufrufen keinen Nachteil. Berührungspunkte, die gut funktionieren, sind:
83
84| Platzierung | Warum es funktioniert |
85| :----------------------------------------- | :---------------------------------------------------------------------- |
86| `--help` Ausgabe | Claude führt häufig Hilfe aus, wenn eine unbekannte CLI erkundet wird |
87| Fehler bei unbekanntem Unterbefehl | Erreicht den Moment, in dem Claude über Ihre Schnittstelle verwirrt ist |
88| Anmeldungs- oder Authentifizierungserfolg | Der Benutzer ist bereits in einer Einrichtungsmentalität |
89| Willkommensnachricht beim ersten Ausführen | Ein natürlicher Onboarding-Moment |
90
91<h2 id="what-the-user-sees">
92 Was der Benutzer sieht
93</h2>
94
95Wenn der Hinweis alle Überprüfungen besteht, zeigt Claude Code eine Aufforderung wie die folgende an:
96
97```text theme={null}
98─────────────────────────────────────────────────────────────
99 Plugin-Empfehlung
100
101 Der Befehl example-cli schlägt vor, ein Plugin zu installieren.
102
103 Plugin: example-cli
104 Marketplace: claude-plugins-official
105 Offizielle Integration für example-cli-Bereitstellungen
106
107 Möchten Sie es installieren?
108 ❯ 1. Ja, example-cli installieren
109 2. Nein
110 3. Nein, und zeige mir keine Plugin-Installationshinweise mehr
111
112─────────────────────────────────────────────────────────────
113```
114
115Die Aufforderung benennt den Befehl, der den Hinweis erzeugt hat, damit Benutzer einen Mismatch zwischen dem Tool und dem Plugin, das es empfiehlt, erkennen können. Wenn der Benutzer nicht innerhalb von 30 Sekunden antwortet, wird die Aufforderung als **Nein** verworfen.
116
117Die Häufigkeit der Aufforderung ist begrenzt, und einige Sitzungen zeigen nie eine Aufforderung:
118
119* **Einmal pro Plugin**: Nachdem die Aufforderung angezeigt wurde, zeichnet Claude Code das Plugin auf und fordert es nie wieder auf, unabhängig von der Antwort des Benutzers.
120* **Einmal pro Sitzung**: Auf allen CLIs auf dem Computer erscheint höchstens eine Hinweisaufforderung pro Claude Code-Sitzung.
121* **Nur in der Hauptinteraktiven Sitzung**: Claude Code zeigt die Aufforderung nur in der Terminalsitzung an, in die der Benutzer tippt. Claude Code fordert nie für einen Befehl auf, den ein [Subagent](/docs/de/sub-agents) ausführt, und fordert nie auf, wenn der Benutzer Claude Code im [nicht-interaktiven Modus](/docs/de/headless) mit dem Flag `-p` oder über das [Agent SDK](/docs/de/agent-sdk/overview) ausführt. Claude Code entfernt die Hinweiszeile trotzdem aus der Befehlsausgabe in allen diesen Fällen.
122* **Telemetrie-Opt-outs**: Sitzungen, in denen Analysen deaktiviert sind, zeigen nie Hinweisaufforderungen. Dies umfasst Sitzungen mit `DISABLE_TELEMETRY` oder `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` gesetzt, und Sitzungen bei Drittanbietern wie Amazon Bedrock oder Google Cloud's Agent Platform, wo das [automatische Telemetrie-Opt-out](/docs/de/data-usage#default-behaviors-by-api-provider) gilt.
123
124Wenn Sie **Ja** auswählen, wird das Plugin im Benutzerbereich installiert. Wenn Sie **Nein, und zeige mir keine Plugin-Installationshinweise mehr** auswählen, werden alle zukünftigen Hinweisaufforderungen für den Benutzer deaktiviert.
125
126<h2 id="hint-format">
127 Hinweisformat
128</h2>
129
130Der Hinweis ist ein selbstschließendes Tag mit drei erforderlichen Attributen.
131
132```text theme={null}
133<claude-code-hint v="1" type="plugin" value="example-cli@claude-plugins-official" />
134```
135
136| Attribut | Erforderlich | Beschreibung |
137| :------- | :----------- | :------------------------------------------------------ |
138| `v` | Ja | Protokollversion. `1` ist der einzige unterstützte Wert |
139| `type` | Ja | Hinweistyp. `plugin` ist der einzige unterstützte Wert |
140| `value` | Ja | Plugin-Identifier in der Form `name@marketplace` |
141
142Attributwerte können mit doppelten Anführungszeichen zitiert oder unzitiert gelassen werden. Unzitierte Werte können keine Leerzeichen enthalten. Escape-Sequenzen werden nicht unterstützt.
143
144<h2 id="requirements">
145 Anforderungen
146</h2>
147
148Claude Code erzwingt zwei Bedingungen, bevor es auf einen Hinweis reagiert. Hinweise, die eine der beiden Überprüfungen nicht bestehen, werden verworfen:
149
150* **Eigene Zeile**: Das Tag muss auf seiner eigenen Zeile stehen. Ein Tag, das in der Mitte einer Zeile eingebettet ist, z. B. in einer Log-Anweisung, wird ignoriert. Führende und nachfolgende Leerzeichen auf der Zeile sind zulässig.
151* **Offizieller Marketplace**: Der `value` muss auf ein Plugin in einem von Anthropic kontrollierten Marketplace wie `claude-plugins-official` verweisen. Hinweise, die auf andere Marketplaces verweisen, werden stillschweigend verworfen.
152
153Die Hinweiszeile wird immer aus der Ausgabe entfernt, bevor sie das Modell erreicht, auch wenn die Version oder der Typ nicht erkannt wird, sodass der Marker nie zur Token-Nutzung zählt.
154
155Die verbleibende Anleitung wird empfohlen, aber nicht erzwungen. Claude Code kann nicht beobachten, ob Ihre CLI sie befolgt:
156
157* **Schreiben Sie auf stderr**: stderr hält das Tag aus Shell-Pipelines wie `example-cli deploy | jq` heraus. Claude Code scannt beide Streams, daher funktioniert auch stdout.
158* **Gate on an environment variable**: Geben Sie nur aus, wenn `CLAUDECODE` oder `CLAUDE_CODE_CHILD_SESSION` gesetzt ist. Siehe [Emit the hint](#emit-the-hint), um zu erfahren, wie sich die beiden Variablen unterscheiden.
159
160<h2 id="get-your-plugin-into-the-official-marketplace">
161 Bringen Sie Ihr Plugin in den offiziellen Marketplace
162</h2>
163
164Das Hinweisprotokoll wird nur für Plugins wirksam, die im offiziellen Anthropic-Marketplace aufgelistet sind, `claude-plugins-official`. Anthropic kuratiert diesen Marketplace nach eigenem Ermessen, und die In-App-Einreichungsformulare fügen Plugins stattdessen zum [Community-Marketplace](/docs/de/plugins#submit-your-plugin-to-the-community-marketplace) hinzu, den das Hinweisprotokoll nicht überprüft. Wenn Sie mit einem Anthropic-Partner-Kontakt zusammenarbeiten, wenden Sie sich an ihn, um die Auflistung im offiziellen Marketplace zu koordinieren.
165
166<h2 id="see-also">
167 Siehe auch
168</h2>
169
170* [Erstellen Sie Plugins](/docs/de/plugins): Erstellen Sie das Plugin, das Ihre CLI empfiehlt
171* [Erstellen und verteilen Sie einen Plugin-Marketplace](/docs/de/plugin-marketplaces): Hosten Sie Plugins außerhalb des offiziellen Marketplace
172* [Umgebungsvariablen](/docs/de/env-vars): Vollständige Referenz für `CLAUDECODE` und verwandte Variablen