Claude Code: Intelligente Entwicklungsagenten in Terminals
Anthropisch Kommandozeilen-Tools gestartet Claude Code
Nicht nur ein weiteres Chat-Fenster oder IDE-Plugin, sondern ein nativ in die Terminalumgebung integrierter Entwicklungsagent. Er versteht die Projektstruktur, liest und schreibt Dateien, führt Befehle aus und koordiniert sogar mehrere Unter-Agenten, um komplexe Aufgaben zu erledigen, um KI tiefer in den Kern-Workflow von Entwicklern zu bringen.
Für Entwickler, die es gewohnt sind, mit Terminals zu arbeiten, ist dieClaude Code
Bietet eine Alternative zum GitHub Copilot
und andere Tools mit unterschiedlichen Interaktionsmodi.Copilot
Die Stärken von IDE sind die nahtlose IDE-Integration und die schnelle Code-Vervollständigung auf Zeilenebene - es handelt sich eher um einen "Paar-Programmierer", der den "Schreib"-Teil des Prozesses optimiert. Im Gegensatz dazu ist die Claude Code
Es handelt sich eher um einen "Projektmanager" mit einer Position in Shell, der sich auf die Planung und Ausführung von Aufgaben auf höherer Ebene konzentriert und auf komplexe Probleme spezialisiert ist, die ein dokumentenübergreifendes Verständnis und Refactoring erfordern.
Wesentliche Merkmale
- Native Terminal-IntegrationCodegenerierung, Debugging und Befehlsausführung können durchgeführt werden, ohne das Terminal zu verlassen. Diese Design-Philosophie ist für Entwickler attraktiv, die auf Skripting und Automatisierungsabläufe in der Befehlszeile angewiesen sind.
- Benutzerdefinierte Slash-BefehleKapselung gängiger Arbeitsabläufe in Ein-Klick-Befehle für einen hohen Automatisierungsgrad.
- Zusammenarbeit der Unteragenten:: Unterstützt die Erstellung dedizierter Sub-Agenten mit unterschiedlichen Zuständigkeiten und Berechtigungen, die vom Master-Agenten koordiniert werden und sich für die Bearbeitung mehrstufiger Aufgaben wie Code-Review und Testerstellung eignen.
- Starke ProjektkontrolleDurch Befehls-Whitelisting, Proxy-Konfiguration (Proxy), Hooks (Hooks), Plug-in-Mechanismus und Modellkontextprotokoll (MCP) Erweiterung, die eine feinere Kontrolle ermöglicht.
- SDK und Systemintegration: Vorausgesetzt
TypeScript
im Gesang antwortenPython
SDK, das nicht-interaktive Aufrufe und tiefgreifende Anpassungen unterstützt.
Verwendung in häuslichen Umgebungen
anfangen zu benutzen Claude Code
Sicherstellen, dass die Umwelt die Node.js
18 oder später, gefolgt von npm
Globale Installation:
npm install -g @anthropic-ai/claude-code
Nach der Installation geben Sie in das Terminal ein claude
gestartet werden kann. Bei der ersten Ausführung wird der Benutzer aufgefordert, die /login
um sich anzumelden und zu abonnieren.
aufgrund von Claude
Es gibt Hindernisse für den Registrierungs- und Zahlungsprozess in dem Land, und die Nutzer können die folgenden zwei Alternativen in Betracht ziehen, um das System zu konfigurieren und zu nutzen Claude Code
.
1. die Verwendung der Kimi (Dark Side of the Moon) API
Die dunkle Seite des Mondes (Moonshot AI) API-Kompatibilität Claude Code
von Eingabe- und Ausgabeformaten. Nutzer können sich auf ihrer offenen Plattform bewerben API Key
und durch die Konfiguration von Umgebungsvariablen zur Angabe von API
Endpunkte und Authentifizierungstokens:
export ANTHROPIC_BASE_URL="https://api.moonshot.cn/anthropic" && export ANTHROPIC_AUTH_TOKEN="sk-******"
Nachdem die Konfiguration abgeschlossen ist, wird dieClaude Code
Sofort einsatzbereit.
2. lokale Proxy-Dienste einrichten
claude-code-proxy
ist eine offene Quelle Python
Projekt, das alles aufnimmt, was mit dem Internet zu tun hat. OpenAI
Kompatible APIs werden umgewandelt in Claude Code
Verfügbare Schnittstellen.
Lokale Bedienung und Konfigurationsschritte::
- Laden Sie das Projekt herunter und installieren Sie die Abhängigkeiten:
uv sync
- Erstellen und Ändern von Konfigurationsdateien:
cp .env.example .env
. Unter.env
Füllen Sie die Datei ausOpenAI
kompatibelAPI Key
im Gesang antwortenBase URL
und spezifizieren die entsprechenden Modelle für verschiedene Aufgabenkomplexitäten.OPENAI_API_KEY="sk-your-openai-key" OPENAI_BASE_URL="https://api.openai.com/v1" BIG_MODEL="gpt-4o" # 对应 'claude-3-opus' MIDDLE_MODEL="gpt-4o" # 对应 'claude-sonnet-4' SMALL_MODEL="gpt-4o-mini" # 对应 'claude-3.5-haiku'
- Starten Sie den lokalen Dienst:
uv run claude-code-proxy
Der Dienst läuft standardmäßig an Port 8082. - Konfigurieren Sie die Umgebungsvariablen durch Setzen der
Claude Code
Anfragen an den lokalen Proxy.AUTH_TOKEN
Kann auf ein beliebiges Zeichen gesetzt werden, um die Anmeldeaufforderung zu umgehen.export ANTHROPIC_BASE_URL="http://localhost:8082" export ANTHROPIC_AUTH_TOKEN="anything"
- Starten Sie es in einem Terminal
claude
Es kann losgehen.
Kernfunktionen im Detail
Claude Code
als Agent
:: Autonome Planung von Aufgaben, Aufrufen von Werkzeugen und Koordination Sub-Agent
Die Fähigkeit, dies zu tun. Es liest die relevanten Dateien und erstellt den Kontext, der für die Erledigung der Aufgabe erforderlich ist, so wie es die Aufgabe erfordert und mit der Genehmigung des Benutzers.
Berechtigungskonfiguration und Sicherheitsüberlegungen
Das Ziel der Privilegienkonfiguration ist es, ein Gleichgewicht zwischen Automatisierungseffizienz und Systemsicherheit herzustellen.Claude Code
Wenn Sie die Ausführung beliebiger Shell-Befehle zulassen, kann die unkontrollierte KI zu Datenverlusten, Systembeschädigungen und sogar zu Datenverletzungen führen.
Ein nennenswertes Risiko istSofortige Injektion. Angreifer können bösartige Anweisungen in Codekommentaren, Dokumenten oder sogar Webseiteninhalten verstecken. Wenn Claude Code
Beim Lesen dieser externen Informationen können bösartige Befehle ausgeführt werden, die sie dazu verleiten, sensible Informationen preiszugeben oder gefährliche Operationen durchzuführen.
Um das Risiko zu kontrollieren.Claude Code
Es gibt einen Mechanismus für eine fein abgestufte Rechteverwaltung. Benutzer können die Elementebene manuell bearbeiten .claude/settings.json
oder Benutzerebene ~/.claude.json
Datei, um die Berechtigungen zu konfigurieren:
{
"skipPermissions": false,
"allowedTools": ["read", "write"],
"allowCommands": ["node ./scripts/setup.js"],
"denyCommands": ["rm -rf /", "curl http://*"]
}
skipPermissions
: Ob die manuelle Bestätigung bei jedem Schritt übersprungen werden soll.allowedTools
: ErlaubtClaude
Whitelisting der verwendeten Tools.allowCommands
/denyCommands
:: Granulareres Whitelisting und Blacklisting auf Befehlsebene.
Für die Restaurierung lint
Fehler wie diese sind risikoarme Batch-Aufgaben, die mit dem --dangerously-skip-permissions
Flag überspringt alle Berechtigungsprüfungen. Es wird jedoch dringend empfohlen, dass in Containerumgebungen ohne Netzzugang (z. B. die Docker Dev Containers
), in dem dieser Modus zur Isolierung potenzieller Risiken verwendet wird.
Darüber hinaus ist es möglich, die Interaktionsschnittstelle zu nutzen /permissions
passt die Berechtigungen für die aktuelle Sitzung dynamisch an.
Speicherverwaltung
Die Daten werden über eine Datei namens CLAUDE.md
die Speicherdateien desClaude Code
Der Speicher für Informationen wie Projektkontext, Codierungsspezifikationen, persönliche Präferenzen usw. kann zwischen den Sitzungen beibehalten werden. Die Speicherdateien sind nach Unternehmens-, Benutzer- und Projektebene kategorisiert und werden übereinander gelegt, um beim Laden einen vollständigen Kontext zu bilden.
Geben Sie im interaktiven Fenster #
Die Speichererstellung kann ausgelöst werden. Verwenden Sie die /init
Befehl.Claude Code
Kann die Codebasis automatisch scannen und eine Projektübersicht mit einer CLAUDE.md
Dokumentation. Mittels der /memory
Befehle zum Bearbeiten und Anzeigen des Speichers.
CLAUDE.md
Die Dokumentation unterstützt die Verwendung von @path/to/file
Die Syntax importiert den Inhalt anderer Dateien, um die Referenzierung zu erleichtern README
oder bereits vorhandene Informationen wie Konfigurationsdateien.
Benutzerdefinierte Slash-Befehle
Slash-Befehle sind Abkürzungen für häufig verwendete technische Aufforderungen (Prompts). Benutzer können Aufgabenanweisungen als Markdown-Dateien in ein bestimmtes Verzeichnis schreiben.Claude Code
Er wird automatisch als aufrufbarer Befehl erkannt.
- Speicherort:
- Projektebene.
.claude/commands/
(Angerufen./project:命令名
) - Benutzerebene.
~/.claude/commands/
(Angerufen./user:命令名
)
- Projektebene.
- Parametereingabe:
- ausnutzen
$ARGUMENTS
Der Platzhalter erhält alle Argumente nach dem Befehl.
- ausnutzen
Eine Schöpfung Hugo
Beispielbefehle für den Artikel (.claude/commands/posts/new.md
):
---
description: 创建一篇新的 Hugo 文章
argument-hint: [title]
model: haiku
---
创建一篇文章,标题为 $ARGUMENTS:
# 文章要求
1. 生成 kebab-case 格式的文件名 (格式: YYYY-MM-DD-标题.md)。
2. 使用 Hugo 命令创建新文件: `hugo new content`。
3. 更新文件的 Front Matter,包含标题、日期和描述。
4. 告诉我预览网站的命令。
# 偏好设置:
文章风格需风趣幽默、通俗易懂。
Aufrufen der /project:posts:new 介绍 GPT-5
(math.) Gattung介绍 GPT-5
Dieser Teil wird dann ersetzt $ARGUMENTS
Treiber Claude
Führen Sie den definierten Aufgabenablauf aus.
Benutzerdefinierte Unteragenten
Sub-Agents
sind dedizierte Unteragenten, jeder mit separaten Systemaufforderungen, Kontextfenstern und Werkzeugberechtigungen für domänenspezifische Aufgaben. Auf diese Weise können komplexe Aufgaben zerlegt werden, so dass sich der Hauptdialog auf übergeordnete Ziele konzentrieren kann, während spezifische Ausführungsdetails an fachkundige Unteragenten delegiert werden.
Sub-Agents
Die Konfigurationsdatei ist ebenfalls im Markdown-Format und wird im Verzeichnis .claude/agents/
(Projektebene) oder ~/.claude/agents/
(Benutzerebene) Verzeichnis. Benutzer können auf das Verzeichnis über die /agents
Befehlsgesteuerte Erstellung von Unteragenten, Definition ihrer Namen, Beschreibungen, verfügbaren Werkzeuge und Modelle.
Das generierte Subagentenprofil (.claude/agents/product-prd-expert.md
) Beispiel:
---
name: product-prd-expert
description: 当需要根据用户规格创建专业的产品需求文档 (PRD) 时使用此代理。
tools: Grep, LS, Edit, Write
model: sonnet
color: red
---
You are a senior product manager with 10+ years of experience...
Wenn sich die Bedürfnisse des Nutzers von denen der description
Wenn die Felder übereinstimmen, wird dieClaude Code
wird dieser Subagent automatisch aufgerufen. Der Benutzer kann den Subagenten auch über die Funktion 使用 product-prd-expert 来生成产品需求
eine solche Richtlinie, um sie explizit aufzurufen.
Grundbefehl
Claude Code
Es gibt eine Reihe von Befehlen, die die tägliche Arbeit erleichtern:
Befehl | Funktionalität | typisches Beispiel |
---|---|---|
claude |
Aktivieren Sie den interaktiven Modus | claude |
claude "query" |
Durchführung einmaliger Aufgaben | claude "fix the build error" |
claude -p "query" |
Beenden nach der Ausführung einer einmaligen Abfrage | claude -p "explain this function" |
claude -c |
Fortsetzung des jüngsten Dialogs | claude -c |
claude -r |
Wiederaufnahme des bisherigen Dialogs | claude -r |
claude commit |
Erstellen eines Git Commits | claude commit |
/clear |
Löschen des Dialogverlaufs | > /clear |
/help |
Verfügbare Befehle anzeigen | > /help |
exit oder Strg+C |
Rückzug aus dem Claude Code | > exit |
Benutzerdefinierte Haken
Hooks sind benutzerdefinierte Shell-Befehle, die in der Claude Code
Ausführung zu bestimmten Ereignissen im Lebenszyklus, wodurch ein Mittel zur Claude
Die Art und Weise, in der das Verhalten deterministisch gesteuert wird.
- Anwendungsszenario:
- Benachrichtigungen: In
Claude
Benachrichtigt Benutzer über Systembenachrichtigungen, wenn sie auf eine Eingabe warten oder eine Berechtigung anfordern. - neu formatierenLäuft automatisch nach jeder Dateibearbeitung
Prettier
vielleichtgofmt
. - Protokollierung und Auditierung:: Zeichnen Sie alle ausgeführten Befehle für die Konformitätsprüfung auf.
- Benachrichtigungen: In
passieren (eine Rechnung oder Inspektion etc.) /hooks
Befehl kann für verschiedene Ereignisse verwendet werden (z.B. PreToolUse
undPostToolUse
undNotification
) Registrierungshaken. Registrieren Sie zum Beispiel einen Haken für die Notification
Ereignis erzeugt eine macOS
Pop-up-Benachrichtigung:
- in Bewegung sein
/hooks
und wählen SieNotification
Veranstaltungen. - Geben Sie den Shell-Befehl ein.
msg=$(jq -r '.message'); osascript -e "display alert \"Claude Code 通知\" message \"$msg\""
. Dies ist der richtige Ort für die Verwendung desjq
Werkzeuge vonClaude
übermitteltJSON
Extraktion aus der Standardeingabemessage
Felder. - Wählen Sie den Anwendungsbereich des Hooks (z.B.
local
), wird die Konfiguration in der Datei.claude/settings.local.json
Mitte. - wieder öffnen
Claude Code
Machen Sie den Haken wirksam.
Haken MCP-Werkzeug
Claude Code
Hooks arbeiten nahtlos mit dem Model Context Protocol (MCP) zusammen, das sich an der mcp__<server>__<tool>
Das Benennungsmuster des Hooks kann im Hook durch die matcher
Feld übereinstimmen.
Beispiel für eine Konfiguration:
{
"hooks": {
"PreToolUse": [
{
"matcher": "mcp__memory__.*",
"hooks": [
{
"type": "command",
"command": "echo 'Memory operation initiated' >> ~/mcp-operations.log"
}
]
},
{
"matcher": "mcp__.*__write.*",
"hooks": [
{
"type": "command",
"command": "/home/user/scripts/validate-mcp-write.py"
}
]
}
]
}
}
Verwendung des MCP-Tools
Über das Modellkontextprotokoll (Modell-Kontext-Protokoll, MCP).Claude Code
Kann mit externen Tools und Datenquellen verbunden werden, z. B. Airtable
undNotion
undGitHub
usw.
Hinzufügen eines lokalen stdio-Servers
# 基本语法
claude mcp add <name> <command> [args...]
# 实际示例:添加 Airtable 服务器
claude mcp add airtable --env AIRTABLE_API_KEY=YOUR_KEY \
-- npx -y airtable-mcp-server
--
(Bindestrich Claude
eigene Flags und Befehle, die an den MCP-Server übergeben werden.
Hinzufügen eines entfernten SSE-Servers
# 基本语法
claude mcp add --transport sse <name> <url>
# 实际示例:连接到 Linear
claude mcp add --transport sse linear https://mcp.linear.app/sse
Hinzufügen eines entfernten HTTP-Servers
# 基本语法
claude mcp add --transport http <name> <url>
# 实际示例:连接到 Notion
claude mcp add --transport http notion https://mcp.notion.com/mcp
Verwaltung von MCP-Diensten
# 列出所有配置的服务器
claude mcp list
# 获取特定服务器的详细信息
claude mcp get github
# 删除服务器
claude mcp remove github
Installationsbereich
ausnutzen --scope
kann angegeben werden, wo die Konfiguration gespeichert wird:local
(Standard, nur aktuelles Projekt),project
(durch .mcp.json
mit dem Team geteilt),user
(für alle Projekte verfügbar).
Claude Code SDK-Integration
Bei nicht-interaktiven Szenarien wird dieClaude Code
Angebote TypeScript
im Gesang antworten Python
Das SDK ist im Wesentlichen ein Wrapper um die Befehlszeilenfunktionalität, der es Entwicklern ermöglicht, die Claude Code
Die Fähigkeit des
unter Python
Grundlegende Anwendungsbeispiele für das SDK:
import asyncio
from claude_code_sdk import (
AssistantMessage,
ClaudeCodeOptions,
ClaudeSDKClient,
UserMessage,
)
async def interact_with_claude():
# 配置客户端选项
options = ClaudeCodeOptions(
model="claude-3-5-sonnet-20241022",
system_prompt="你是一个专业的软件开发助手",
allowed_tools=["Bash", "Read", "Edit"],
permission_mode="acceptEdits" # 自动接受文件编辑权限
)
# 创建客户端实例
async with ClaudeSDKClient(options=options) as client:
# 发送消息
await client.query("帮我检查项目中的潜在 bug")
# 接收和处理响应
async for message in client.receive_messages():
if isinstance(message, AssistantMessage):
print(f"Claude: {message.content}")
if __name__ == "__main__":
asyncio.run(interact_with_claude())
Beratung
- Claude Code Offizielle Dokumentation - https://docs.anthropic.com/en/docs/claude-code/
- Siddharth Bharaths vollständiger Leitfaden für Claude Code - https://www.siddharthbharath.com/claude-code-the-complete-guide/
- Fuszti's Claude Code Setup Anleitung - https://fuszti.com/claude-code-setup-guide-2025/
- Claude Code Gemeinsame Arbeitsabläufe - https://docs.anthropic.com/en/docs/claude-code/common-workflows
- Claude Code SDK Dokumentation - https://docs.anthropic.com/en/docs/claude-code/sdk
- Einrichtung einer Unternehmensagentur - https://docs.anthropic.com/en/docs/claude-code/corporate-proxy