Claude Code 终端 AI 编程助手

了解 Anthropic 的智能编程工具 Claude Code,它运行在你的终端中,帮你比以往更快地将创意转化为代码。

核心功能

  • 自然语言编程:用简单描述构建功能、修复 Bug
  • 代码库理解:快速掌握复杂项目结构和架构
  • 自动化开发:执行日常任务、管理 Git、运行测试
  • 终端集成:在你熟悉的环境中工作,无需切换工具

快速开始

前提条件

  • Node.js 18+
  • Claude.ai 或 Anthropic Console 账户
# 安装
npm install -g @anthropic-ai/claude-code

# 进入项目目录
cd your-project

# 启动 Claude Code
claude
# 首次使用会提示登录

核心工作流

理解新代码库

> 这个项目是做什么的?
> 解释主要架构模式
> 找到用户认证相关文件

修复 Bug

> npm test 出现错误,请修复
> 用户提交空表单的问题,添加验证

代码重构

> 将回调改为 async/await
> 为工具函数添加单元测试

Git 操作

> 我修改了哪些文件?
> 用描述性信息提交更改
> 创建 feature/auth 分支

高级功能

子代理系统

创建专门的 AI 助手处理特定任务:

/agents  # 管理子代理
> 使用 code-reviewer 子代理检查我的更改

计划模式

安全分析代码库而不做修改:

claude --permission-mode plan
> 分析认证系统并建议改进方案

自定义命令

创建可重用斜杠命令:

# 创建项目命令
echo "分析性能问题并建议优化" > .claude/commands/optimize.md
# 使用命令
> /optimize

配置管理

设置文件层级

  • 企业策略:组织级标准和安全策略
  • 项目设置
  • 用户设置:个人偏好(~/.claude/settings.json

权限控制

{
  "permissions": {
    "allow": [
      "Bash(npm run lint)",
      "Bash(npm run test:*)",
      "Read(~/.zshrc)"
    ],
    "deny": [
      "Bash(curl:*)",
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)"
    ]
  },
  "env": {
    "CLAUDE_CODE_ENABLE_TELEMETRY": "1",
    "OTEL_METRICS_EXPORTER": "otlp"
  }
}

可用设置

settings.json 支持多个选项:

