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

推荐订阅源

Recent Announcements
Recent Announcements
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Martin Fowler
Martin Fowler
The Cloudflare Blog
The Register - Security
The Register - Security
WordPress大学
WordPress大学
量子位
Vercel News
Vercel News
C
Check Point Blog
V
Visual Studio Blog
Microsoft Azure Blog
Microsoft Azure Blog
J
Java Code Geeks
B
Blog RSS Feed
Stack Overflow Blog
Stack Overflow Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Jina AI
Jina AI
Apple Machine Learning Research
Apple Machine Learning Research
PCI Perspectives
PCI Perspectives
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
美团技术团队
Schneier on Security
Schneier on Security
O
OpenAI News
M
MIT News - Artificial intelligence
S
Secure Thoughts
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Application and Cybersecurity Blog
Application and Cybersecurity Blog
S
Security Affairs
雷峰网
雷峰网
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
小众软件
小众软件
MongoDB | Blog
MongoDB | Blog
云风的 BLOG
云风的 BLOG
N
News and Events Feed by Topic
大猫的无限游戏
大猫的无限游戏
Google DeepMind News
Google DeepMind News
Recorded Future
Recorded Future
S
Security @ Cisco Blogs
www.infosecurity-magazine.com
www.infosecurity-magazine.com
C
Cyber Attacks, Cyber Crime and Cyber Security
GbyAI
GbyAI
L
LINUX DO - 最新话题
The Last Watchdog
The Last Watchdog
C
CERT Recently Published Vulnerability Notes
aimingoo的专栏
aimingoo的专栏
V
V2EX
博客园 - 【当耐特】
Last Week in AI
Last Week in AI
P
Proofpoint News Feed
阮一峰的网络日志
阮一峰的网络日志

博客园 - 郭慕荣

彻底搞懂 Codex Skill 与插件:区别、试用、核心作用、项目落地全指南(程序员实战向) Codex Skill 和插件到底有什么区别?程序员如何在项目中落地使用 claudecode 配置防止配置文件泄露总结 Claude code分析外部文件总结 Claude code三种模式详解 hasCompletedOnboarding详解 Claudecode 有哪些常用的命令 claude.md文件详解 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 的setting文件详解
郭慕荣 · 2026-06-06 · via 博客园 - 郭慕荣

一、Claude Code settings 配置分级规则(全局 + 项目两级)

不是必须每个项目新建配置,分 2 级配置,优先级:项目本地 > 全局配置

  1. 全局配置(全 Mac 所有项目共用)
    路径:~/.claude/settings.json,所有 Java / 其他项目默认继承这份配置(模型、API、权限、读取规则统一生效)
  2. 项目级配置(仅当前项目生效,覆盖全局)
    在单个 Java 项目根目录新建文件夹 .claude/,下放:
  • settings.json:项目公共配置(可提交 Git)
  • settings.local.json:私有配置(API 密钥、私密配置,必须写入.gitignore 禁止提交代码仓库) 

✅ 优先级:

项目/.claude/settings.local.json > 项目/.claude/settings.json > ~/.claude/settings.json(全局)

二、配置能干两件核心事:① 指定大模型 ② 控制文件读取 / 操作权限

1. 模型配置:自定义默认使用 DeepSeek / 原生 Claude 任意模型

通过env环境变量字段固定模型;

2. 权限配置:allowed_paths / denied_paths 管控 AI 能读哪些代码、禁止访问配置 / 密钥文件

  • allowed_paths:白名单,AI 仅能读取配置目录内代码
  • denied_paths:黑名单,禁止读取 yml 密钥、配置文件、敏感资源

三、实战场景:中通财务 NC 会计引擎项目(finance-nc-accounting-engine)

需求:

  1. 全局默认用 deepseek-v4-flash 免费模型;
  2. 本财务项目单独指定付费 deepseek-v4-pro [1m];
  3. 限制 AI:只允许读取 src 业务代码,禁止读取 resources 下数据库密钥 yml、配置文件,禁止读取本地环境变量配置;
  4. API 密钥统一放在项目 settings.local.json(不上传 Git)

