惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

腾讯CDC
GbyAI
GbyAI
C
CERT Recently Published Vulnerability Notes
S
Security @ Cisco Blogs
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
The Hacker News
The Hacker News
D
Darknet – Hacking Tools, Hacker News & Cyber Security
P
Proofpoint News Feed
C
Cyber Attacks, Cyber Crime and Cyber Security
S
Securelist
Security Latest
Security Latest
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Simon Willison's Weblog
Simon Willison's Weblog
Latest news
Latest news
T
Tor Project blog
T
Threat Research - Cisco Blogs
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Spread Privacy
Spread Privacy
K
Kaspersky official blog
T
The Exploit Database - CXSecurity.com
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
V2EX - 技术
V2EX - 技术
L
Lohrmann on Cybersecurity
Google Online Security Blog
Google Online Security Blog
Cyberwarzone
Cyberwarzone
Help Net Security
Help Net Security
The Last Watchdog
The Last Watchdog
C
Cybersecurity and Infrastructure Security Agency CISA
Attack and Defense Labs
Attack and Defense Labs
大猫的无限游戏
大猫的无限游戏
Schneier on Security
Schneier on Security
H
Heimdal Security Blog
O
OpenAI News
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
Visual Studio Blog
AI
AI
H
Hacker News: Front Page
博客园_首页
博客园 - 【当耐特】
L
LINUX DO - 最新话题
MyScale Blog
MyScale Blog
量子位
Vercel News
Vercel News
C
Cisco Blogs
L
LINUX DO - 热门话题
Y
Y Combinator Blog
T
Threatpost
爱范儿
爱范儿
P
Privacy & Cybersecurity Law Blog

博客园 - 郭慕荣

彻底搞懂 Codex Skill 与插件:区别、试用、核心作用、项目落地全指南(程序员实战向) Codex Skill 和插件到底有什么区别?程序员如何在项目中落地使用 claudecode 配置防止配置文件泄露总结 Claude code三种模式详解 hasCompletedOnboarding详解 Claudecode 有哪些常用的命令 claude.md文件详解 claude code 的setting文件详解 Docker部署zookeeper总结 Mac中git ssh的配置(GitLab) Java 类加载机制 面试题(一) 如何监控和调优JVM性能? jvm常用的参数有哪些? 怎么配置? hashmap 和currenthashmap 的原理?详解一下 aop在项目中使用的场景?怎么使用? Java dubbo spring springboot中的spi机制 spring中常见的两种代理模式 Redis的zset 面试汇总 drools 规则引擎在线化配置 springcloud中常用的注解详解 springcloud中网关gateway总结 spring是怎么解决循环依赖的? MySQL 死锁 怎么处理? 在写left join的时候 是大表在左侧 还是小表在左侧(二) 在写left join的时候 是大表在左侧 还是小表在左侧(一) nacos客户端(接口调用者)如何感知被调用服务下线? (二) nacos客户端(接口调用者)如何感知被调用服务下线?(一) 在MySQL中 redolog undolog binlog 写入的场景,顺序
Claude code分析外部文件总结
郭慕荣 · 2026-06-08 · via 博客园 - 郭慕荣

在 Claude Code 里分析「其他地方的文件」,核心思路是:把文件 “喂” 给 Claude 的会话上下文,它才能读、能分析、能基于文件干活。下面给你讲清楚所有方式,从最简单到高级,覆盖你可能遇到的场景。


一、最常用:在当前会话里手动添加文件 /add

这是日常开发里最直接的方式,也是你在项目里已经在用的方法。

1. 命令格式

# 进入项目目录并启动 Claude
cd 你的项目根目录
claude

