LY's Space

Claude-Code学习记录

字数统计: 2.2k阅读时长: 8 min
2025/07/28
loading

Claude Code 安装

根据官方教程,照着操作就好了: https://docs.anthropic.com/en/docs/claude-code/setup

接入 Kimi K2

国内访问 Claude 困难,因此有了Kimi K2 平替方法,下面是操作步骤:

首先到这里申请一个API, 然后设置环境变量:

1
2
export ANTHROPIC_BASE_URL="https://api.moonshot.cn/anthropic/"
export ANTHROPIC_API_KEY="你的APY KEY"

最后,由于 Claude code 设置了地域限制,需要绕过初始登录验证,操作如下。
打开 Claude code 的配置文件: vim ~/.claude.json,修改 hasCompletedOnboardingtrue, 如果没有 hasCompletedOnboarding 则添加。

使用 Claude Code

在命令行切换到 工作目录 ,输入 claude 命令,结合上面的教程,根据提示进行操作即可。

自定义设置

  1. 创建 CLAUDE.md 文件
    CLAUDE.md 是一个特殊文件,Claude 在发起对话时会自动将其拉入上下文中。可以在该文件内指定如下的内容:
    • 常用 bash 命令
    • 核心文件和实用函数
    • 代码风格指南
    • 测试说明
    • 仓库规则(如,分支命名,merge 和 rebase等)
    • 开发者环境设置(例如,pyenv 的使用、哪些编译器可以工作)
    • 项目特有的任何意外行为或警告
    • 希望 Claude 记住的其他信息
      CLAUDE.md 文件没有格式要求。建议保持其简洁易读。例如:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # Bash commands
    - npm run build: Build the project
    - npm run typecheck: Run the typechecker

    # Code style
    - Use ES modules (import/export) syntax, not CommonJS (require)
    - Destructure imports when possible (eg. import { foo } from 'bar')

    # Workflow
    - Be sure to typecheck when you're done making a series of code changes
    - Prefer running single tests, and not the whole test suite, for performance

可以将 CLAUDE.md 文件放在多个位置:

  • 仓库根目录 ,或者你运行 claude 的任何地方(最常见的用法)。将其命名为 CLAUDE.md 并将其提交到 git,以便你可以在不同会话之间以及与你的团队共享它(推荐);或者将其命名为 CLAUDE.local.md 并 .gitignore 忽略它。
  • 运行 claude 目录的任何父目录 。这对于 单一代码库 最有用,你可以在 root/foo 中运行 claude ,并在 root/CLAUDE.md 和 root/foo/CLAUDE.md 中都有 CLAUDE.md 文件。这两个目录都会自动被拉入上下文。
  • 运行 claude 的目录的任何子目录 。这与上面的操作相反,只会从子目录中的 CLAUDE.md 文件中提取上下文
  • 用户主文件夹 ( ~/.claude/CLAUDE.md ),这会将其应用于所有的 claude 会话
    运行 /init 命令时,Claude 会自动为你生成一个 CLAUDE.md 。
  1. 调整 CLAUDE.md 文件
    CLAUDE.md 文件将成为 Claude 提示的一部分,因此应该对其进行优化改进。一个常见的错误是添加大量内容,而没有对其有效性进行迭代。这里需要花时间进行实验,以便确定哪些提示词能够使得模型生成最佳的指令遵循。

可以手动将内容添加到 CLAUDE.md 中,也可以按 # 键向 Claude 发出指令,使其自动合并到相关的 CLAUDE.md 中。在 Anthropic,工程师们偶尔会通过修改提示词,来提高模型的指令依从性,比如使用”重要”或”必须”来强调。

  1. 整理 Claude 允许使用的工具列表
    在默认情况下, 当 Claude Code 进行任何有可能修改系统的操作时,将会请求用户给予权限。这是为了优先考虑安全性的保守做法。使用者可以自定义允许的列表,以允许认为安全的工具,或者允许可能不安全但易于撤销的工具,如文件编辑、git commit等。
    以下四种方法用于管理工具的许可:

    • 在会话期间出现提示时, 选择“始终允许” 。
    • 使用 /permissions : 启动 Claude Code 后,可以添加或移除允许列表中的工具。例如,可以添加 Edit 以始终允许文件编辑,添加 Bash(git commit:*) 以允许 git 提交,或添加“ mcp__puppeteer__puppeteer_navigate ”以允许使用 Puppeteer MCP 服务器进行导航。
    • 手动编辑 .claude/settings.json 或 ~/.claude.json
    • 使用 --allowedTools CLI flag 获取特定于会话的权限。
  2. 如果使用 GitHub , 请安装 gh CLI
    Claude 知道如何使用 gh CLI 与 GitHub 交互,例如创建问题、提交拉取请求、阅读评论等等。即使没有安装 gh ,Claude 仍然可以使用 GitHub API 或 MCP 服务器(如果您已安装)。

