
























官方文档地址:https://code.claude.com/docs

Claude Code 是 Anthropic 推出的 面向真实工程场景的 AI 编程助手。我们不能把 Claude Code 理解为聊天版的 AI, 它其实更接近于 能直接参与项目开发的工程师,它不只是回答“怎么写代码”,而是可以 理解整个代码仓库、跨文件修改代码、运行命令、修复错误,并在真实开发环境中协助完成任务。
在实际使用中,可以把 Claude Code 当成一个工程级助手,例如:
只需要用自然语言描述需求,Claude Code 会结合整个代码仓库给出修改方案,甚至直接提交可用的代码改动。
博主不太建议直接使用国内中间代理的 Claude Code,虽然口头上说是 “直连”,其实本质是走了代理,因此也踏了不少坑,费用是直连的几倍,最终使用了直连的方式。这里不讲述如何使用国内的,网上搜索应该一大堆。
直连的方式很简单,只需要 “魔法”+“注册” + “代充” 即可,相信大家都懂,费用大概一个月100多,目前 Claude Code 的量好像也增大了,相比国内的中间代理,省了不止一倍,而且不存在稳定性的问题。
怎么使用 “魔法”,这里不再阐述了,适合自己就好,现在官网并不支持注册,可以自己去某宝买一个账号,同时让他代充即可。最后登录成功的web页面如下:
在设置页面也能看到用量:
至此,相信读者们都能注册 Claude Code 成功了,那么怎么使用呢?这里讲解其安装方式。
安装Claude Code的系统要求如下:
| 类型 | 要求 |
|---|---|
| 操作系统 | macOS 10.15+、Ubuntu 20.04+/Debian 10+ 或 Windows 10+(带 WSL 1、WSL 2 或 Git for Windows) |
| 硬件 | 4GB+ RAM |
| 软件 | Node.js 18+(仅 NPM 安装需要) |
| 网络 | 认证和 AI 处理需要互联网连接 |
| Shell | 在 Bash、Zsh 或 Fish 中效果最佳 |
| 位置. | Anthropic 支持的国家/地区 |
执行如下命令:
# 安装稳定版本(默认)
curl -fsSL https://claude.ai/install.sh | bash
# 安装最新版本
curl -fsSL https://claude.ai/install.sh | bash -s latest
# 安装特定版本号
curl -fsSL https://claude.ai/install.sh | bash -s 1.0.58
shell
Mac 也可以使用 Homebrew 的方式安装:
brew install --cask claude-code
shell
Windows PowerShell 安装方式:
# 安装稳定版本(默认)
irm https://claude.ai/install.ps1 | iex
# 安装最新版本
& ([scriptblock]::Create((irm https://claude.ai/install.ps1))) latest
# 安装特定版本号
& ([scriptblock]::Create((irm https://claude.ai/install.ps1))) 1.0.58
shell
Windows CMD 安装方式:
REM 安装稳定版本(默认)
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
REM 安装最新版本
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd latest && del install.cmd
REM 安装特定版本号
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd 1.0.58 && del install.cmd
shell
注意:需要 Node.js 18+以上的版本
Node.js下载地址:https://nodejs.org/en/download/
下载安装好Node.js 后,执行如下命令即可安装 Claude Code:
npm install -g @anthropic-ai/claude-code
shell
Claude Code 自动保持自身最新状态,如果需要禁用自动更新,在 settings.json 文件(一般在用户目录,例如Mac下在:~/.claude/settings.json)中设置 DISABLE_AUTOUPDATER 环境变量:
export DISABLE_AUTOUPDATER=1
shell
也可以手动更新:
claude update
shell
前面讲的可能都比较偏概念化,这里实际的来操作演示,效果可能更好。
初次使用,我们可以进入项目的根目录,这里为了方便演示,我新建了一个 html-project 的文件夹,然后执行 claude 命令如下:
mkdir html-project
cd html-project
claude
shell
运行后,会提示选择终端风格,选默认即可:

接着会提示登录方式,Claude Code 提供订阅制和 API 两种登录方式。

选择第一种之后,会自动跳转到浏览器授权页面:
点击Authorize授权,授权成功后,页面会提示如下:
切换回终端,提示登录成功了,然后提示是否使用默认的API_KEY,这里选择推荐的No,这个KEY当然可以分享给别人共同使用,但是容易被封,个人使用的话,还是选择推荐的。
后续一直选择使用推荐的即可,登录成功页面如下:
注意,授权登录需要使用魔法,且建议选择“湾湾”及非限制的国家地区,否则容易出现地区限制的问题。
如果页面提示成功了,但是本地403,这个时候,需要注意本地的系统,是否设置了其它的地区,建议还是“湾湾”。
接下来,我们可以开发任务,例如:帮我创建一个静态的页面,打开后,是星空的动态效果。

可以看到,Claude Code 在执行任务的过程中,会提示用户是否要执行该操作,上述有三个选项,我们可以选择1,要经过我们同意后才可以运行,这是整个执行的过程,能看到Claude Code正在的操作,也便于我们去了解它的实现方式。
最后执行成功的结果如下:
打开生成的HTML,可以看到如下效果,效果还是挺不错的。
但是到这里,大家可能会有一个疑问,这些新增和改动的代码看上去太麻烦了,不可能一直使用终端,其实Claude Code支持多种使用形态,这里继续讲解。
详情参考文档:https://code.claude.com/docs/en/jetbrains
Claude Code 插件 支持大多数 JetBrains IDEs,包括:
在 IDEA 中安装 Claude Code 非常简单,直接进入 Settings → Plugins,搜索 Claude Code 并安装即可:

安装成功后,右上角会出现 Claude Code 图标,点击即可打开底部终端:

此时可以直接用自然语言下达指令,例如:
去除文字,增加多一个月亮
在修改过程中,可以清楚地看到代码变动的内容,效果类似于 git history / diff:

同时,插件执行的所有日志也会在底部控制台完整展示,一切都在 “掌握中”:

最后看看生成的效果(虽然有点丑😂,主要还是提示词要写好,后面博主会出 Gemini 3 的教程,效果会更好):
详情参考文档:https://code.claude.com/docs/en/vs-code

Claude Code 同样支持 VS Code,通过官方扩展即可安装使用。
核心能力与 JetBrains 版本一致:
VS Code 版本更适合前端、Node.js 以及轻量级项目开发者,整体体验偏“无感集成”,适合日常高频使用。
详情参考文档:https://code.claude.com/docs/en/desktop

Claude Code 桌面版是一个 本地原生应用(Preview),目标是让你无需命令行,也能管理多个 Claude Code 会话。
核心特性:
多会话并行 :每个任务会创建独立的 Git worktree,不同任务互不影响,非常适合并行开发或实验。
支持 .worktreeinclude :可以让 .gitignore 中被忽略的文件(如 .env)在 AI 会话中可见,方便真实环境下修改代码。
内置稳定版本 : 桌面版内置 Claude Code 稳定版本,自动更新,避免 CLI 版本不一致问题。
继承本地环境变量 : 自动读取本机 PATH,可直接调用你已安装的本地开发工具。
无缝衔接 Web 会话 : 桌面版可一键跳转 Web Claude Code,灵活在本地与云端之间切换。
详情参考文档:https://code.claude.com/docs/en/chrome

Claude Code 提供 Chrome 浏览器插件(Beta),主要面向 Web 调试与自动化场景。
当前能力:
注意事项:
详情参考文档:https://code.claude.com/docs/en/github-actions
Claude Code 可以通过官方 GitHub Action 深度集成到 CI/CD 流程中。
典型使用方式:
@claude 触发 AI 任务优势:
详情参考文档:https://code.claude.com/docs/en/gitlab-ci-cd
GitLab CI/CD 集成目前处于 Beta 状态,定位与 GitHub Actions 类似。
核心能力:
适合 GitLab 重度用户,但目前功能仍在快速迭代中,建议关注官方更新。
详情参考文档:https://code.claude.com/docs/en/slack
Claude Code 可以直接集成到 Slack,成为“会写代码的同事”。
使用方式:
@Claude 提出需求支持两种模式:
适合团队协作、异步开发和远程办公场景。
详情参考文档:https://code.claude.com/docs/en/claude-code-on-the-web

Claude Code 提供官方 Web 版本,无需本地环境即可使用。
主要特点:
非常适合:
到这里,相信各位童鞋应该已经能清晰感受到一件事:
Claude Code 并不是一个“会聊天的 AI”,而是一个真正参与工程流程的开发者。
它可以:
在上一章节《Claude Code 完整指南(一):安装、CLI 实战、IDE 集成一次讲透》中,博主已经介绍了 Claude Code 的基本定位,并完成了安装、授权以及 CLI 的初步使用。
但在真实开发过程中,仅仅会用 claude 还不够,更重要的是搞清楚 终端下有哪些命令可用、这些命令分别解决什么问题,以及哪些配置会直接影响 Claude Code 的行为。
因此,本文详细梳理 Claude Code 在终端下的所有命令及关键配置项,帮助读者快速建立对 Claude Code CLI 的整体认知,并为后续更复杂的工程实践与自动化使用打下基础。
claude的终端命令非常的多,可以通过最简单的方式去查看支持哪些命令,终端输入 “/” 会有提示:
博主已经分类好,并逐个进行讲解。

用途:将指定目录添加到当前会话的工作目录列表中,使当前会话可以同时访问和理解多个目录。
使用方法:
/add-dir <目录路径>
shell
示例:
/add-dir ./src
/add-dir /Users/username/project/components
shell
使用场景:

用途: 在当前项目中初始化一个新的 CLAUDE.md 文件,用于存储代码库文档和上下文信息。
使用方法:
/init
shell
说明: 创建项目级别的文档文件,帮助 Claude 更好地理解你的代码库结构和约定。
使用场景:

用途: 将当前对话导出到文件或剪贴板。
使用方法:
/export
/export <文件路径>
shell
说明: 可以保存完整的对话历史,便于分享或归档。
使用场景:

用途: 清除对话历史并释放上下文,开始全新的会话。
使用方法:
/clear
/reset
/new
shell
注意: 此命令会清除所有对话记录,但不会删除文件系统中的任何文件。
使用场景:

用途: 清除对话历史,但在上下文中保留摘要信息。
使用方法:
/compact
/compact [自定义摘要指令]
shell
示例:
/compact
/compact 保留所有关于 API 设计的讨论
shell
说明: 当对话过长但希望保留重要信息时使用。
使用场景:

用途: 恢复之前的对话会话。
使用方法:
/resume
shell
说明: 允许你继续之前中断的对话。
使用场景:

用途: 将 代码 或对话恢复到之前的某个时间点。
使用方法:
/rewind
/checkpoint
shell
说明: 类似于"撤销"功能,可以回退到之前的状态。
使用场景:

用途: 管理代理配置,查看当前运行的后台代理及其状态。
使用方法:
/agents
shell
说明: 代理是用于在后台执行复杂、多步骤或耗时任务的专用执行单元。
使用场景:

用途: 列出和管理所有后台运行的 bash 任务。
使用方法:
/bashes
shell
说明: 显示所有后台进程的 ID 和状态,可用于监控长时间运行的命令。
使用场景:

用途: 列出当前的待办事项。
使用方法:
/todos
shell
说明: 显示 Claude 正在跟踪的所有任务及其状态(待处理、进行中、已完成)。
使用场景:

用途: 以彩色网格形式可视化当前的上下文使用情况。
使用方法:
/context
shel
说明: 帮助你了解哪些文件和目录在当前会话中,以及它们占用的上下文空间。
使用场景:
/compact、/clear 等命令前,评估当前上下文占用情况
用途: 显示当前会话的总成本和持续时间。
使用方法:
/cost
shell
说明: 查看 API 调用的费用统计和会话时长。
使用场景:

用途: 显示计划使用限制和当前用量。
使用方法:
/usage
shell
说明: 查看你的订阅计划的配额使用情况。
使用场景:

用途: 编辑 Claude 的记忆文件。
使用方法:
/memory
shell
说明: 管理 Claude 在会话之间记住的持久化信息。
使用场景:

用途: 打开配置面板,修改 Claude Code 设置。
使用方法:
/config
/theme
shell
说明: 可以配置主题、编辑器偏好、快捷键等。
使用场景:

用途: 管理工具事件的钩子配置。
使用方法:
/hooks
shell
说明: 设置在特定事件(如工具调用、文件编辑)发生时自动执行的命令。
使用场景:

用途: 管理工具的允许和拒绝权限规则。
使用方法:
/permissions
/allowed-tools
shell
说明: 控制 Claude 可以使用哪些工具,增强安全性。
使用场景:

用途: 直接设置输出样式或从选择菜单中选择。
使用方法:
/output-style
/output-style <样式名称>
shell
说明: 自定义 Claude 的输出格式和显示方式。
使用场景:

用途: 创建自定义输出样式。
使用方法:
/output-style:new
shell
说明: 定义你自己的输出格式模板。
使用场景:

用途: 设置 Claude Code 的状态栏 UI。
使用方法:
/statusline
shell
说明: 配置底部状态栏显示的信息。
使用场景:

用途: 为换行安装 Shift+Enter 键绑定。
使用方法:
/terminal-setup
shell
说明: 配置终端快捷键,使 Shift+Enter 插入换行而不是发送消息。
使用场景:

用途: 在 Vim 和普通编辑模式之间切换。
使用方法:
/vim
shell
说明: 为喜欢 Vim 键位的用户提供编辑模式切换。
使用场景:

用途: 设置 Claude Code 使用的 AI 模型。
使用方法:
/model
/model <模型名称>
shell
示例:
/model claude-sonnet-4
/model claude-opus-4
shell
说明: 切换不同的 Claude 模型版本。
使用场景:

用途: 查看和更新隐私设置。
使用方法:
/privacy-settings
shell
说明: 管理数据使用和隐私相关配置。
使用场景:
用途: 使用 Anthropic 账户登录。
使用方法:
/login
shel
说明: 连接你的 Anthropic 账户以访问付费功能。
使用场景:
用途: 从 Anthropic 账户登出。
使用方法:
/logout
shell
使用场景:

用途: 升级到 Max 计划,获得更高的速率限制和更多 Opus 使用量。
使用方法:
/upgrade
shell
说明: 打开订阅升级界面。
使用说明:
/usage、/cost 命令评估当前使用情况
用途: 为仓库设置 Claude GitHub Actions。
使用方法:
/install-github-app
说明: 集成 Claude 到 GitHub 工作流中。
使用场景:

用途: 获取 GitHub Pull Request 的评论。
使用方法:
/pr-comments <PR编号>
shell
示例:
/pr-comments 123
shell
使用场景:

用途: 审查 Pull Request。
使用方法:
/review
/review <PR编号>
shell
说明: Claude 会分析 PR 的代码变更并提供反馈。
使用场景:

用途: 对当前分支上的待处理更改进行安全审查。
使用方法:
/security-review
shell
说明: 自动检测潜在的安全问题和漏洞。
使用场景:

用途: 管理 IDE 集成并显示状态。
使用方法:
/ide
shell
说明: 查看和配置与各种 IDE(如 VS Code)的集成。
使用场景:

用途: 管理 MCP (Model Context Protocol) 服务器。
使用方法:
/mcp
shell
说明: 配置和管理外部上下文提供者。
使用场景:

用途: 管理 Claude Code 插件。
使用方法:
/plugin
/plugins
shell
说明: 安装、启用或禁用扩展功能。
使用场景:

用途: 诊断并验证 Claude Code 的安装和设置。
使用方法:
/doctor
shell
说明: 自动检查常见问题,如配置错误、权限问题等。
使用场景:

用途: 显示 Claude Code 状态,包括版本、模型、账户、API 连接和工具状态。
使用方法:
/status
说明: 全面的系统状态检查。
使用场景:
用途: 从全局 npm 安装迁移到本地安装。
使用方法:
/migrate-installer
shell
说明: 更新安装方式的迁移工具。
使用场景:

用途: 显示帮助信息和可用命令列表。
使用方法:
/help

用途: 提交关于 Claude Code 的反馈。
使用方法:
/feedback
/bug
shell
说明: 报告问题或提供改进建议。
反馈地址: https://github.com/anthropics/claude-code/issues

用途: 查看发布说明。
使用方法:
/release-notes
说明: 了解最新版本的新功能和改进。
用途: 退出 REPL(交互式命令行界面)。
使用方法:
/exit
/quit
shell
当然大家可以在项目中创建 .claude/commands/ 目录来定义自定义命令:
.claude/
commands/
review-pr.md # 自定义 PR 审查命令
run-tests.md # 自定义测试运行命令
deploy.md # 自定义部署命令
shell
请参考: 自定义斜杠命令教程
/login # 登录账户
/add-dir ./src # 添加源代码目录
/init # 初始化 CLAUDE.md
/context # 检查上下文
bash
/review 123 # 审查 PR #123
/security-review # 进行安全审查
/pr-comments 123 # 查看评论
bash
/status # 检查系统状态
/agents # 查看运行中的代理
/bashes # 查看后台任务
/todos # 查看待办事项
/cost # 查看使用成本
bash
/config # 打开配置面板
/output-style # 设置输出样式
/vim # 切换 Vim 模式
/hooks # 配置钩子
/permissions # 管理权限
bash
/context # 查看当前上下文
/compact # 压缩对话保留摘要
/rewind # 回退到之前状态
/clear # 完全清除重新开始
bash
Claudia 官网地址:https://claudia.so

对于不少开发者来说,纯终端方式虽然强大,但在会话管理、上下文理解、成本监控等方面仍然存在一定心智负担。
尤其是当你:
/compact、/rewind这时,仅靠 CLI 已经不够直观,Claudia 正是为了解决这些问题而生。
Claudia 是一个专为 Claude Code 设计的 本地可视化控制台(UI Dashboard),本质上是:
Claude Code CLI 的图形化外壳 + 会话/上下文可视化工具
它不会替代 Claude Code,而是:
/status、/context、/agents、/cost 中的信息集中展示
一句话总结:
Claude Code 负责“能力”,Claudia 负责“可视化与掌控感”。
结合前面 Claude Code 命令汇总,Claudia 的核心能力可以理解为 “把命令变成面板”。
/resume)在 CLI 中,你需要靠:
/resume
/export
/clear
bash
来管理会话,而在 Claudia 中:
点击首页的“CC Project”,就可以看到历史多个历史会话:
适合场景:

CLI 中的 /context 是彩色文本,而 Claudia 会:
这让你可以更直观地判断:
/compact
在终端里,你需要反复输入:
/agents
/bashes
/todos
bash
而 Claudia 中:
典型使用场景:

相比 CLI 中的纯文本输出,Claudia 会:
这对以下人群尤其重要:
并不是所有人都 必须 使用 Claudia,它更适合以下场景:
如果项目存在如下情况,强烈推荐使用:
| 场景 | 推荐方式 |
|---|---|
| 快速问答、一次性任务 | 纯 CLI |
| 长对话 / 架构设计 | CLI + Claudia |
| 多 Agent / 后台任务 | Claudia |
| 成本与使用监控 | Claudia |
| 博客、复盘、回顾 | Claudia |

在前面的博客,博主已经讲解了 Claude Code 相关的概念,有兴趣的同学可以参考下:
在前面的章节中,博主已经汇总了所有 Claude Code 的命令,同时也介绍了使用 Claudia 的方式来可视化 操作,但是命令背后的数据流动我们是不清楚的,比如执行了一句命令之后,本地涉及到了哪些文件,以及是否有把一些隐私的数据上传,共用账号会不会泄漏个人隐私等等,都像在黑盒里面。本文从一条简单的命令开始,看看背后发生了什么。
当你第一次运行 claude 命令时,系统会在你的主目录下创建 ~/.claude 文件夹。让我们先看看这个目录里藏着什么秘密:

目录解析如下:
| 目录 | 备注 |
|---|---|
| debug | 调试日志和错误信息 |
| file-history | 文件修改历史记录 |
| history.jsonl | 全局命令历史(跨项目) |
| ide | IDE 集成相关配置 |
| projects | 项目级别的会话数据 |
| shell-snapshots | Shell 命令执行快照 |
| statsig | 统计和特性开关数据 |
| todos | 任务列表的 JSON 数据 |

每个项目都有一个独立的子目录,命名规则是将项目路径转换为目录名(斜杠替换为连字符)。例如:
~/.claude/projects/
├── -Users-yanglinwei-Desktop-xxx/
│ ├── .timelines/ # 时间线数据
│ ├── cca400a9-c8db-4cb0-943c-314875065f34.jsonl # 对话会话记录
│ └── settings.json # 项目级配置(如果存在)
bash
每个 .jsonl 文件记录了完整的对话历史,包括:

这个文件记录你在所有项目中执行过的命令,格式如下:
{
"display": "/privacy-settings ",
"pastedContents": {},
"timestamp": 1767777200862,
"project": "/Users/yanglinwei/Desktop/test-project"
}
json
重要提示:这个文件包含你的项目路径信息,如果共享账号,其他人可以看到你曾经访问过哪些项目目录。

Claude Code 的任务管理功能会在这里存储 JSON 文件,每个文件对应一个任务列表。文件命名格式:
<session-id>-agent-<agent-id>.json
shell

在你的项目根目录下,Claude Code 还会创建 .claude/ 配置目录:
your-project/
└── .claude/
├── settings.json
├── settings.local.json
├── CLAUDE.md
├── .mcp.json
└── commands/
├── review.md
└── test.md
bash
| 文件 | 描述 |
|---|---|
| settings.json | 团队共享配置(应提交到 Git) |
| settings.local.json | 个人配置(不应提交,需加入 .gitignore) |
| CLAUDE.md | 项目上下文和指令 |
| .mcp.json | MCP 服务器配置 |
| commands/ | 自定义斜杠命令 |
Claude Code 使用 分层配置系统,优先级从高到低如下:
| 配置层级 | 文件路径 | 用途 | 是否提交 Git |
|---|---|---|---|
| 托管配置 | 由 IT 部门管理 | 企业级策略(无法覆盖) | - |
| 命令行参数 | claude --model=opus |
临时会话覆盖 | - |
| 本地项目配置 | .claude/settings.local.json |
个人项目设置(如 API Key) | 否 |
| 共享项目配置 | .claude/settings.json |
团队共享设置 | 是 |
| 用户全局配置 | ~/.claude/settings.json |
个人全局默认 | - |
| 遗留配置 | ~/.claude.json |
旧版配置文件 | - |
配置示例:settings.local.json
{
"permissions": {
"allow": [
"Read(//Users/yanglinwei/Library/**)",
"Read(//Users/yanglinwei/.config/**)",
"WebFetch(domain:code.claude.com)",
"WebSearch"
],
"deny": [
"Read(./.env)",
"Read(./secrets/**)"
],
"ask": []
},
"env": {
"ANTHROPIC_API_KEY": "your-api-key-here"
}
}
json
| 配置项 | 类型 | 说明 | 示例 |
|---|---|---|---|
| permissions.allow | 数组 | 允许的工具和路径(支持通配符) | “Read(./src/**)” |
| permissions.deny | 数组 | 拒绝访问的工具和路径 | “Read(./.env)” |
| permissions.ask | 数组 | 需要确认的操作 | “Bash(*)” |
| env | 对象 | 环境变量设置 | {“API_KEY”: “xxx”} |
| commit.attribution | 字符串 | Git 提交署名 | “Co-Authored-By: Claude” |
| pr.attribution | 字符串 | PR 描述附加信息 | “Generated by Claude” |
| enabledPlugins | 对象 | 启用的插件列表 | {“plugin-name@marketplace”: true} |
| model | 字符串 | 默认模型选择 | “claude-sonnet-4-5-20250929” |
参考文档:Claude Code Settings
让我们追踪一条简单的命令 claude "帮我创建一个 README.md 文件" 的完整生命周期。
用户输入 → CLI 解析 → 加载配置层次 → 检查权限 → 创建会话 ID
shell
本地文件操作:
~/.claude/settings.json 和 .claude/settings.local.json.claude/CLAUDE.md(如果存在)作为上下文~/.claude/projects/<project-hash>/ 创建新的 .jsonl 会话文件~/.claude/history.jsonl 追加命令记录构建 API 请求 → 发送到 Anthropic 服务器 → 流式接收响应
shell
上传到服务器的数据:
.claude/CLAUDE.md 的内容(如果存在)不会上传的数据:
Claude 可能会请求使用以下工具(取决于权限配置):
| 工具名称 | 作用 | 本地操作 | 数据上传 |
|---|---|---|---|
Read |
读取文件 | 读取指定文件内容 | 文件内容发送到服务器 |
Write |
写入文件 | 创建或覆盖文件 | 仅记录操作,不上传文件内容 |
Edit |
编辑文件 | 字符串替换操作 | 仅记录操作 |
Bash |
执行命令 | 运行 Shell 命令 | 命令输出发送到服务器 |
Glob |
搜索文件 | 匹配文件路径 | 文件路径列表发送到服务器 |
Grep |
搜索内容 | 搜索文件内容 | 匹配的行内容发送到服务器 |
关键安全点:
Read 工具才能看到文件内容permissions.deny 阻止访问敏感文件.jsonl 会话文件中接收流式响应 → 显示在终端 → 记录到会话文件 → 更新 token 统计
shell
本地文件写入:
~/.claude/projects/<project-hash>/<session-id>.jsonlWrite 或 Edit,修改历史保存到 ~/.claude/file-history/~/.claude/statsig/不会。 Claude CLI / Claude Code 的本地配置、历史记录 和项目文件(如 ~/.claude/*)
只存在于当前机器,不会因为共享账号或 API Key 而同步到其他设备。
如果你在机器 A 使用 Claude, 即使他人在机器 B 使用同一账号或 Key, 也无法看到你机器 A 上的任何本地文件或历史记录。
共享账号或 API Key 的风险,不在本地文件,而在你“发送出去的内容”。
| 泄漏场景 | 会泄漏的内容 |
|---|---|
| 共享账号 / API Key | 你发送给 Claude 的 Prompt、代码、业务描述 |
| 使用第三方中转或代理 | 请求中的全部明文内容 |
| API Key 被他人持有 | 他人可完全冒充你调用 Claude |
简单理解:Key = 你的身份,共享 Key 就是共享“你本人”。
以下风险 只影响当前机器,与其他设备无关:
| 数据 | 存储位置 | 风险 |
|---|---|---|
| 对话历史 | ~/.claude/projects/ |
机器被共用或入侵时可被读取 |
| 使用记录 | ~/.claude/history.jsonl |
暴露项目路径与使用习惯 |
| API Key | 本地配置或环境变量 | 被读取后可被完全滥用 |
{
"permissions": {
"deny": [
"Read(./.env)",
"Read(./secrets/**)",
"Read(./**/*.key)",
"Read(./**/*.pem)"
]
}
}
json
export ANTHROPIC_API_KEY="sk-ant-xxx"
bash
chmod 600 ~/.claude/settings.json
chmod 700 ~/.claude/projects/
bash
一句话总结:
本地文件不会跨设备泄漏,真正泄漏的,永远是你“主动发出去的内容”。
───────────────────────────────────────────────────────────────
用户输入命令
claude "帮我创建文件"
───────────────────────────┬───────────────────────────────────
│
▼
───────────────────────────────────────────────────────────────
本地配置加载
~/.claude/settings.json ─┐
.claude/settings.json ├─→ 合并配置 → 权限检查
.claude/CLAUDE.md ─┘
───────────────────────────┬───────────────────────────────────
│
▼
───────────────────────────────────────────────────────────────
创建本地会话记录
~/.claude/projects/<project>/
└── <session-id>.jsonl ← 开始记录
───────────────────────────┬───────────────────────────────────
│
▼
───────────────────────────────────────────────────────────────
构建 API 请求并发送
上传内容:
• 用户提示词
• 系统提示词(工具定义)
• CLAUDE.md 内容
• 权限配置
HTTPS → Anthropic API 服务器
───────────────────────────┬───────────────────────────────────
│
▼
───────────────────────────────────────────────────────────────
Claude 流式响应
可能包含工具调用:
• Read("/path/to/file") → 读取文件
• Write(...) → 创建 / 修改文件
• Bash("ls -la") → 执行命令
───────────────────────────┬───────────────────────────────────
│
▼
───────────────────────────────────────────────────────────────
本地工具执行
权限检查 → 执行操作 → 返回结果
结果上传到服务器 ← 供 Claude 下一步推理使用
───────────────────────────┬───────────────────────────────────
│
▼
───────────────────────────────────────────────────────────────
最终响应与本地保存
• 显示在终端
• 保存到 .jsonl 会话文件
• 更新 file-history/(如有文件修改)
• 更新 history.jsonl
───────────────────────────────────────────────────────────────
A: 不会。Claude 只能访问你明确授权的文件。它需要先调用 Read 工具才能看到文件内容,且每次调用都会受到权限系统的控制。
A: 不可以。Claude Code 的核心推理能力依赖于 Anthropic 的云端 API。但你可以控制哪些数据被发送到服务器。
A: 不推荐。虽然 Anthropic 服务器端的数据是隔离的,但本地的 ~/.claude/ 目录会包含所有用户的项目路径和对话历史。如果多人共用同一台机器和账号,存在隐私泄漏风险。
# 删除所有项目会话
rm -rf ~/.claude/projects/
# 删除全局命令历史
rm ~/.claude/history.jsonl
# 如果要完全重置
rm -rf ~/.claude/
bash
permissions.deny 真的可靠吗?根据第三方测试(参考 eesel.ai 博客),deny 规则偶尔会被忽略。最佳实践:
如果你有固定的项目上下文(如编码规范、架构说明),写入 .claude/CLAUDE.md:
# 项目上下文
## 技术栈
- 后端:Python + FastAPI
- 数据库:PostgreSQL
- 测试:pytest
## 编码规范
- 使用 Black 格式化
- 类型提示必填
- 测试覆盖率 > 80%
markdown
这样 Claude 会自动在每次会话开始时加载这些信息,无需每次对话都重新说明。
在 .claude/settings.json 中配置钩子,在工具执行后自动运行命令:
{
"hooks": {
"after:Write": [
{
"command": "black {file_path}",
"if": "{file_path} matches **/*.py"
}
]
}
}
json
参考文档:Claude Code Hooks
在 .claude/commands/review.md 创建命令:
请对当前项目的代码进行审查,重点关注:
1. 安全漏洞
2. 性能问题
3. 代码风格一致性
输出 Markdown 格式的报告。
markdown
使用:
claude /review
bash
通过阅读本文,相信大家可以了解到Claude Code 的本地数据全部保存在 ~/.claude/ 及项目 .claude/ 目录,不会跨设备泄漏;真正可能暴露的是你主动发送给 Claude 的内容。通过合理配置 permissions、使用环境变量存储 API Key、隔离敏感文件,并结合 .claude/CLAUDE.md、自定义斜杠命令和 Hooks,可以既保证数据安全,又提升工作效率,实现可控、安全、高效的命令执行与项目管理。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。