**键** **描述** **示例**
`apiKeyHelper` 自定义脚本,在 `/bin/sh` 中执行,生成认证值。此值将作为 `X-Api-Key` 和 `Authorization: Bearer` 标头发送给模型请求 `/bin/generate_temp_api_key.sh`
`cleanupPeriodDays` 基于最后活动日期本地保留聊天记录的时间(默认:30天) `20`
`env` 将应用于每个会话的环境变量 `{"FOO": "bar"}`
`includeCoAuthoredBy` 是否在 git 提交和拉取请求中包含 `co-authored-by Claude` 署名(默认:`true`) `false`
`permissions` 权限结构见下表。👇
`hooks` 配置在工具执行前后运行的自定义命令。参见[钩子文档](https://github.com/wang-junjian/wang-junjian.github.io/blob/main/_posts/hooks) `{"PreToolUse": {"Bash": "echo 'Running command...'"}}`
`disableAllHooks` 禁用所有[钩子](https://github.com/wang-junjian/wang-junjian.github.io/blob/main/_posts/hooks) `true`
`model` 覆盖 Claude Code 使用的默认模型 `"claude-3-5-sonnet-20241022"`
`statusLine` 配置自定义状态行以显示上下文。参见[statusLine 文档](https://github.com/wang-junjian/wang-junjian.github.io/blob/main/_posts/statusline) `{"type": "command", "command": "~/.claude/statusline.sh"}`
`outputStyle` 配置输出样式以调整系统提示。参见[输出样式文档](https://github.com/wang-junjian/wang-junjian.github.io/blob/main/_posts/output-styles) `"Explanatory"`
`forceLoginMethod` 使用 `claudeai` 限制登录到 Claude.ai 账户,`console` 限制登录到 Anthropic Console(API 使用计费)账户 `claudeai`
`forceLoginOrgUUID` 指定组织的 UUID 以在登录期间自动选择它,绕过组织选择步骤。需要设置 `forceLoginMethod` `"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"`
`enableAllProjectMcpServers` 自动批准项目 `.mcp.json` 文件中定义的所有 MCP 服务器 `true`
`enabledMcpjsonServers` 从 `.mcp.json` 文件中批准的特定 MCP 服务器列表 `["memory", "github"]`
`disabledMcpjsonServers` 从 `.mcp.json` 文件中拒绝的特定 MCP 服务器列表 `["filesystem"]`

权限设置

**键** **描述** **示例**
`allow` 允许工具使用的[权限规则](https://github.com/wang-junjian/wang-junjian.github.io/blob/main/zh-CN/docs/claude-code/iam#configuring-permissions)数组。**注意:** Bash 规则使用前缀匹配,不是正则表达式 `[ "Bash(git diff:*)" ]`
`ask` 在工具使用时要求确认的[权限规则](https://github.com/wang-junjian/wang-junjian.github.io/blob/main/zh-CN/docs/claude-code/iam#configuring-permissions)数组。 `[ "Bash(git push:*)" ]`
`deny` 拒绝工具使用的[权限规则](https://github.com/wang-junjian/wang-junjian.github.io/blob/main/zh-CN/docs/claude-code/iam#configuring-permissions)数组。使用此选项也可以排除敏感文件不被 Claude Code 访问。**注意:** Bash 模式是前缀匹配,可以被绕过(参见[Bash 权限限制](https://github.com/wang-junjian/wang-junjian.github.io/blob/main/zh-CN/docs/claude-code/iam#tool-specific-permission-rules)) `[ "WebFetch", "Bash(curl:*)", "Read(./.env)", "Read(./secrets/**)" ]`
`additionalDirectories` Claude 可以访问的额外[工作目录](https://github.com/wang-junjian/wang-junjian.github.io/blob/main/_posts/iam#working-directories)
`defaultMode` 打开 Claude Code 时的默认[权限模式](https://github.com/wang-junjian/wang-junjian.github.io/blob/main/_posts/iam#permission-modes) `"acceptEdits"`
`disableBypassPermissionsMode` 设置为 `"disable"` 以防止激活 `bypassPermissions` 模式。参见[托管策略设置](https://github.com/wang-junjian/wang-junjian.github.io/blob/main/_posts/iam#enterprise-managed-policy-settings) `"disable"`

配置系统的关键点

  • 内存文件(CLAUDE.md):包含 Claude 在启动时加载的指令和上下文
  • 设置文件(JSON):配置权限、环境变量和工具行为
  • 斜杠命令:可以在会话期间使用 /command-name 调用的自定义命令
  • MCP 服务器:使用额外的工具和集成扩展 Claude Code
  • 优先级:更高级别的配置(企业)覆盖较低级别的配置(用户/项目)
  • 继承:设置被合并,更具体的设置添加到或覆盖更广泛的设置

实用技巧

高效提问

  • 具体明确:“修复登录后白屏问题” 而非 “修复 Bug”
  • 分步说明:将复杂任务拆解为多个步骤
  • 提供上下文:包含错误信息、复现步骤

终端集成

  • # 开头:快速添加记忆到 CLAUDE.md
  • / 开头:使用斜杠命令
  • ! 开头:直接执行 Bash 命令
  • @文件路径:引用文件内容

会话管理

claude --continue    # 继续最近会话
claude --resume      # 选择恢复会话
/claer              # 清除对话历史

开发体验

实时协作

  • 直接编辑文件并征求确认
  • 运行命令验证更改
  • 自动处理合并冲突

上下文感知

  • 自动读取相关文件
  • 理解项目结构和依赖
  • 保持编码规范和风格

企业特性

  • 安全合规:数据本地处理,企业级隐私保护
  • 成本控制:详细的令牌使用统计
  • 团队协作:共享配置和自定义命令
  • 扩展集成:支持 MCP 协议连接外部工具

Claude Code 将 AI 编程助手直接集成到你的开发工作流中,通过自然语言交互提升编码效率,同时保持对代码的完全控制。