Claude Code 概述
了解 Claude Code,一個由 Anthropic 開發的智能編碼工具。目前處於測試版研究預覽階段。
請勿使用 sudo npm install -g
,因為這可能導致權限問題和安全風險。如果遇到權限錯誤,請參閱配置 Claude Code 以獲取建議的解決方案。
Claude Code 是一個智能編碼工具,它存在於您的終端機中,能夠理解您的程式碼庫,並通過自然語言命令幫助您更快地編寫程式碼。通過直接整合到您的開發環境中,Claude Code 簡化了您的工作流程,無需額外的伺服器或複雜的設置。
Claude Code 的主要功能包括:
- 編輯檔案並修復程式碼庫中的錯誤
- 回答關於程式碼架構和邏輯的問題
- 執行並修復測試、程式碼檢查和其他命令
- 搜尋 git 歷史記錄、解決合併衝突,以及創建提交和 PR
研究預覽版
Code 目前處於測試版研究預覽階段。我們正在收集開發者對 AI 協作偏好的反饋,了解哪些工作流程最能從 AI 協助中受益,以及如何改善代理程式體驗。
這個早期版本將根據用戶反饋不斷演進。我們計劃在未來幾週內增強工具執行的可靠性、支援長時間運行的命令、終端機渲染,以及 Claude 對其自身能力的認知。
請使用 /bug
命令或通過我們的 GitHub 儲存庫 直接報告錯誤。
開始之前
檢查系統要求
- 作業系統:macOS 10.15+、Ubuntu 20.04+/Debian 10+ 或通過 WSL 的 Windows
- 硬體:最低 4GB RAM
- 軟體:
- 網路:需要網際網路連接以進行身份驗證和 AI 處理
- 地區:僅在支援的國家可用
WSL 安裝疑難排解
目前,Claude Code 不能直接在 Windows 上運行,而需要 WSL。如果在 WSL 中遇到問題:
-
作業系統/平台檢測問題:如果在安裝過程中收到錯誤,WSL 可能正在使用 Windows
npm
。請嘗試:- 在安裝前運行
npm config set os linux
- 使用
npm install -g @anthropic-ai/claude-code --force --no-os-check
安裝(請勿使用sudo
)
- 在安裝前運行
-
找不到 Node 錯誤:如果在運行
claude
時看到exec: node: not found
,您的 WSL 環境可能正在使用 Windows 版本的 Node.js。您可以通過which npm
和which node
確認,這些命令應該指向以/usr/
開頭的 Linux 路徑,而不是/mnt/c/
。要修復此問題,請嘗試通過 Linux 發行版的套件管理器或通過nvm
安裝 Node。
安裝和認證
安裝 Claude Code
在終端機中運行:npm install -g @anthropic-ai/claude-code
請勿使用 sudo npm install -g
,因為這可能導致權限問題和安全風險。如果遇到權限錯誤,請參閱配置 Claude Code 以獲取建議的解決方案。
導航到您的專案
cd your-project-directory
啟動 Claude Code
claude
以啟動完成認證
使用您的 Console 帳戶完成一次性 OAuth 流程。您需要在 console.anthropic.com 上有有效的計費。
核心功能和工作流程
Claude Code 直接在您的終端機中運行,理解您的專案上下文並採取實際行動。無需手動將檔案添加到上下文中 - Claude 會根據需要探索您的程式碼庫。Claude Code 預設使用 claude-3-7-sonnet-20250219
。
安全性和隱私設計
您的程式碼安全至關重要。Claude Code 的架構確保:
- 直接 API 連接:您的查詢直接發送到 Anthropic 的 API,無需中間伺服器
- 在您工作的地方工作:直接在您的終端機中運行
- 理解上下文:保持對整個專案結構的認知
- 採取行動:執行實際操作,如編輯檔案和創建提交
從問題到解決方案只需幾秒鐘
初始化您的專案
對於首次使用者,我們建議:
- 使用
claude
啟動 Claude Code - 嘗試一個簡單的命令,如
summarize this project
- 使用
/init
生成 CLAUDE.md 專案指南 - 要求 Claude 將生成的 CLAUDE.md 檔案提交到您的儲存庫
使用 Claude Code 完成常見任務
Claude Code 直接在您的終端機中運行,理解您的專案上下文並採取實際行動。無需手動將檔案添加到上下文中 - Claude 會根據需要探索您的程式碼庫。
理解不熟悉的程式碼
自動化 Git 操作
智能編輯程式碼
測試和除錯您的程式碼
鼓勵深入思考
對於複雜的問題,明確要求 Claude 更深入地思考:
Claude Code 會顯示 Claude (3.7 Sonnet) 何時在使用延伸思考。您可以主動提示 Claude “思考”或”深入思考”以處理更需要規劃的任務。我們建議您先告訴 Claude 您的任務,讓它從您的專案中收集上下文。然後,要求它”思考”以制定計劃。
Claude 會根據您使用的詞語進行更多思考。例如,“深入思考”會比單純說”思考”觸發更多的延伸思考。
更多提示,請參見延伸思考提示。
自動化 CI 和基礎設施工作流程
Claude Code 提供非互動模式以供無頭執行。這在非互動環境下特別有用,如腳本、管道和 Github Actions。
使用 --print
(-p
) 以非互動模式運行 Claude。在此模式下,您可以設置 ANTHROPIC_API_KEY
環境變數以提供自定義 API 金鑰。
非互動模式在您預先配置 Claude 允許使用的命令集時特別有用:
使用命令控制 Claude Code
CLI 命令
命令 | 描述 | 示例 |
---|---|---|
claude | 啟動互動式 REPL | claude |
claude "query" | 使用初始提示啟動 REPL | claude "解釋這個專案" |
claude -p "query" | 運行一次性查詢,然後退出 | claude -p "解釋這個函數" |
cat file | claude -p "query" | 處理管道內容 | cat logs.txt | claude -p "解釋" |
claude config | 配置設置 | claude config set --global theme dark |
claude update | 更新到最新版本 | claude update |
claude mcp | 配置 Model Context Protocol 伺服器 | 參見教程中的 MCP 部分 |
CLI 標誌:
--print
:以非互動模式打印回應--verbose
:啟用詳細日誌記錄--dangerously-skip-permissions
:跳過權限提示(僅在沒有網際網路的 Docker 容器中)
斜線命令
在會話中控制 Claude 的行為:
命令 | 用途 |
---|---|
/bug | 報告錯誤(將對話發送給 Anthropic) |
/clear | 清除對話歷史 |
/compact | 壓縮對話以節省上下文空間 |
/config | 查看/修改配置 |
/cost | 顯示令牌使用統計 |
/doctor | 檢查您的 Claude Code 安裝的健康狀況 |
/help | 獲取使用幫助 |
/init | 使用 CLAUDE.md 指南初始化專案 |
/login | 切換 Anthropic 帳戶 |
/logout | 從您的 Anthropic 帳戶登出 |
/pr_comments | 查看拉取請求評論 |
/review | 請求程式碼審查 |
/terminal-setup | 安裝 Shift+Enter 鍵綁定以換行(僅限 iTerm2 和 VSCode) |
/vim | 進入 vim 模式以切換插入和命令模式 |
管理權限和安全性
Claude Code 使用分層權限系統來平衡功能和安全性:
工具類型 | 示例 | 需要批准 | ”是的,不要再詢問”行為 |
---|---|---|---|
只讀 | 檔案讀取、LS、Grep | 否 | 不適用 |
Bash 命令 | Shell 執行 | 是 | 對專案目錄和命令永久有效 |
檔案修改 | 編輯/寫入檔案 | 是 | 直到會話結束 |
Claude 可用的工具
Claude Code 可以使用一組強大的工具來幫助它理解和修改您的程式碼庫:
工具 | 描述 | 需要權限 |
---|---|---|
AgentTool | 運行子代理以處理複雜的多步驟任務 | 否 |
BashTool | 在您的環境中執行 shell 命令 | 是 |
GlobTool | 基於模式匹配查找檔案 | 否 |
GrepTool | 搜尋檔案內容中的模式 | 否 |
LSTool | 列出檔案和目錄 | 否 |
FileReadTool | 讀取檔案內容 | 否 |
FileEditTool | 對特定檔案進行有針對性的編輯 | 是 |
FileWriteTool | 創建或覆寫檔案 | 是 |
NotebookReadTool | 讀取和顯示 Jupyter 筆記本內容 | 否 |
NotebookEditTool | 修改 Jupyter 筆記本單元格 | 是 |
防止提示注入
提示注入是攻擊者試圖通過插入惡意文本來覆蓋或操縱 AI 助手指令的技術。Claude Code 包含多項防範這些攻擊的保護措施:
- 權限系統:敏感操作需要明確批准
- 上下文感知分析:通過分析完整請求來檢測潛在有害的指令
- 輸入淨化:通過處理用戶輸入防止命令注入
- 命令黑名單:阻止從網路獲取任意內容的危險命令,如
curl
和wget
處理不信任內容的最佳實踐:
- 在批准前審查建議的命令
- 避免直接將不信任的內容管道傳輸給 Claude
- 驗證對關鍵檔案的建議更改
- 使用
/bug
報告可疑行為
雖然這些保護措施顯著降低了風險,但沒有系統能完全免疫所有攻擊。在使用任何 AI 工具時, 始終保持良好的安全實踐。
配置網路訪問
Claude Code 需要訪問:
- api.anthropic.com
- statsig.anthropic.com
- sentry.io
在容器化環境中使用 Claude Code 時,將這些 URL 加入白名單。
配置 Claude Code
通過在終端機中運行 claude config
,或在使用互動式 REPL 時使用 /config
命令來配置 Claude Code。
配置選項
Claude Code 支援全局和專案級配置。
要管理您的配置,使用以下命令:
- 列出設置:
claude config list
- 查看設置:
claude config get <key>
- 更改設置:
claude config set <key> <value>
- 向設置添加(對於列表):
claude config add <key> <value>
- 從設置移除(對於列表):
claude config remove <key> <value>
預設情況下,config
更改您的專案配置。要管理您的全局配置,使用 --global
(或 -g
)標誌。
全局配置
要設置全局配置,使用 claude config set -g <key> <value>
:
鍵 | 值 | 描述 |
---|---|---|
autoUpdaterStatus | disabled 或 enabled | 啟用或禁用自動更新器(預設:enabled ) |
preferredNotifChannel | iterm2 、iterm2_with_bell 、terminal_bell 或 notifications_disabled | 您希望在哪裡接收通知(預設:iterm2 ) |
theme | dark 、light 、light-daltonized 或 dark-daltonized | 顏色主題 |
verbose | true 或 false | 是否顯示完整的 bash 和命令輸出(預設:false ) |
自動更新器權限選項
當 Claude Code 檢測到它沒有足夠的權限來寫入您的全局 npm 前綴目錄(自動更新所需)時,您會看到一個警告,指向此文檔頁面。有關自動更新器問題的詳細解決方案,請參見疑難排解指南。
推薦:創建新的用戶可寫 npm 前綴
為什麼我們推薦這個選項:
- 避免修改系統目錄權限
- 為您的全局 npm 套件創建一個乾淨、專用的位置
- 遵循安全最佳實踐
由於 Claude Code 正在積極開發中,我們建議使用上述推薦選項設置自動更新。
禁用自動更新器
如果您更願意禁用自動更新器而不是修復權限,您可以使用:
專案配置
使用 claude config set <key> <value>
(不帶 -g
標誌)管理專案配置:
鍵 | 值 | 描述 |
---|---|---|
allowedTools | 工具陣列 | 哪些工具可以在沒有手動批准的情況下運行 |
ignorePatterns | glob 字串陣列 | 使用工具時忽略哪些檔案/目錄 |
例如:
優化您的終端機設置
當您的終端機正確配置時,Claude Code 運行效果最佳。請遵循這些指南來優化您的體驗。
支援的 shell:
- Bash
- Zsh
- Fish
主題和外觀
Claude 無法控制您終端機的主題。這由您的終端機應用程式處理。您可以在入門過程中或通過 /config
命令隨時將 Claude Code 的主題與您的終端機匹配
換行
您有幾個選項可以在 Claude Code 中輸入換行:
- 快速轉義:輸入
\
後跟 Enter 以創建換行 - 鍵盤快捷鍵:在正確配置的情況下按 Option+Enter(Meta+Enter)
要在您的終端機中設置 Option+Enter:
對於 Mac Terminal.app:
- 打開設置 → 描述檔 → 鍵盤
- 勾選”使用 Option 作為 Meta 鍵”
對於 iTerm2 和 VSCode 終端機:
- 打開設置 → 描述檔 → 按鍵
- 在常規下,將左/右 Option 鍵設置為”Esc+”
iTerm2 和 VSCode 用戶提示:在 Claude Code 中運行 /terminal-setup
以自動配置 Shift+Enter 作為更直觀的替代方案。
通知設置
通過適當的通知配置,永不錯過 Claude 完成任務的時機:
終端機鈴聲通知
啟用任務完成時的聲音提醒:
對於 macOS 用戶:別忘了在系統設置 → 通知 → [您的終端機應用程式] 中啟用通知權限。
iTerm 2 系統通知
對於 iTerm 2 任務完成提醒:
- 打開 iTerm 2 偏好設置
- 導航到描述檔 → 終端機
- 啟用”靜音鈴聲”和”閒置時發送通知”
- 設置您偏好的通知延遲
請注意,這些通知是 iTerm 2 特有的,在預設的 macOS 終端機中不可用。
處理大量輸入
當處理大量程式碼或長指令時:
- 避免直接貼上:Claude Code 可能難以處理非常長的貼上內容
- 使用基於檔案的工作流程:將內容寫入檔案並要求 Claude 讀取
- 注意 VS Code 限制:VS Code 終端機特別容易截斷長貼上內容
通過配置這些設置,您將創建一個更流暢、更高效的 Claude Code 工作流程。
有效管理成本
Claude Code 為每次互動消耗令牌。典型使用成本每位開發者每天在 $5-10 之間,但在密集使用期間可能超過每小時 $100。
追蹤您的成本
- 使用
/cost
查看當前會話使用情況 - 查看退出時顯示的成本摘要
- 在 Anthropic Console 中檢查歷史使用情況
- 設置支出限制
減少令牌使用
- 壓縮對話: 當上下文變大時使用
/compact
- 寫具體查詢: 避免觸發不必要掃描的模糊請求
- 分解複雜任務: 將大型任務分解為重點互動
- 在任務之間清除歷史: 使用
/clear
重置上下文
成本可能因以下因素而顯著變化:
- 被分析的程式碼庫大小
- 查詢的複雜性
- 被搜尋或修改的檔案數量
- 對話歷史長度
- 壓縮對話的頻率
對於團隊部署,我們建議從小型試點組開始,以建立使用模式,然後再進行更廣泛的推廣。
使用第三方 API
Claude Code 需要同時訪問 Claude 3.7 Sonnet 和 Claude 3.5 Haiku 模型,無論您使用哪個 API 提供者。
連接到 Amazon Bedrock
如果您想覆蓋預設模型,可以傳入 ANTHROPIC_MODEL
環境變數(預設使用 Claude 3.7 Sonnet):
如果您想通過代理訪問 Claude Code,可以使用 ANTHROPIC_BEDROCK_BASE_URL
環境變數:
如果您沒有啟用提示快取,還要設置:
需要標準 AWS SDK 憑證(例如,~/.aws/credentials
或相關環境變數如 AWS_ACCESS_KEY_ID
、AWS_SECRET_ACCESS_KEY
)。要設置 AWS 憑證,運行:
聯繫 Amazon Bedrock 以獲取提示快取,以降低成本並提高速率限制。
用戶需要在其 AWS 帳戶中同時訪問 Claude 3.7 Sonnet 和 Claude 3.5 Haiku 模型。如果您有模型訪問角色, 如果這些模型尚未可用,您可能需要請求訪問權限。
連接到 Google Vertex AI
如果您想覆蓋預設模型,可以傳入 ANTHROPIC_MODEL
環境變數(預設使用 Claude 3.7 Sonnet):
如果您想通過代理訪問 Claude Code,可以使用 ANTHROPIC_VERTEX_BASE_URL
環境變數:
如果您沒有啟用提示快取,還要設置:
Vertex AI 上的 Claude Code 目前只支援 us-east5
區域。確保您的專案在這個特定區域有配額分配。
用戶需要在其 Vertex AI 專案中同時訪問 Claude 3.7 Sonnet 和 Claude 3.5 Haiku 模型。
需要通過 google-auth-library 配置的標準 GCP 憑證。要設置 GCP 憑證,運行:
為獲得最佳體驗,請聯繫 Google 以獲取更高的速率限制。
開發容器參考實現
Claude Code 為需要一致、安全環境的團隊提供開發容器配置。這個預配置的 devcontainer 設置 與 VS Code 的 Remote - Containers 擴展和類似工具無縫協作。
容器的增強安全措施(隔離和防火牆規則)允許您運行 claude --dangerously-skip-permissions
以繞過權限提示進行無人值守操作。我們已包含一個參考實現,您可以根據需要進行自定義。
雖然 devcontainer 提供了實質性的保護,但沒有系統能完全免疫所有攻擊。始終保持良好的安全實踐並監控 Claude 的活動。
主要功能
- 生產就緒的 Node.js:基於 Node.js 20,具有基本開發依賴
- 安全設計:自定義防火牆僅限制對必要服務的網路訪問
- 開發者友好工具:包括 git、具有生產力增強功能的 ZSH、fzf 等
- 無縫 VS Code 整合:預配置的擴展和優化設置
- 會話持久性:在容器重啟之間保留命令歷史和配置
- 到處都能工作:兼容 macOS、Windows 和 Linux 開發環境
4 步開始使用
- 安裝 VS Code 和 Remote - Containers 擴展
- 克隆 Claude Code 參考實現 儲存庫
- 在 VS Code 中打開儲存庫
- 當提示時,點擊”在容器中重新打開”(或使用命令面板:Cmd+Shift+P → “Remote-Containers: Reopen in Container”)
配置細分
devcontainer 設置由三個主要組件組成:
- devcontainer.json:控制容器設置、擴展和卷掛載
- Dockerfile:定義容器映像和已安裝工具
- init-firewall.sh:建立網路安全規則
安全功能
容器通過其防火牆配置實現多層安全方法:
- 精確訪問控制:僅限制對白名單域名的出站連接(npm 註冊表、GitHub、Anthropic API 等)
- 預設拒絕策略:阻止所有其他外部網路訪問
- 啟動驗證:在容器初始化時驗證防火牆規則
- 隔離:創建與您的主系統分離的安全開發環境
自定義選項
devcontainer 配置設計為可適應您的需求:
- 根據您的工作流程添加或移除 VS Code 擴展
- 為不同的硬體環境修改資源分配
- 調整網路訪問權限
- 自定義 shell 配置和開發者工具
下一步
許可和數據使用
Claude Code 作為測試版研究預覽版根據 Anthropic 的商業服務條款提供。
我們如何使用您的數據
我們致力於完全透明地說明我們如何使用您的數據。我們可能會使用反饋來改進我們的產品和服務,但我們不會使用您來自 Claude Code 的反饋來訓練生成模型。考慮到其潛在的敏感性,我們只將用戶反饋記錄保存 30 天。
反饋記錄
如果您選擇向我們發送關於 Claude Code 的反饋,例如您的使用記錄,Anthropic 可能會使用該反饋來調試相關問題並改進 Claude Code 的功能(例如,減少類似錯誤在未來發生的風險)。我們不會使用此反饋來訓練生成模型。
隱私保護措施
我們已實施多項保護措施來保護您的數據,包括敏感信息的有限保留期、對用戶會話數據的受限訪問,以及明確禁止使用反饋進行模型訓練的政策。
許可
© Anthropic PBC。保留所有權利。使用受 Anthropic 的商業服務條款約束。
Was this page helpful?