
Claude Reflect 是什么
Claude Reflect 是一个 Claude Code 的自学习插件。它的核心功能很简单:自动捕获你对 Claude 的纠正和偏好,写入配置文件,让 Claude 在未来的对话中记住这些经验。
举个例子:
- 你说"不要用 var,用 const",它记住
- 你说"测试文件放在
__tests__目录",它记住 - 你纠正"这个函数应该返回 Promise",它也记住
下次 Claude 写代码时,这些偏好会自动生效。不用每次重复。
安装
两条命令:
# 1. 添加 marketplace
claude plugin marketplace add bayramannakov/claude-reflect
# 2. 安装插件
claude plugin install claude-reflect@claude-reflect-marketplace
重启 Claude Code 即可。
系统要求:Python 3.6+,支持 macOS / Linux / Windows。
使用方法
日常使用:什么都不用做
插件通过 Hooks 自动运行。你正常和 Claude 对话,当你做出纠正或表达偏好时,插件会静默捕获并放入队列。
审核队列:/reflect
当你准备好审核时,运行:
/reflect
Claude 会列出所有捕获的学习项,你逐条确认:
- 接受:写入 CLAUDE.md
- 拒绝:丢弃
- 修改:编辑后写入
其他命令
命令
用途
/reflect --scan-history
扫描所有历史会话,找出遗漏的学习项
/reflect --dry-run
预览变更,不实际写入
/reflect --targets
显示配置文件路径
/reflect --dedupe
语义去重,合并相似条目
工作原理
架构概览
用户输入
↓
┌─────────────────────────────────────┐
│ Hook: UserPromptSubmit │
│ ├─ 正则匹配(实时捕获) │
│ └─ 放入 learnings-queue.json │
└─────────────────────────────────────┘
↓
┌─────────────────────────────────────┐
│ /reflect 命令 │
│ ├─ 语义分析(AI 验证) │
│ ├─ 过滤误报 │
│ └─ 人工审核确认 │
└─────────────────────────────────────┘
↓
写入 CLAUDE.md / AGENTS.md
两阶段处理
第一阶段:实时捕获(Hooks)
插件注册了三个 Hooks:
{
"hooks": [
{
"event": "UserPromptSubmit",
"command": "capture_learning.py"
},
{
"event": "PreCompact",
"command": "check_learnings.py"
},
{
"event": "PostToolUse",
"pattern": "Bash",
"command": "post_commit_reminder.py"
}
]
}
UserPromptSubmit:每次你发送消息时触发,检测纠正语句PreCompact:上下文压缩前提醒处理队列PostToolUse:Bash 命令后检查提交提醒
capture_learning.py 从标准输入读取 JSON 格式的 prompt,调用 detect_patterns() 进行正则匹配,匹配成功则写入队列。
第二阶段:语义验证(/reflect)
正则匹配快但粗糙,会产生误报。/reflect 触发 AI 语义分析:
def semantic_analyze(message):
result = subprocess.run(
["claude", "-p", "--output-format", "json"],
input=ANALYSIS_PROMPT + message,
capture_output=True
)
return parse_response(result.stdout)
AI 会判断:
- is_learning: 这是否是一个可学习的偏好?
- confidence: 置信度分数
- type: correction / positive / explicit
置信度低或类型不匹配的会被过滤。
检测模式
插件识别以下类型的表达:
类型
示例
纠正
"不要用 X,用 Y"、"应该是..."、"这样不对"
正向反馈
"对,就这样"、"完美"、"记住这个做法"
显式指令
"以后都..."、"记住:"、"总是..."
正则模式在 reflect_utils.py 的 CORRECTION_PATTERNS 中定义。
配置文件输出
学习项最终写入三个可能的位置:
文件
作用域
~/.claude/CLAUDE.md
全局偏好,所有项目生效
./CLAUDE.md
项目级规则,仅当前项目生效
AGENTS.md
跨工具兼容(Cursor、Aider、Zed 等)
目录结构
claude-reflect/
├── .claude-plugin/ # 插件清单,用于注册
├── hooks/
│ └── hooks.json # Hook 事件定义
├── scripts/
│ ├── capture_learning.py # 实时捕获脚本
│ ├── check_learnings.py # 压缩前检查
│ ├── post_commit_reminder.py # 提交后提醒
│ └── lib/
│ ├── semantic_detector.py # AI 语义分析
│ └── reflect_utils.py # 队列管理、模式匹配
└── commands/
└── reflect.md # /reflect 命令定义
为什么需要这个工具
Claude Code 的 CLAUDE.md 是一个强大的个性化机制。问题是:手动维护太麻烦。
你每天和 Claude 对话几十次,每次纠正都是一次学习机会。但谁会记得把"不要用分号"这种小事写进配置文件?
Claude Reflect 自动化了这个过程:
1. 捕获发生在对话中的自然纠正
2. 过滤掉噪音(问题、临时指令)
3. 让你审核后一键写入
本质上,它把 Claude Code 从"每次对话重新开始"变成了"持续学习的助手"。
适用场景
- 团队项目:统一编码规范,新人加入直接继承团队偏好
- 个人开发:积累个人代码风格,减少重复沟通
- 跨项目:全局偏好 + 项目特定规则分离管理
局限性
- 需要 Claude Code CLI:这是 Claude Code 的插件,不是 API 或 Web 版
- Python 依赖:Hook 脚本用 Python 写,需要 Python 3.6+
- 语义分析消耗 Token:每次
/reflect会调用 Claude 进行语义验证
总结
Claude Reflect 解决了一个真实痛点:让 Claude 记住你的偏好。
技术实现不复杂:Hook 捕获 + 正则初筛 + AI 精筛 + 人工确认。但设计上很聪明——两阶段处理平衡了实时性和准确性,人工审核保证了可控性。
如果你是 Claude Code 的重度用户,值得试试。