Claude AI CLI
Claude 产品矩阵全景
| 产品形态 | 适用场景 | 适合你的工作 |
|---|---|---|
| Claude.ai (Web/App) | 通用对话、方案设计、知识问答 | 架构设计讨论、概念学习、文档撰写 |
| Claude Code (CLI) | 终端内代理式编程 | 核心推荐:代码编写、调试、远程运维 |
| Claude API | 集成到自有系统/脚本 | 自动化运维、自定义 Bot、CI/CD 集成 |
| Claude in Chrome | 浏览器自动化代理 | AWS Console 操作、Web 控制台批量操作 |
| Desktop App + MCP | 桌面端 + 工具扩展 | 本地文件操作、多工具协同 |
Claude Code 与 IDE 集成的完整图谱
┌─────────────────────────────────────────────────────────────────────┐ |
官方支持的 IDE 一览
官方插件主要支持两大阵营: VS Code 扩展 (最完善,同样适用于 Cursor IDE,需要 VS Code 1.98.0+)和 JetBrains 插件 (IntelliJ IDEA、PyCharm、WebStorm、GoLand 等)。
| 编辑器/IDE | 集成方式 | 推荐度 | 适合人群 |
|---|---|---|---|
| VS Code | 官方扩展(最完善) | ⭐⭐⭐⭐⭐ | DevOps 工程师首选 |
| Cursor | 官方扩展(同 VS Code) | ⭐⭐⭐⭐⭐ | 喜欢 AI 原生体验 |
| JetBrains 系列 | 官方插件 | ⭐⭐⭐⭐ | Python/Java 开发者 |
| Neovim / Vim | 内嵌终端运行 CLI | ⭐⭐⭐ | 服务器/极客工作流 |
| Sublime / Emacs | 内嵌终端运行 CLI | ⭐⭐⭐ | 老牌编辑器用户 |
┌────────────────────────────────────────────────────────────────────┐ |
使用 Claude 高效编码的 10 条铁律
| # | 铁律 | 说明 |
|---|---|---|
| 1 | 先 Plan 后 Code | 让 Claude 先输出实施计划再写代码 |
| 2 | 善用 @ 引用 | 精确传递上下文,避免泛泛而谈 |
| 3 | 多用选区上下文 | 选中代码再唤起 Claude,无需复述 |
| 4 | 写好 CLAUDE.md | 项目”入职文档”是最重要的投资 |
| 5 | 小步快跑 | 一次只让 Claude 改一件事,及时 Review |
| 6 | 保持 git 干净 | 每次 AI 改动前 commit,方便回滚 |
| 7 | 诊断信息驱动 | 让 lint/test 错误驱动 Claude 修复 |
| 8 | 善用 Checkpoint | 改坏了用 IDE 的 checkpoint 回滚 | |
| 9 | /clear 重置上下文 | 长对话变慢就清空重开 |
| 10 | 关键命令进 deny | 危险命令必须在 settings 中禁止 |
安装 Claude Code
# 前提:Node.js 18+ (建议用 nvm 管理) |
首次运行会通过浏览器 OAuth 完成 API 鉴权,无需手动配置 API Key
Claude 相关的项目配置
强制建议在每个项目根目录创建一个 CLAUDE.md 文件,作为给 Claude 的 上下文(Context)说明书 ,用于介绍项目背景、技术栈、代码规范等。
必须建立的项目配置
your-project/ |
CLAUDE.md 示例:
# 项目说明:生产环境 EKS 集群运维 |
.claude/settings.json 内容示例:
{ |
一定要注意:
settings.json是”软约束”,不是”硬隔离”。settings.json的permissions是”权限提示层”,它能拦截 Claude 主动发起的危险命令, 但无法防御 命令变形绕过(rm 写成 /bin/rm、用变量拼接)、通过脚本间接执行(写个 .sh 再跑)、通过已 allow 的工具造成的间接破坏
Claude 在生产环境中的配置参考
在生产环境中的服务器上使用 Claude,既要能让 Claude 充分发挥其能力,又要对其做出合理的限制,防止误操作或者权限溢出而对生产环境造成事故。
参考文件结构如下
~/projects/prod-ops/ # 本地项目目录(VS Code 打开这里) |
CLAUDE.md
这是第一道防线,也是最容易被忽视的一道。它的作用是从源头降低 Claude 尝试危险操作的概率。
参考 claude_rules.md 文件获取详细的行为规范和使用指南。
.claude/settings.json
这是第二道防线,提交到 git 仓库,团队共享。
{ |
defaultMode: "default": 未匹配任何规则的操作 → 询问用户deny: 硬拦截所有破坏性命令。deny 优先级最高,任何层级都无法覆盖ask: 半危险操作(写文件、curl、git push)→ 弹窗确认allow: 所有只读、诊断类命令 → 自动执行. 充分发挥能力的关键,让 Claude 流畅排查disableBypassPermissionsMode: "disable": 禁止--dangerously-skip-permissions,禁止跳过所有权限检查的 bypass 模式CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC: 关闭非必要网络流量, 生产环境降噪
规则支持精确匹配、前缀通配符(prefix:)和模式通配符()。ToolName 是首字母大写的工具名(如 Bash、Write、Read),括号内是可选的内容模式。
Bash(rm:*) → 拦截所有以 rm 开头的命令 |
.claude/settings.local.json
个人临时覆盖(不提交 git)。临时需要某个权限时,在这里加,不污染团队共享的 settings.json 。记得加进 .gitignore
{ |
注意: settings.json 的 deny 有个致命弱点: 命令变形可以绕过 ,比如:
# settings.json deny 了 "Bash(rm:*)",但这些可能绕过: |
Hooks 让你能在 Claude 执行工具前后触发自己的 shell 脚本,实现更深的自动化和护栏。这是 真正能防住命令变形 的一层。
.claude/hooks/pretooluse-guard.sh
!/usr/bin/env bash |
添加可执行权限
chmod +x ~/projects/prod-ops/.claude/hooks/pretooluse-guard.sh |
在前面的 settings.json 里追加 hooks 配置块
{ |
Hook 的价值 :
settings.json的deny是字面匹配,hook是语义/正则匹配- Hook 能做上下文感知判断(比如检测主机名、时间窗口)
- Hook 顺便实现了全量审计日志——这在事故复盘时极其宝贵