Claude Desktop 與 MCP 完整使用指南
適用版本: Claude Desktop 最新版本 作者: AI 開發實踐指南
🚀 前言
Claude Desktop 配合 MCP (Model Context Protocol) 為 AI 輔助開發帶來革命性的體驗。本指南將深入介紹如何充分利用 Claude Desktop 的強大功能,包括 CLI 工具、MCP 服務整合、以及各種高效的使用技巧。
📋 目錄
[TOC]
1. Claude Desktop 基礎設置
1.1 安裝 Claude Desktop
warning 重要提醒 Claude Desktop 目前僅支援 macOS 和 Windows,尚不支援 Linux。
-
下載安裝程式
- 訪問 Claude 官方網站
- 選擇適合您作業系統的版本下載
- 按照安裝指示完成安裝
-
檢查更新
# 在 Claude 選單中選擇「檢查更新...」 # 或使用快捷鍵檢查版本
1.2 基本配置
建立基本的工作環境:
# 建立 Claude 設定目錄
mkdir -p ~/.claude/commands
mkdir -p ~/.claude/config
2. Claude Code 作為 CLI 工具
2.1 命令列參數
Claude Code 提供強大的 CLI 功能,支援多種操作模式:
# 基本啟動
claude
# 無頭模式運行
claude -p
# 傳遞參數啟動
claude --project /path/to/project
# 管道操作
echo "分析這個程式碼" | claude
# 同時運行多個實例
claude &
claude --instance=2 &
2.2 核心功能特性
- ✅ 多實例支援:可同時運行多個 Claude 實例
- ✅ 管道整合:與其他命令列工具無縫鏈接
- ✅ 子代理啟動:Claude 可以啟動自己的實例處理子任務
- ✅ headless 模式:適合自動化腳本使用
3. 圖像處理功能
3.1 圖像輸入方式
拖曳圖片(macOS)
# 直接將圖片檔案拖曳到終端機視窗中
# 支援格式:PNG, JPG, GIF, WebP
截圖與貼上
# 1. 使用 macOS 截圖快捷鍵
Shift + Command + Control + 4 # 複製螢幕截圖到剪貼板
# 2. 在 Claude Code 中貼上
Control + V # 注意:是 Control + V,不是 Command + V
3.2 實際應用場景
設計 Mockup 開發
1. 設計師提供 UI mockup
2. 將 mockup 截圖貼入 Claude
3. 要求 Claude 根據設計構建前端介面
4. 實現閉環開發流程
自動化視覺測試
# 使用 Puppeteer MCP server 自動截圖
/mcp puppeteer screenshot --url="http://localhost:3000"
# Claude 會自動分析截圖並提供改進建議
4. MCP 服務深度整合
4.1 什麼是 MCP?
4.2 MCP 設定檔配置
在
~/.claude/config.json中添加 MCP 服務器:{ "mcpServers": { "filesystem": { "command": "npx", "args": ["@modelcontextprotocol/server-filesystem", "/path/to/allowed/files"] }, "postgres": { "command": "npx", "args": ["@modelcontextprotocol/server-postgres", "postgresql://user:pass@localhost/db"] }, "github": { "command": "npx", "args": ["@modelcontextprotocol/server-github"], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "your_token_here" } } } }4.3 常用 MCP 命令
檔案系統操作
/mcp filesystem list /path/to/directory /mcp filesystem read /path/to/file.txt /mcp filesystem write /path/to/new-file.txt "content" /mcp filesystem search "search_term" /path/to/search資料庫操作
/mcp postgres query "SELECT * FROM users LIMIT 10" /mcp postgres schema users /mcp postgres explain "SELECT * FROM complex_query"GitHub 整合
/mcp github repos list /mcp github issues list --repo owner/repo /mcp github pr create --title "Feature" --body "Description" /mcp github review --pr 123 --comment "LGTM"4.4 熱門 MCP 伺服器
伺服器類型 功能描述 安裝命令 Filesystem 檔案系統操作 npm install @modelcontextprotocol/server-filesystemPostgreSQL 資料庫查詢與管理 npm install @modelcontextprotocol/server-postgresGitHub Git 操作與程式碼審查 npm install @modelcontextprotocol/server-githubPuppeteer 網頁自動化與截圖 npm install @modelcontextprotocol/server-puppeteerSlack 團隊通訊整合 npm install @modelcontextprotocol/server-slackBrave Search 網路搜尋功能 npm install @modelcontextprotocol/server-brave-search5. claude.md 專案配置
5.1 claude.md 文件概述
claude.md是 Claude Desktop 的核心配置文件,每次向 Claude 發出請求時都會載入。它充當專案的上下文提示,包含專案特定的指引和設定。5.2 claude.md 內容結構
基本專案資訊
# 專案名稱:我的 Web 應用程式 ## 技術棧 - Frontend: React + TypeScript - Backend: Node.js + Express - Database: PostgreSQL - Styling: Tailwind CSS ## 常用指令 bash npm run dev # 啟動開發伺服器 npm run build # 建構生產版本 npm test # 執行測試 npm run lint # 程式碼檢查 ## 程式碼風格 - 使用 TypeScript 嚴格模式 - 遵循 ESLint 規則 - 使用 Prettier 格式化 - 採用函數式組件和 Hooks ## 測試指引 - 所有新功能都需要測試覆蓋 - 使用 Jest + React Testing Library - 最小測試覆蓋率:80% ## Git 工作流程 - 使用 feature 分支開發 - PR 需要通過 CI/CD 檢查 - 需要 code review 才能合併5.3 claude.md 管理命令
初始化專案配置
/init # 掃描目錄並自動生成 claude.md添加專案指引
# 在程式碼中添加指令到 claude.md # 範例:在檔案中加入註解 # claude.md: 此模組負責用戶認證,請確保遵循安全最佳實踐5.4 多層級 claude.md 配置
全域設定(~/.claude/claude.md)
# 全域 Claude 設定 ## 個人偏好 - 偏好使用 TypeScript - 喜歡函數式程式設計風格 - 重視程式碼可讀性和維護性 ## 常用工具 - Git 工作流程偏好 - 編輯器:VS Code - 終端:iTerm2 + zsh專案特定設定(./claude.md)
# 當前專案設定 ## 專案特殊需求 - 特定的 API 規格 - 專案特有的架構模式 - 團隊協作規範子目錄設定(./src/components/claude.md)
# 元件開發指引 ## React 元件規範 - 使用 TypeScript 介面定義 props - 實作 error boundary - 加入適當的 accessibility 屬性6. 斜線命令系統
6.1 內建斜線命令
Claude Desktop 提供豐富的內建命令,方便使用者在互動式會話中控制 Claude 的行為:
命令 功能描述 使用範例與說明 /help顯示所有可用命令 /help- 列出所有斜線命令及其簡要說明。/init初始化專案設定 /init- 掃描目前目錄結構,並產生一個基礎的claude.md檔案,作為專案的初始指引。/clear清除對話歷史 /clear- 清除目前的對話記錄,重新開始一個乾淨的會話。/compact [instructions]壓縮上下文 /compact- 壓縮目前的對話歷史以節省 token。可選參數[instructions]用於指導壓縮過程,例如/compact "保留最近的程式碼變更"。/config檢視/修改設定 /config- 進入設定模式,可以檢視或修改 Claude Code 的設定,例如主題、API 金鑰等。/cost顯示 token 使用統計 /cost- 顯示目前會話或專案的 token 使用量統計,幫助使用者追蹤成本。/doctor檢查 Claude Code 安裝狀態 /doctor- 執行一系列檢查,確認 Claude Code 的安裝是否完整且運作正常。/login切換 Anthropic 帳戶 /login- 允許使用者登入或切換不同的 Anthropic 帳戶。/logout登出 Anthropic 帳戶 /logout- 登出目前使用的 Anthropic 帳戶。/memory編輯 claude.md 記憶檔案 /memory- 開啟claude.md檔案進行編輯,方便快速修改專案指引。/pr_comments檢視 Pull Request 評論 /pr_comments- (需整合 GitHub MCP) 檢視指定 Pull Request 的評論。/review請求程式碼審查 /review- (需整合 GitHub MCP) 請求 Claude 對指定的程式碼檔案或 Pull Request 進行審查。/status檢視帳戶與系統狀態 /status- 顯示目前帳戶資訊、系統狀態以及 MCP 伺服器連線狀態。/terminal-setup設定終端機換行快速鍵 /terminal-setup- 自動為 iTerm2 和 VSCode 終端機設定 Shift+Enter 作為換行鍵。/vim進入 Vim 模式 /vim- 切換到 Vim 輸入模式,可以使用 Vim 的部分快捷鍵進行編輯。/bug回報錯誤 /bug- 將目前的對話內容(包含錯誤訊息)傳送給 Anthropic 團隊以協助改善產品。/mcpMCP 服務操作 /mcp <server_name> <command> [args]- 與已設定的 MCP 伺服器互動,例如/mcp filesystem list .。/commitGit 提交操作 /commit "feat: add new login feature"- (需整合 Git) 執行 Git 提交。也支援--generate-message自動產生提交訊息。/test執行測試 /test --file src/utils.test.js- (需專案配置) 執行專案中定義的測試。/lint程式碼檢查 /lint src/components/- (需專案配置) 對指定路徑的程式碼執行 Linting。/refactor程式碼重構 /refactor --strategy=performance src/heavy_logic.js- (需專案配置) 請求 Claude 協助重構程式碼。特殊快捷鍵:
#快速記憶: 在輸入的開頭使用#可以快速將該行內容儲存到記憶檔案 (claude.md或其他指定檔案) 中。系統會提示選擇要儲存的記憶檔案。# 這是一個重要的專案筆記,需要記住終端機換行:
- Option + Enter (macOS Terminal.app, iTerm2, VSCode): 預設的換行方式。
- Shift + Enter (iTerm2, VSCode): 透過
/terminal-setup命令設定後,可使用此更直觀的快捷鍵。6.2 自訂斜線命令
在
~/.claude/commands/目錄中建立自訂命令:GitHub Issue 處理命令
<!-- ~/.claude/commands/github-issue.md --> # GitHub Issue 處理 分析並修復以下 GitHub issue: Issue #{{1}} 請: 1. 理解問題描述 2. 分析相關程式碼 3. 提供修復方案 4. 撰寫測試案例 5. 準備 PR 說明程式碼審查命令
<!-- ~/.claude/commands/code-review.md --> # 程式碼審查 請對以下程式碼進行全面審查: 檔案:{{1}} 審查重點: - 程式碼品質 - 效能考量 - 安全性問題 - 最佳實踐遵循 - 測試覆蓋率 請提供具體的改進建議。6.3 命令使用範例
# 使用自訂命令處理 GitHub issue /github-issue 123 # 程式碼審查 /code-review src/components/UserProfile.tsx # 重構優化 /refactor src/utils/dataProcessor.js7. 使用者介面技巧
7.1 鍵盤快捷鍵
快捷鍵 功能 說明 Tab自動補全 檔案路徑和命令補全 Escape中斷操作 立即停止 Claude 的當前任務 Ctrl+C複製 複製選取內容 Ctrl+V貼上圖片 貼上剪貼板中的圖片 Cmd+K快速命令 開啟命令選單 Cmd+,設定 開啟設定介面 7.2 智慧提示技巧
使用 Tab 補全提升精準度
# 不精確的指令 "分析這個檔案" # 使用 Tab 補全的精確指令 "分析 src/components/UserProfile.tsx 檔案的效能問題"善用 Escape 鍵控制對話方向
# 當 Claude 偏離預期時 按 Escape → "請撤銷上一步,改為專注於錯誤處理部分"8. 版本控制整合
8.1 Git 工作流程最佳實踐
頻繁提交策略
# 完成功能後立即提交 git add . git commit -m "feat: 新增用戶登入功能" # 讓 Claude 撰寫提交訊息 /commit --generate-message智慧提交訊息
# Claude 會分析變更內容並生成語意化提交訊息 /commit --analyze-changes # 輸出範例: # "feat(auth): implement JWT-based authentication with refresh tokens # # - Add JWT token generation and validation # - Implement refresh token rotation # - Add middleware for protected routes # - Include comprehensive error handling"8.2 回溯與重新開始策略
戰略性回溯
# 檢查最近的提交 git log --oneline -10 # 回溯到穩定狀態 git reset --hard HEAD~3 # 清除 Claude 對話歷史並重新開始 /clear "從最後一個穩定的提交重新開始,請實現 XYZ 功能"9. GitHub 深度整合
9.1 GitHub CLI 設定
安裝與認證
# 安裝 GitHub CLI brew install gh # 認證 gh auth login # 設定預設編輯器 gh config set editor code9.2 GitHub MCP 伺服器功能
專案管理
/mcp github repos create my-new-project --private /mcp github repos clone owner/repo /mcp github repos fork owner/repoIssue 管理
/mcp github issues create --title "Bug 修復" --body "詳細描述..." /mcp github issues list --state open --assignee @me /mcp github issues close 123 --comment "已修復"Pull Request 工作流程
# 建立 PR /mcp github pr create --title "新功能:用戶認證" \ --body "詳細 PR 描述" \ --draft # 程式碼審查 /mcp github pr review 456 --approve --comment "LGTM!" # 合併 PR /mcp github pr merge 456 --squash9.3 自動化 GitHub 工作流程
CI/CD 整合
# .github/workflows/claude-review.yml name: Claude Code Review on: pull_request: types: [opened, synchronize] jobs: claude-review: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Claude Code Review run: | claude /code-review ${{ github.event.pull_request.head.sha }}10. 上下文管理與成本優化
10.1 Token 使用監控
即時監控
# 檢查當前 token 使用量 /tokens status # 詳細使用統計 /tokens usage --detailed # 設定使用限制警告 /tokens limit --warning-at 80% --stop-at 95%10.2 上下文壓縮策略
智慧壓縮時機
# 任務完成後壓縮 "任務完成,請壓縮上下文準備下一個任務" /compress --preserve-key-context # 自動壓縮設定 /settings auto-compress --at 90% --preserve recent-commits外部記憶替代方案
# 使用 GitHub Issues 作為外部記憶 /mcp github issues create --title "專案計畫" \ --body "$(echo '目前進度和下一步計畫')" # 使用 Scratchpads /scratchpad create project-plan /scratchpad save current-status "目前實作狀態:..."10.3 Open Telemetry 整合
設定追蹤
{ "telemetry": { "endpoint": "https://api.datadoghq.com/v1/traces", "service": "claude-development", "environment": "production", "tags": { "team": "frontend", "project": "user-dashboard" } } }成本分析
# 團隊使用量報告 /telemetry report --team frontend --period month # 專案成本分析 /telemetry costs --project user-dashboard --breakdown11. 進階使用技巧
11.1 多專案管理
專案切換
# 切換專案上下文 claude --project ~/projects/web-app claude --project ~/projects/mobile-app # 同時管理多專案 claude --instance web & claude --instance mobile &11.2 團隊協作最佳實踐
共享設定
# 建立團隊 claude.md 模板 mkdir -p team-templates/ cp claude.md team-templates/frontend-template.md # 同步團隊設定 git clone team-claude-configs ln -s team-claude-configs/frontend.md ./claude.md11.3 自動化腳本整合
部署腳本
#!/bin/bash # deploy.sh echo "開始部署流程..." | claude --context deployment # 執行測試 npm test # 建構應用程式 npm run build # 部署到 staging echo "部署到 staging 環境" | claude --log-deployment # Claude 輔助驗證 claude "請驗證 staging 環境的部署狀態"12. 疑難排解
12.1 常見問題
MCP 連接問題
# 檢查 MCP 服務狀態 /mcp status # 重啟 MCP 服務 /mcp restart filesystem # 檢查配置 /mcp config validate效能優化
# 清理快取 /cache clear # 重置設定 /settings reset --keep-auth # 檢查記憶體使用 /system status12.2 偵錯模式
啟用詳細日志
claude --debug --log-level verbose # 查看日志 tail -f ~/.claude/logs/debug.log13. 方案升級建議
13.1 Claude Max 方案優勢
success 建議升級到 Claude Max 方案的理由:
- 🚀 更高的 token 限制:適合大型專案開發
- ⚡ 優先處理速度:減少等待時間
- 🔧 進階功能存取:包含最新的 MCP 功能
- 📊 詳細使用分析:更好的成本控制
- 👥 團隊協作工具:多人開發支援
13.2 成本效益分析
| 方案 | 月費 | 適用場景 | 建議用戶 |
|---|---|---|---|
| 免費版 | $0 | 個人學習、小專案 | 初學者 |
| Pro | $20 | 專業開發、中型專案 | 獨立開發者 |
| Max | $100+ | 大型專案、團隊開發 | 企業用戶 |
14. 實戰範例
14.1 完整專案開發流程
1. 專案初始化
mkdir my-react-app && cd my-react-app
claude
/init
2. 設定 MCP 服務
/mcp filesystem enable .
/mcp github connect --repo my-username/my-react-app
3. 開發循環
# 開發新功能
"請建立一個用戶登入元件"
# 測試
/test components/Login.test.tsx
# 程式碼審查
/code-review src/components/Login.tsx
# 提交
/commit --generate-message
4. 部署準備
/lint --fix
/test --coverage
/mcp github pr create --title "Add user authentication"
15. 總結
Claude Desktop 配合 MCP 提供了前所未有的 AI 輔助開發體驗。透過:
- 🔄 完整的 CLI 整合:seamless 命令列操作
- 🔌 豐富的 MCP 生態系統:連接各種開發工具
- 📝 智慧的專案配置:claude.md 與斜線命令
- 🎯 精準的上下文管理:有效控制成本
- 🚀 自動化工作流程:提升開發效率
掌握這些技巧,您將能充分發揮 AI 輔助開發的威力,大幅提升程式設計效率和程式碼品質。
最後更新: 2025年5月29日 版本: v2.0
16. Claude Code 進階設定配置
16.1 settings.json 完整配置
Claude Code 使用層次化的
settings.json文件進行配置,支援全域和專案級別的設定。配置檔案位置優先順序:
./claude/settings.json(專案層級)~/.claude/settings.json(用戶層級)- 系統預設值
完整 settings.json 範例:
{ "apiKeyHelper": "/bin/generate_temp_api_key.sh", "cleanupPeriodDays": 20, "env": { "NODE_ENV": "development", "DEBUG": "true", "API_BASE_URL": "https://api.example.com" }, "includeCoAuthoredBy": false, "mcpServers": { "filesystem": { "command": "npx", "args": ["@modelcontextprotocol/server-filesystem", "/Users/oliver/projects"] }, "postgres": { "command": "npx", "args": ["@modelcontextprotocol/server-postgres", "postgresql://user:pass@localhost/mydb"] }, "github": { "command": "npx", "args": ["@modelcontextprotocol/server-github"], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxxxxxxxxx" } }, "brave-search": { "command": "npx", "args": ["@modelcontextprotocol/server-brave-search"], "env": { "BRAVE_API_KEY": "BSA_xxxxxxxxxxxx" } } }, "allowedTools": [ "Bash(npm run test:*)", "Edit(src/**)", "Read(docs/**)", "WebFetch(domain:docs.anthropic.com)", "mcp__github__*" ] }16.2 設定管理命令
基本設定操作:
# 查看當前配置 claude config # 設定專案配置 claude config set cleanupPeriodDays 30 # 設定全域配置 claude config set -g theme dark # 檢視特定設定值 claude config get apiKeyHelper # 移除設定 claude config unset includeCoAuthoredBy全域配置選項:
# 主題設定 claude config set -g theme dark-daltonized # 自動更新設定 claude config set -g autoUpdaterStatus disabled # 通知設定 claude config set -g preferredNotifChannel iterm2_with_bell # 詳細輸出模式 claude config set -g verbose true16.3 工具權限管理
使用
/allowed-tools管理權限:# 檢視目前權限設定 /allowed-tools # 添加權限規則到 settings.json # 然後重新載入設定常用權限規則範例:
Bash 命令權限:
{ "allowedTools": [ "Bash(npm run build)", // 精確匹配 "Bash(npm run test:*)", // 前綴匹配 "Bash(git add .)", // Git 操作 "Bash(docker-compose up -d)", // Docker 命令 "Bash(yarn install)" // 套件管理 ] }檔案操作權限:
{ "allowedTools": [ "Read(src/**)", // 讀取 src 目錄所有檔案 "Edit(src/components/**)", // 編輯元件檔案 "Edit(~/.zshrc)", // 編輯家目錄檔案 "Read(//tmp/build_cache)", // 絕對路徑 "Edit(node_modules/**)", // 排除 node_modules "Read(docs/**/*.md)" // 特定檔案類型 ] }MCP 工具權限:
{ "allowedTools": [ "mcp__github__*", // 所有 GitHub MCP 工具 "mcp__postgres__query", // 特定資料庫查詢工具 "mcp__filesystem__read_file", // 檔案系統讀取 "mcp__puppeteer__puppeteer_navigate" // Puppeteer 導航工具 ] }網路存取權限:
{ "allowedTools": [ "WebFetch(domain:docs.anthropic.com)", // 特定網域 "WebFetch(domain:github.com)", // GitHub 存取 "WebFetch(domain:api.openai.com)" // API 存��� ] }16.4 環境變數完整配置
在 settings.json 中設定環境變數:
{ "env": { "ANTHROPIC_MODEL": "claude-3-5-sonnet-20241022", "ANTHROPIC_SMALL_FAST_MODEL": "claude-3-haiku-20240307", "BASH_DEFAULT_TIMEOUT_MS": "300000", "BASH_MAX_TIMEOUT_MS": "600000", "BASH_MAX_OUTPUT_LENGTH": "50000", "NODE_ENV": "development", "DEBUG": "app:*", "GITHUB_TOKEN": "ghp_xxxxxxxxxxxx", "DATABASE_URL": "postgresql://user:pass@localhost/db" } }進階環境變數設定:
# API 相關設定 export ANTHROPIC_AUTH_TOKEN="your_custom_token" export ANTHROPIC_CUSTOM_HEADERS="X-Custom-Header: value" # Proxy 設定 export HTTP_PROXY="http://proxy.company.com:8080" export HTTPS_PROXY="http://proxy.company.com:8080" # 除錯與監控 export CLAUDE_CODE_USE_BEDROCK=1 export CLAUDE_CODE_USE_VERTEX=1 export DISABLE_TELEMETRY=1 export DISABLE_AUTOUPDATER=1 # MCP 相關設定 export MCP_TIMEOUT=30000 export MCP_TOOL_TIMEOUT=1000016.5 API 金鑰管理
自訂 API 金鑰助手:
#!/bin/bash # ~/.claude/scripts/api_key_helper.sh # 從環境變數獲取 if [ -n "$CLAUDE_API_KEY" ]; then echo "$CLAUDE_API_KEY" exit 0 fi # 從 AWS Secrets Manager 獲取 aws secretsmanager get-secret-value \ --secret-id "claude-api-key" \ --query SecretString \ --output text # 從 1Password 獲取 op read "op://Private/Claude API Key/credential"設定 API 金鑰助手:
{ "apiKeyHelper": "~/.claude/scripts/api_key_helper.sh", "env": { "CLAUDE_CODE_API_KEY_HELPER_TTL_MS": "3600000" } }16.6 通知與終端設定
通知設定選項:
# iterm2 通知(推薦) claude config set -g preferredNotifChannel iterm2 # 帶聲音的 iterm2 通知 claude config set -g preferredNotifChannel iterm2_with_bell # 終端響鈴 claude config set -g preferredNotifChannel terminal_bell # 停用所有通知 claude config set -g preferredNotifChannel notifications_disabled終端優化設定:
# 在 Claude 中執行自動設定 /terminal-setup # 手動設定 Option+Enter 換行(Terminal.app) # 在終端偏好設定中: # 鍵盤 → 將 Option 鍵當作 Meta 鍵使用 # Vim 模式啟用 /vim # 或透過設定檔 claude config set -g vimMode true16.7 實際應用範例
開發團隊設定範例:
{ "cleanupPeriodDays": 7, "includeCoAuthoredBy": true, "env": { "NODE_ENV": "development", "ESLINT_CONFIG": "company-standard", "PRETTIER_CONFIG": ".prettierrc.company" }, "allowedTools": [ "Bash(npm run *)", "Bash(yarn *)", "Bash(git *)", "Edit(src/**)", "Edit(tests/**)", "Read(docs/**)", "WebFetch(domain:company-docs.internal)", "mcp__github__*", "mcp__slack__send_message" ], "mcpServers": { "company-db": { "command": "npx", "args": ["@company/mcp-database-server"], "env": { "DB_CONNECTION": "company_dev_db" } } } }個人開發者設定範例:
{ "cleanupPeriodDays": 30, "includeCoAuthoredBy": false, "apiKeyHelper": "~/.claude/get_api_key.sh", "env": { "ANTHROPIC_MODEL": "claude-3-5-sonnet-20241022", "BASH_DEFAULT_TIMEOUT_MS": "180000", "DEBUG": "myapp:*" }, "allowedTools": [ "Bash(*)", "Edit(**)", "Read(**)", "WebFetch(*)", "mcp__*" ], "mcpServers": { "filesystem": { "command": "npx", "args": ["@modelcontextprotocol/server-filesystem", "/Users/username/projects"] }, "github": { "command": "npx", "args": ["@modelcontextprotocol/server-github"], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_personal_token" } } } }16.8 配置疑難排解
常見配置問題:
# 檢查配置有效性 claude config validate # 重置配置到預設值 claude config reset # 檢視完整配置來源 claude config debug # 測試 MCP 連接 /mcp status --detailed # 檢查權限問題 /allowed-tools --validate配置備份與恢復:
# 備份設定 cp ~/.claude/settings.json ~/.claude/settings.json.backup # 恢復設定 cp ~/.claude/settings.json.backup ~/.claude/settings.json # 同步團隊設定 git clone https://github.com/company/claude-configs.git ln -sf claude-configs/team-settings.json ~/.claude/settings.json17. 設定最佳實踐與範例
17.1 不同專案類型的設定模板
React/Next.js 專案設定:
{ "cleanupPeriodDays": 14, "includeCoAuthoredBy": true, "env": { "NODE_ENV": "development", "NEXT_TELEMETRY_DISABLED": "1", "FAST_REFRESH": "true" }, "allowedTools": [ "Bash(npm run dev)", "Bash(npm run build)", "Bash(npm run test:*)", "Bash(npx next:*)", "Edit(src/**)", "Edit(components/**)", "Edit(pages/**)", "Edit(app/**)", "Read(docs/**)", "WebFetch(domain:nextjs.org)", "WebFetch(domain:react.dev)" ], "mcpServers": { "filesystem": { "command": "npx", "args": ["@modelcontextprotocol/server-filesystem", "./src"] } } }Python/Django 專案設定:
{ "cleanupPeriodDays": 21, "env": { "PYTHONPATH": ".", "DJANGO_SETTINGS_MODULE": "myproject.settings.development", "DEBUG": "True" }, "allowedTools": [ "Bash(python manage.py *)", "Bash(pip install *)", "Bash(pytest *)", "Edit(myapp/**)", "Edit(templates/**)", "Read(requirements.txt)", "mcp__postgres__*" ], "mcpServers": { "postgres": { "command": "npx", "args": ["@modelcontextprotocol/server-postgres", "postgresql://user:pass@localhost/mydb"] } } }17.2 安全性設定指南
生產環境安全設定:
{ "cleanupPeriodDays": 3, "includeCoAuthoredBy": true, "apiKeyHelper": "/usr/local/bin/get_claude_key_from_vault.sh", "env": { "NODE_ENV": "production", "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1" }, "allowedTools": [ "Read(src/**)", "Read(docs/**)", "Bash(npm run test)", "Bash(npm run lint)" ] }開發環境權限設定:
{ "allowedTools": [ "Bash(npm run *)", "Bash(git status)", "Bash(git add .)", "Bash(git commit *)", "Edit(src/**)", "Edit(tests/**)", "Read(**)", "WebFetch(domain:docs.*)", "mcp__github__issues_*", "mcp__github__pulls_*" ] }17.3 效能優化設定
高效能設定:
{ "cleanupPeriodDays": 7, "env": { "BASH_DEFAULT_TIMEOUT_MS": "120000", "BASH_MAX_TIMEOUT_MS": "300000", "BASH_MAX_OUTPUT_LENGTH": "25000", "MCP_TIMEOUT": "20000", "MCP_TOOL_TIMEOUT": "8000", "DISABLE_COST_WARNINGS": "1" } }17.4 團隊協作設定
共享團隊設定腳本:
#!/bin/bash # setup-team-claude.sh # 建立團隊設定目錄 mkdir -p ~/.claude/team-configs # 下載團隊設定 curl -o ~/.claude/team-configs/settings.json \ https://company.com/claude-configs/team-settings.json # 建立符號連結 ln -sf ~/.claude/team-configs/settings.json ~/.claude/settings.json # 設定團隊斜線命令 git clone https://github.com/company/claude-commands.git ~/.claude/commands echo "Team Claude configuration installed!"17.5 監控與日誌設定
詳細日誌設定:
{ "env": { "CLAUDE_CODE_LOG_LEVEL": "debug", "CLAUDE_CODE_LOG_FILE": "~/.claude/logs/claude.log", "BASH_LOG_COMMANDS": "1" } }監控腳本範例:
#!/bin/bash # monitor-claude-usage.sh # 檢查 Claude 使用狀況 claude config get cleanupPeriodDays # 統計對話數量 find ~/.claude/chats -name "*.json" | wc -l # 檢查磁盤使用量 du -sh ~/.claude/ # 清理舊對話 find ~/.claude/chats -mtime +30 -delete
info 設定檔管理建議
- 版本控制:將團隊設定檔加入 Git 管理
- 環境分離:開發、測試、生產環境使用不同設定
- 安全性:敏感資訊使用環境變數或外部金鑰管理
- 備份:定期備份個人化設定
- 文件化:為團隊設定撰寫清楚的說明文件