伊甸园飞轮
Claude Code的独立MCP服务器,可捕获您的编码会话作为本地模型的微调数据。
闭环:使用AI→ 捕捉→ 对…微调→ 部署→ 重复。
它做什么
与AI代理的每次对话都是一个潜在的训练示例。eden飞轮捕获这些交互,对其质量进行评分,消除重复,将其格式化为SFT训练数据,并触发微调运行——所有这些都是通过模型上下文协议完成的。
复制 You use Claude Code daily
│
▼
flywheel captures the session (manual or auto)
│
▼
Quality scoring: tool usage, error rate, turn depth
│
▼
Deduplication via SHA-256 fingerprinting
│
▼
Export as SFT training data (ChatML / Alpaca / ShareGPT / Raw)
│ │
▼ ▼
Generate synthetic data 10% held-out eval split
(Qwen 3.6 Plus via OpenRouter)
│
▼
Fine-tune via local MLX LoRA
│
▼
Evaluate on held-out eval set
│
▼
Promote & deploy to Ollama
│
▼
You use the BETTER model tomorrow
安装
添加到克劳德代码
添加到MCP配置(~/.claude/mcp.json 或同等):
复制 {
"mcpServers": {
"eden-flywheel": {
"command": "npx",
"args": ["-y", "eden-flywheel"],
"env": {
"FLYWHEEL_DB": "~/.config/eden-flywheel/flywheel.db",
"OPENROUTER_API_KEY": "your-key-here"
}
}
}
}
或在本地安装:
复制 git clone https://github.com/alex-rentel/eden-flywheel.git
cd eden-flywheel
npm install && npm run build
然后将MCP指向已构建的入口:
复制 {
"mcpServers": {
"eden-flywheel": {
"command": "node",
"args": ["/path/to/eden-flywheel/dist/index.js"]
}
}
}
用法:全循环
1.捕获会话
复制 flywheel_autocapture { enabled: true } // auto-capture all messages
flywheel_record_start {} // or manual recording
2.导出培训数据
复制 flywheel_export { evalSplit: true, outputPath: "/tmp/train.jsonl" }
// Writes train.jsonl + train.eval.jsonl (10% held-out)
3.生成合成数据(可选)
复制 flywheel_generate { count: 50, difficulty: "medium" }
// Uses Qwen 3.6 Plus (free on OpenRouter) to create more training examples
4.训练LoRA适配器
复制 flywheel_train {
baseModel: "mlx-community/Qwen2.5-Coder-3B-Instruct-4bit",
trainData: "/tmp/train.jsonl"
}
5.评估
复制 flywheel_eval {
baseModel: "mlx-community/Qwen2.5-Coder-3B-Instruct-4bit",
adapterPath: "~/.config/eden-flywheel/models/adapters/lora-...",
testData: "/tmp/train.eval.jsonl"
}
6.推广和部署
复制 flywheel_promote { adapterPath: "..." }
// GGUF adapters auto-deploy to Ollama
// MLX adapters use mlx-lm directly
MCP工具(14)
会话录制
工具
说明
flywheel_record_start
使用可选元数据开始录制会话
flywheel_record_stop
停止记录并计算质量分数
flywheel_list
列出所有记录的会话及其统计数据
自动捕获(克劳德代码)
工具
说明
flywheel_autocapture
启用/禁用自动会话捕获
flywheel_ingest
将原始消息摄入活动的自动捕获会话
flywheel_cost
估计会话的API成本
出口与质量
工具
说明
flywheel_export
将会话导出为训练JSONL,可选10%eval分割
flywheel_filter
按质量、工具使用情况、错误导出过滤后的数据
flywheel_status
显示捕获统计数据、质量分布、数据健康状况
合成数据
工具
说明
flywheel_generate
通过Qwen 3.6 Plus(免费OpenRouter)生成合成训练数据
flywheel_validate
使用Claude对合成数据质量进行评分
培训管道
工具
说明
flywheel_train
触发MLX LoRA微调
flywheel_eval
根据保留的测试数据评估适配器
flywheel_promote
将适配器部署到Ollama或活动插槽
MCP资源(4)
URI
描述
flywheel://status
当前捕获状态和统计数据
flywheel://sessions
所有录制的会话
flywheel://latest-export
最近的ChatML JSONL导出
flywheel://training-history
训练跑和主动适配器
支持的培训后端
后端
硬件
用例
当地MLX LoRA (mlx-lm)
Mac M1+
快速迭代,小型适配器
本地纳米帽 (mlx纳米帽)
Mac M1+
mlx全SFT
远程HPC (伊甸园模型+Slurm)
GPU集群
大规模微调
支持的部署目标
目标
注释
奥拉玛
通过模型文件自动部署GGUF适配器
mlx lm
使用MLX安全张量适配器进行直接推理
配置
配置文件位于 ~/.config/eden-flywheel/config.json:
复制 {
"logLevel": "info",
"dbPath": "~/.config/eden-flywheel/flywheel.db",
"autoCapture": true,
"defaultExportFormat": "chatml"
}
CLI标志
复制 eden-flywheel --verbose # Debug logging
eden-flywheel --quiet # Error-only logging
eden-flywheel --log-level warn # Specific log level
eden-flywheel --db-path /tmp/f.db # Custom database path
环境变量
变量
描述
OPENROUTER_API_KEY
需要 flywheel_generate (合成数据)
ANTHROPIC_API_KEY
需要 flywheel_validate (质量评分)
FLYWHEEL_DB
覆盖数据库路径
质量评分
根据以下因素,会话得分为0-1:
信号
重量
描述
工具调用存在
+0.15
使用工具的会话更有价值
存在错误
-0.15
错误严重的会话将受到惩罚
多回合(4+)
+0.10
更深入的对话是首选
成功的工具模式
每次+0.05
工具调用→ 结果→ 响应链
长度好
+0.05
不要太短,也不要太长
角色多样性(3+个角色)
+0.05
用户+助手+工具多样性
导出格式
聊天ML (默认):标准SFT格式,系统提示+工具调用为XML
羊驼 :用于简单微调的指令/输入/输出
分享GPT :多回合人工/gpt对话格式
原始 :保留所有角色,包括工具消息
相关项目
许可证
Apache 2.0