Claude Code 高级配置与自动化
适合进阶用户的深度定制技巧
一、自定义斜杠命令(Custom Commands)
1. 创建项目级命令
在项目中创建 .claude/commands/ 目录,每个 .md 文件就是一个命令:
mkdir -p .claude/commands示例:创建一个 /review 命令
# .claude/commands/review.md
请对当前 Git 暂存区的代码进行 Code Review:
1. 检查代码质量和可读性
2. 检查潜在的 Bug 和安全问题
3. 检查是否符合项目的代码规范
4. 给出改进建议
输出格式:
- 严重问题(必须修复)
- 建议改进(可选)
- 总体评价使用:在 Claude Code 中输入 /review 即可。
2. 创建全局命令
mkdir -p ~/.claude/commands
# ~/.claude/commands/daily.md
帮我总结今天在当前项目中的所有 Git 提交:
1. 列出所有 commit 及其内容
2. 统计修改的文件数和代码行数
3. 给出一段简短的日报文字3. 带参数的命令
命令文件中可以使用 $ARGUMENTS 占位符:
# .claude/commands/explain.md
请详细解释以下代码或概念:$ARGUMENTS
用通俗易懂的语言,假设我是一个初级开发者。
如果涉及代码,请给出示例。使用:/explain Kotlin 协程的 structured concurrency
二、Skills 技能系统
4. 创建自定义技能(Issue #9716, 67 reactions)
mkdir -p .claude/skills/android-debug# .claude/skills/android-debug/skill.md
---
name: android-debug
description: Android 调试助手,帮助分析 logcat、ANR、crash 日志
trigger: 当用户提到 logcat、ANR、crash、崩溃、调试 时自动触发
---
## Android 调试技能
当用户需要调试 Android 问题时:
1. 首先确认问题类型(crash / ANR / 性能 / UI)
2. 请求相关日志(logcat / tombstone / trace)
3. 分析日志中的关键信息
4. 给出排查方向和修复建议
### 常用命令
- `adb logcat -b crash` — 查看 crash 日志
- `adb bugreport` — 生成完整 bug 报告
- `adb shell dumpsys activity activities` — 查看 Activity 栈三、Hooks 自动化
5. 什么是 Hooks
Hooks 是在特定事件触发时自动执行的 Shell 命令。配置在 settings.json 中:
// ~/.claude/settings.json
{
"hooks": {
"PreToolUse": [
{
"matcher": "Edit",
"command": "echo '正在编辑文件...'"
}
],
"PostToolUse": [
{
"matcher": "Write",
"command": "npx prettier --write $CLAUDE_FILE_PATH"
}
]
}
}6. 实用 Hook 示例
编辑后自动格式化:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"command": "npx prettier --write $CLAUDE_FILE_PATH 2>/dev/null || true"
}
]
}
}阻止编辑敏感文件:
{
"hooks": {
"PreToolUse": [
{
"matcher": "Edit|Write",
"command": "echo $CLAUDE_FILE_PATH | grep -qE '\\.(env|key|pem)$' && echo 'BLOCKED: 不允许编辑敏感文件' && exit 1 || exit 0"
}
]
}
}四、Token 成本控制
7. 成本优化策略一览
| 策略 | 节省效果 | 操作 |
|---|---|---|
| 精简 MCP 工具 | 减少 30-85% | 移除不用的 MCP Server |
| 定期 /compact | 减少 20-40% | 长会话中每 30 分钟压缩 |
| 新开会话 | 避免缓存失效 | 每个独立任务新开会话 |
| 精确提问 | 减少来回 | 一次说清楚需求 |
| 善用 CLAUDE.md | 减少重复说明 | 把常用上下文写入文件 |
| 模型选择 | 性价比优化 | 简单任务用 Sonnet |
8. 监控用量
/status # 查看当前会话用量
遇到频率限制时(Issue #16157, 688 reactions):
- 等待冷却后继续
- 拆分大任务到多个会话
- 考虑使用 API Key 模式(按量计费更可控)
五、多环境配置
9. XDG 目录规范(Issue #1455, 332 reactions)
Linux 用户可以自定义配置目录位置:
# 在 ~/.bashrc 或 ~/.zshrc 中添加
export CLAUDE_CONFIG_DIR="$HOME/.config/claude"10. 多账户管理(Issue #18435, 301 reactions)
目前没有内置的多账户切换,但可以通过环境变量变通:
# 创建别名
alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'
alias claude-personal='CLAUDE_CONFIG_DIR=~/.claude-personal claude'六、终端体验优化
11. 解决终端闪烁问题(Issue #3648, 837 reactions)
如果在 VS Code/Cursor 内置终端中遇到闪烁或滚动异常:
方案 1:使用独立终端 推荐的终端应用:
- Ghostty — 性能最好
- iTerm2 — macOS 经典
- Windows Terminal — Windows 推荐
- Warp — 现代化设计
方案 2:调整设置
// VS Code settings.json
{
"terminal.integrated.scrollback": 10000,
"terminal.integrated.gpuAcceleration": "on"
}12. 关闭花哨的进度提示(Issue #6814 + #4034, 379 reactions)
很多用户反感 “Sparkling…”、“Blooping…” 等花哨状态词。配置方法:
// ~/.claude/settings.json
{
"spinnerVerbs": {
"mode": "replace",
"verbs": ["Working", "Processing", "Thinking", "Analyzing"]
}
}深度 UI 定制:npx tweakcc(Piebald-AI/tweakcc)
七、文件可见性与权限控制(2026-05 新增)
13. 用 .claudeignore 控制文件可见性(Issue #5105, 110 reactions)
Claude 默认遵守 .gitignore,但可以用 .claudeignore 覆盖:
# .claudeignore(语法同 .gitignore)
!tasks/ # 让被 gitignore 的 tasks/ 对 Claude 可见
*.log # 额外隐藏某些文件
temp/
用法: 在项目中维护被 gitignore 但对 Claude 可见的 tasks/ 文件夹,存放笔记和 TODO。
14. 复合 Bash 命令的权限问题(Issue #16561, 149 reactions)
cd /path && git status 即使每个子命令都 allow,复合命令仍会弹确认框。
解决方案:
- 在 CLAUDE.md 中要求 Claude 不写复合命令,分步执行
- 信任环境下设置
"Bash(*)"全部放行(安全性低)
15. 在 CLAUDE.md 中集成 AGENTS.md(Issue #31005, 206 reactions)
# CLAUDE.md
Also read and follow all instructions in AGENTS.md in this repository.不建议用符号链接,Claude 会在
.claude/skills/中生成.system/文件。
16. Skills 目录必须扁平(Issue #10238, 144 reactions)
.claude/skills/ 不支持子目录。变通:用命名前缀模拟分组 debug-logcat.md、perf-memory.md。
17. 跨项目配置共享(Issue #4800, 20 reactions)
# 符号链接共享命令
ln -s /path/to/shared/.claude/commands/* .claude/commands/Monorepo 可利用 Claude 自动向上查找 CLAUDE.md 的特性,在根目录放共享配置。
下一篇: 04-实战场景与最佳实践