# 在 > 提示符下添加文件
> /add 路径/到/文件.java
> /add 路径/到/目录/
> /add 文件1.java 文件2.java mapper/*.xml

2. 场景示例

你想在财务 NC 项目里,分析另一个项目里的通用工具类 CommonUtils.java

# 1. 启动当前项目的 Claude 会话
cd finance-nc-accounting-engine
claude

# 2. 添加外部文件(绝对路径)
> /add /Users/xxx/code/other-project/src/main/java/com/zto/utils/CommonUtils.java

# 3. 分析文件
> 分析这个 CommonUtils 工具类,看看哪些方法可以复用到当前项目

3. 关键说明

  • 可以用相对路径(相对于当前项目目录)或绝对路径;
  • 可以添加单个文件、多个文件、甚至整个目录;
  • 查看已加载文件:/files
  • 移除文件:/remove 路径

二、不启动会话:命令行一次性添加文件

如果你不想进入交互模式,只想一次性分析文件,可以直接在终端里用 --add 参数。

命令格式

claude "帮我分析这个工具类,看看有哪些潜在问题" \
  --add /Users/xxx/code/other-project/src/main/java/com/zto/utils/CommonUtils.java

适用场景

  • 快速分析单个文件,不需要后续交互;
  • 想把文件分析作为脚本 / 命令链的一部分。

三、把文件复制到当前项目目录再分析

这是兼容性最好的方式,适合文件跨目录访问有问题(比如权限限制)的情况。

步骤 

  1. 把外部文件复制到当前项目的一个临时目录里(比如 external-libs/): 
    mkdir -p external-libs
    cp /Users/xxx/code/other-project/src/main/java/com/zto/utils/CommonUtils.java external-libs/
  2. 在 Claude 里添加这个目录:
  3. 分析完成后,如果你不想提交这些文件,可以在 .gitignore 里加上:

四、通过剪贴板直接粘贴文件内容(超轻量方式)

如果文件不大,你不想动任何文件结构,可以直接把内容粘给 Claude。

步骤 

  1. 打开外部文件,复制全部内容;
  2. 在 Claude 里直接粘贴,前面加上描述:
    下面是 CommonUtils.java 的全部代码,请帮我分析它的线程安全问题:
    [在这里粘贴完整代码]

适用场景

  • 分析小文件、配置片段、脚本;
  • 不想让 Claude 访问本地文件系统的情况。

五、通过软链接(符号链接)让外部文件 “看起来在项目里”

Mac/Linux 上可以用 ln -s 把外部文件 / 目录链接到当前项目,Claude 会把它当成项目内文件处理。

步骤

# 1. 进入项目根目录
cd finance-nc-accounting-engine

# 2. 创建软链接,指向外部文件/目录
ln -s /Users/xxx/code/other-project/src/main/java/com/zto/utils/ external-utils

# 3. 像项目内文件一样添加
claude
> /add external-utils/CommonUtils.java

注意

  • 软链接只是一个 “快捷方式”,不会复制文件,原文件修改会同步影响;
  • 确保软链接的路径在 settings.jsonallowed_paths 里,不会被 denied_paths 拦截。

六、在 CLAUDE.md 里提前定义外部依赖文件(推荐长期场景)

如果你经常需要分析几个固定的外部文件,可以把它们写到 CLAUDE.md 里,每次会话自动加载。

示例

# CLAUDE.md 外部依赖配置

## 必须加载的外部工具类
- `/Users/xxx/code/other-project/src/main/java/com/zto/utils/CommonUtils.java`
- `/Users/xxx/code/other-project/src/main/java/com/zto/constants/BizConstants.java`

分析代码时,请优先复用这些类,不要重复实现。

Claude 在每次启动会话时,会自动读取这些信息,相当于提前 “知道” 这些文件,你再用 /add 就更顺畅了。


七、权限与安全注意事项(重要)

  1. denied_paths 会拦截外部文件:如果你的 settings.json 里配置了 denied_paths,外部文件如果匹配规则(比如 **/*.yml),即使你用 /add 也会被拒绝。
  2. 敏感文件不要直接添加:数据库配置、密钥文件等,建议用剪贴板方式,分析完就丢,不要加到会话里。
  3. 软链接 / 复制文件要避免提交:如果复制外部文件到项目里,记得加到 .gitignore,避免不小心提交到代码库。

总结:不同场景用哪种方式?

场景推荐方式
临时分析一个外部文件 /add 绝对路径 或 剪贴板粘贴
频繁分析固定的外部工具类 复制 / 软链接到项目目录 + /add
一次性快速分析,不想进会话 claude "..." --add 文件路径
不想让 Claude 访问文件系统 剪贴板粘贴内容