给 Claude 更多工具

  1. 让 Claude 使用 bash 工具
    Claude Code 会继承你的Bash环境,使其能够访问你所有的工具。虽然Claude可以识别 unix toolsgh 等常用工具,但如果没有指令,它就无法识别你自定义的 Bash 工具:
    • 告诉 Claude 工具的名称和使用示例
    • 告诉 Claude 运行 --help 来查看工具的使用文档
    • CLAUDE.md 中记录常用工具
  2. 让 Claude 使用 MCP
    Claude Code 即可以作为 MCP 服务器,也可以作为客户端,作为客户端,它可以连接任意数量的MCP服务器,并通过三种方式访问服务器工具。
  3. 自定义命令
    对于重复的工作流,可以通过设置提示模版,自定义工作流命令,从而通过 / 访问

尝试常见的工作流

  1. 探索、规划、编码、提交
    探索阶段: 告诉 Claude 读取文件,但是不进行任何编码
    规划阶段: 让 Claude 制定一个解决特殊问题的计划
    编码阶段: 要求 Claude 在代码中实现其解决方案
    提交阶段: git维护,readme维护,日志维护以及解释操作
    📢注意:前面两个步骤至关重要,如果没有这些步骤,Claude 会直接开始编写解决方案,但是如果有前面两个步骤,可以显著提高需要深入思考的问题的效率。
  2. 编写测试,提交;编码,迭代,提交
    a. 让 Claude 根据预期的输入 输出对编写测试,明确说明你正在进行测试驱动开发。
    b. 告诉 Claude 运行测试并确认它们是成功还是失败,明确告诉它在此阶段不要编写任何实现代码通常会有所帮助。
    c. 当对测试满意时,请 Claude 提交测试
    d. 要求 Claude 编写通过测试的代码,并提示它不要修改测试。
    e. 对更改满意后,要求 Claude 提交代码
  3. 编写代码,截图结果,迭代
  4. 使用 YOLO模式
    可以使用 claude --dangerously-skip-permissions 绕过所有权限检查,让 Claude 不间断地工作直至完成。但是这个模式有风险,为了降低风险,最好在没有互联网连接的容器中使用。
  5. 代码库问答
    在新加入代码库时,可以使用 Claude Code 进行学习和探索,常见问题如下:
    a. 日志记录如何工作
    b. 如何创建新的API端点
    c. 第xx行的作用是什么
    💡提示: 在 Anthropic , 以这种方式使用 Claude Code 已经成为核心入职工作流程,显著缩短了上手时间,并减轻了其他工程师的负担。
  6. 使用 Claude 与git交互
    Claude 可以高效地处理许多 git 操作,比如:
    a. 搜索 git 历史记录来回答诸如”哪些更改导致了 v1.2.3版本”
    b. 编写提交消息,Claude将自动查看更改和最近的历史记录,并根据所有相关上下文编写一条消息
    c. 处理复杂的git操作,例如恢复文件、解决rebase等
  7. 使用 Claude 与 GitHub交互
  8. 使用 Claude 来操作 Jupyter Notebook

优化工作流

  1. 指示要具体
  2. 给 Claude 图片或者图表: 将图像直接拖放到提示输入中,或者提供图像的文件路径
  3. 指定希望Claude查看或处理的文件
  4. 为 Claude 提供URL: 将特定的 url 放在提示词中,以便于 Claude 获取并读取,为了避免出现权限问题,可以将url添加到允许的列表中
  5. 尽早并经常性的纠正错误
  6. 使用 /CLEAR 保持上下文聚焦: 在任务之间用 /clear 命令来重置上下文
  7. 使用清单来处理复杂的工作流
  8. 如何将数据传入 Claude

使用 headless mode 实现 infra 的自动化

使用多 Claude 来对工作流进行升级

  1. 让一个 Claude 编写代码,另外一个Claude来验证
    通过启动多个终端,从而实现多个 Claude 的启动

参考资料

  1. 官方教程: https://www.anthropic.com/engineering/claude-code-best-practices

  2. 避坑总结: https://www.bilibili.com/video/BV14SuFzHEof/?spm_id_from=333.337.search-card.all.click&vd_source=23a5f90103c28e0016184059a052d467

  3. 教程1: https://www.bilibili.com/video/BV1S8u2zDE5p/?spm_id_from=333.337.search-card.all.click&vd_source=23a5f90103c28e0016184059a052d467

  4. 教程2: https://www.bilibili.com/video/BV1VkMTzjEhy?spm_id_from=333.788.recommend_more_video.0&vd_source=23a5f90103c28e0016184059a052d467

CATALOG
  1. 1. Claude Code 安装
  2. 2. 接入 Kimi K2
  3. 3. 使用 Claude Code
  4. 4. 自定义设置
  5. 5. 给 Claude 更多工具
  6. 6. 尝试常见的工作流
  7. 7. 优化工作流
  8. 8. 使用 headless mode 实现 infra 的自动化
  9. 9. 使用多 Claude 来对工作流进行升级
  10. 10. 参考资料