1、项目完整目录结构(Java Maven 多模块项目)

finance-nc-accounting-engine/           # 项目根目录
├── .claude/                            # 项目专属Claude配置文件夹
│   ├── settings.json                   # 项目通用配置(模型/读写白名单,可提交git)
│   └── settings.local.json              # 私有配置(API KEY,禁止提交git)
├── .gitignore                          # 配置忽略 .claude/settings.local.json
├── pom.xml                             # 父工程pom
├── finance-nc-accounting-engine-core/   # core核心模块
│   ├── pom.xml
│   └── src/main/
│       ├── java/com/zto/...            # Java业务代码(白名单:允许AI读取)
│       └── resources/                  # 黑名单:禁止读取数据库配置yml
│           ├── application.yml
│           ├── db-config.yml  # 含数据库账号密码,禁止AI访问
│           └── secret.properties
├── finance-nc-accounting-engine-task/   # 定时任务模块
│   ├── pom.xml
│   └── src/
└── README.md

.gitignore 补充配置(关键:避免密钥上传)

# Claude私有密钥配置,禁止提交
.claude/settings.local.json

2、文件 1:项目 /.claude/settings.json(通用配置,可提交 Git,指定模型 + 读写权限)

{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
    // 当前项目强制使用 deepseek-v4-pro[1m],覆盖全局默认flash
    "ANTHROPIC_MODEL": "deepseek-v4-pro[1m]",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-v4-pro[1m]",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-v4-pro[1m]",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash",
    "CLAUDE_CODE_SUBAGENT_MODEL": "deepseek-v4-flash",
    "CLAUDE_CODE_EFFORT_LEVEL": "max"
  },
  // 权限规则:白名单:AI仅能访问src源码目录
  "allowed_paths": [
    "./finance-nc-accounting-engine-core/src",
    "./finance-nc-accounting-engine-task/src"
  ],
  // 黑名单:禁止读取配置、密钥文件
  "denied_paths": [
    "**/resources/*.yml",
    "**/resources/*.properties",
    "**/*.env",
    "./.claude/settings.local.json"
  ],
  // 额外限制:禁止AI执行rm/删除类高危shell命令
  "denied_commands": ["rm", "rm -rf", "drop table"]
}

3、文件 2:项目 /.claude/settings.local.json(私有密钥,不上 Git)

{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "sk-f52e0xxxxxxxxxxxxgc42"
  }
}

4、全局配置~/.claude/settings.json(所有新项目默认配置) 

{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
    // 全局默认免费flash模型,新项目没项目配置就用这个
    "ANTHROPIC_MODEL": "deepseek-v4-flash",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-v4-flash",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-v4-flash",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash",
    "CLAUDE_CODE_SUBAGENT_MODEL": "deepseek-v4-flash"
  }
}

四、配置生效逻辑说明 

  1. 当前财务项目:优先读取项目/.claude/settings.json+local → 使用deepseek-v4-pro[1m]付费模型,AI 只能看 src 源码、碰不到 yml 密钥;
  2. 新建另一个全新 Java 项目(无项目.claude 文件夹):自动继承全局配置,默认deepseek-v4-flash免费模型;
  3. 如果新项目想换回 pro:在新项目根目录新建.claude/settings.json覆写模型参数即可。

五、权限效果验证

当你在项目执行:分析一下这个项目架构

  • ✅ AI 正常读取所有 src 下 Java 代码、Service、Mapper;
  • ❌ AI 无法读取resources/db-config.yml里数据库账号密码,无法查看密钥配置,规避隐私泄露;
  • ❌ AI 无法执行危险删除 shell 指令。

六、补充快捷操作 Mac 终端 

# 打开当前项目claude配置目录
open .claude
# 编辑全局配置
code ~/.claude/settings.json