Skill: openfindbearings/bearing-search (version 1.0.0)

--- name: bearing-search description: | 轴承型号和品牌搜索与解析工具。用于处理轴承相关的查询任务，包括： (1) 搜索特定轴承型号的信息（尺寸、规格、用途） (2) 搜索轴承品牌及其产品线 (3) 解析轴承型号编码规则（如 6204-2RS、NU208 等） (4) 轴承选型建议和应用场景匹配 当用户询问轴承型号、品牌、规格参数或选型问题时触发此 skill。 --- # 轴承搜索 Skill ## 功能概述 本 skill 提供轴承型号和品牌的搜索、解析和选型支持。 ## 核心能力 ### 1. 轴承型号搜索 根据型号查询轴承的详细规格： - 尺寸参数（内径、外径、宽度） - 轴承类型（深沟球、圆柱滚子、圆锥滚子等） - 密封形式（开式、ZZ、2RS 等） - 游隙等级、精度等级 ### 2. 轴承品牌搜索 查询轴承制造商信息： - 品牌产品线 - 主要应用领域 - 技术特点 ### 3. 型号解析 解析标准轴承型号的编码规则： - ISO 标准型号 - 主要品牌型号对照（SKF、NSK、FAG、NTN 等） - 后缀代码含义 ### 4. 轴承选型 根据应用场景推荐轴承： - 载荷类型（径向/轴向/复合） - 转速要求 - 环境条件（温度、腐蚀、污染） - 安装空间限制 ## 数据结构 轴承数据存储在以下位置： - `data/models/` - 轴承型号数据库 - `data/brands/` - 品牌信息数据库 详见 [references/data-structure.md](references/data-structure.md) ## 型号编码规则 详见 [references/model-codes.md](references/model-codes.md) - 基本型号结构 - 前缀/后缀含义 - 各品牌对照表 ## 品牌参考 详见 [references/brands.md](references/brands.md) - 国际主流品牌（SKF、NSK、FAG、NTN、TIMKEN 等） - 国内品牌（洛轴、瓦轴、万向等） - 各品牌特色产品线 ## 使用示例 ### 搜索型号 ``` 用户: "6204-2RS 是什么轴承？" → 解析为深沟球轴承，内径20mm，双面橡胶密封 → 返回尺寸、载荷、转速等参数 ``` ### 品牌查询 ``` 用户: "SKF 有哪些高速轴承系列？" → 查询 SKF 产品线 → 返回高速应用推荐系列 ``` ### 型号对照 ``` 用户: "SKF 6204 对应 NSK 什么型号？" → 型号对照表查询 → 返回 NSK 6204VV 或 6204DDU ``` ### 选型建议 ``` 用户: "电机主轴用什么轴承好？" → 分析应用场景（高速、径向载荷、低噪音） → 推荐深沟球轴承或角接触球轴承 → 给出具体型号范围 ```

path: scripts/search_model.py
content: #!/usr/bin/env python3
"""
轴承型号搜索脚本
用法: python search_model.py <型号>
示例: python search_model.py 6204
"""

import json
import sys
import os
from pathlib import Path


def get_data_dir():
    """获取数据目录路径"""
    # 如果在 skill 目录中运行，向上找到项目根目录
    script_dir = Path(__file__).resolve().parent
    skill_dir = script_dir.parent
    project_dir = skill_dir.parent.parent.parent
    return project_dir / "data"


def load_all_models():
    """加载所有型号数据"""
    data_dir = get_data_dir()
    models_dir = data_dir / "models"

    all_models = []
    if models_dir.exists():
        for json_file in models_dir.glob("*.json"):
            try:
                with open(json_file, 'r', encoding='utf-8') as f:
                    data = json.load(f)
                    if 'models' in data:
                        all_models.extend(data['models'])
            except Exception as e:
                print(f"Warning: Failed to load {json_file}: {e}")

    return all_models


def search_model(model_number):
    """搜索特定型号"""
    model_number = model_number.upper().strip()
    models = load_all_models()

    # 精确匹配
    for model in models:
        if model['model'] == model_number:
            return model

    # 基础型号匹配（去掉后缀）
    base_model = model_number.split('-')[0].split('.')[0]
    for model in models:
        if model['model'] == base_model:
            result = model.copy()
            result['queried_model'] = model_number
            result['base_model'] = base_model
            return result

    return None


def parse_model_number(model_number):
    """解析型号编码"""
    model = model_number.upper().strip()

    # 基本型号提取
    parts = {
        'original': model,
        'base': '',
        'suffixes': []
    }

    # 分离后缀
    if '-' in model:
        base, *suffixes = model.split('-')
        parts['base'] = base
        parts['suffixes'] = suffixes
    else:
        parts['base'] = model

    # 解析基础型号（针对深沟球轴承）
    base = parts['base']
    if len(base) >= 4 and base[0] in ['6', '7', '3']:
        parts['bearing_type'] = base[0]
        parts['diameter_series'] = base[1]
        parts['bore_code'] = base[2:4]

        # 计算内径
        bore_code = base[2:4]
        if bore_code == '00':
            parts['inner_diameter'] = 10
        elif bore_code == '01':
            parts['inner_diameter'] = 12
        elif bore_code == '02':
            parts['inner_diameter'] = 15
        elif bore_code == '03':
            parts['inner_diameter'] = 17
        else:
            try:
                parts['inner_diameter'] = int(bore_code) * 5
            except ValueError:
                parts['inner_diameter'] = None

    return parts


def format_model_info(model):
    """格式化输出型号信息"""
    if not model:
        return "未找到该型号信息"

    lines = []
    lines.append(f"\n{'='*50}")
    lines.append(f"轴承型号: {model.get('model', 'N/A')}")
    if 'queried_model' in model:
        lines.append(f"查询型号: {model['queried_model']}")
    lines.append(f"类型: {model.get('type_name', model.get('type', 'N/A'))}")
    lines.append(f"{'='*50}\n")

    # 尺寸
    dims = model.get('dimensions', {})
    lines.append("【尺寸参数】")
    lines.append(f"  内径 (d): {dims.get('d', 'N/A')} mm")
    lines.append(f"  外径 (D): {dims.get('D', 'N/A')} mm")
    lines.append(f"  宽度 (B): {dims.get('B', 'N/A')} mm")
    lines.append("")

    # 载荷
    loads = model.get('load_ratings', {})
    lines.append("【载荷能力】")
    lines.append(f"  基本额定动载荷 (C): {loads.get('C', 'N/A')} N")
    lines.append(f"  基本额定静载荷 (C0): {loads.get('C0', 'N/A')} N")
    lines.append("")

    # 转速
    speeds = model.get('speed_limits', {})
    lines.append("【极限转速】")
    lines.append(f"  脂润滑: {speeds.get('grease', 'N/A')} rpm")
    lines.append(f"  油润滑: {speeds.get('oil', 'N/A')} rpm")
    lines.append("")

    # 其他
    lines.append("【其他参数】")
    if 'weight' in model:
        lines.append(f"  重量: {model['weight']} kg")

    # 品牌对照
    cross = model.get('cross_reference', {})
    if cross:
        lines.append("")
        lines.append("【品牌型号对照】")
        for brand, model_num in cross.items():
            lines.append(f"  {brand}: {model_num}")

    lines.append(f"\n{'='*50}\n")
    return '\n'.join(lines)


def main():
    if len(sys.argv) < 2:
        print("用法: python search_model.py <型号>")
        print("示例: python search_model.py 6204")
        print("      python search_model.py 6204-2RS")
        sys.exit(1)

    model_number = sys.argv[1]

    # 解析型号
    print(f"\n正在搜索: {model_number}")
    parsed = parse_model_number(model_number)
    print(f"基础型号: {parsed['base']}")

    # 搜索
    result = search_model(model_number)
    print(format_model_info(result))


if __name__ == "__main__":
    main()


path: references/brands.md
content: # 轴承品牌参考

## 国际一线品牌

### SKF（斯凯孚）
- **国家**：瑞典
- **成立**：1907年
- **特点**：全球最大轴承制造商，技术领先，品质卓越
- **优势产品**：高速精密轴承、轴承单元、润滑系统
- **型号特点**：后缀系统最完善，如 2RS1（密封）、ECP（玻璃纤维保持架）
- **主要应用**：风电、铁路、机床、汽车

### NSK（恩斯克）
- **国家**：日本
- **成立**：1916年
- **特点**：精密加工技术领先，低噪音、高可靠性
- **优势产品**：滚珠丝杠、线性导轨、汽车轴承
- **型号特点**：DDU（接触式密封）、VV（非接触式密封）
- **主要应用**：汽车、机床、半导体设备

### FAG（舍弗勒）
- **国家**：德国
- **成立**：1883年
- **特点**：精密机械领域专家，高端工业轴承
- **优势产品**：主轴轴承、大型回转支承、滑动轴承
- **型号特点**：-E（加强型）、-TVP2（尼龙保持架）
- **主要应用**：机床、航空、钢铁、风电

### NTN（恩梯恩）
- **国家**：日本
- **成立**：1918年
- **特点**：品种齐全，综合性强
- **优势产品**：轮毂轴承、等速万向节、大型轴承
- **型号特点**：LLU（接触式密封）、ZZ（防尘盖）
- **主要应用**：汽车、工程机械、铁路

### TIMKEN（铁姆肯）
- **国家**：美国
- **成立**：1899年
- **特点**：圆锥滚子轴承鼻祖，耐重载
- **优势产品**：圆锥滚子轴承、合金钢、齿轮传动
- **型号特点**：型号体系不同（如 30208），PP（密封）
- **主要应用**：冶金、采矿、重工、风电

## 国际二线品牌

### KOYO（光洋）
- **国家**：日本
- **特点**：性价比高，汽车轴承强
- **母公司**：捷太格特（JTEKT）

### NACHI（不二越）
- **国家**：日本
- **特点**：综合机械制造商，工具+轴承
- **优势**：液压机器人、钻头工具

### INA（依纳）
- **国家**：德国
- **特点**：滚针轴承专家
- **母公司**：舍弗勒集团

### IKO（艾克欧）
- **国家**：日本
- **特点**：滚针轴承、线性运动产品

### THK
- **国家**：日本
- **特点**：线性导轨和滚珠丝杠先驱

## 中国主要品牌

### ZWZ（瓦轴 - 瓦房店轴承）
- **地区**：辽宁大连瓦房店
- **特点**：中国最大轴承企业，品种最全
- **优势产品**：冶金轴承、铁路轴承、风电轴承
- **地位**：中国轴承工业摇篮

### LYC（洛轴 - 洛阳轴承）
- **地区**：河南洛阳
- **特点**：特大型轴承专家
- **优势产品**：转盘轴承、轧机轴承、军工轴承
- **地位**："一五"期间156项重点工程之一

### C&U（人本轴承）
- **地区**：浙江温州/湖州
- **特点**：民营轴承龙头，汽车轴承强
- **优势产品**：汽车轮毂轴承、电机轴承

### WBJF（万向钱潮）
- **地区**：浙江杭州
- **特点**：汽车零部件综合供应商
- **母公司**：万向集团

### XCC（五洲新春）
- **地区**：浙江新昌
- **特点**：轴承套圈起家，产业链完整

### TMB（天马轴承）
- **地区**：浙江杭州
- **特点**：风电轴承、机床轴承

### ZYS（轴研科技）
- **地区**：河南洛阳
- **特点**：精密轴承、电主轴
- **背景**：原机械工业部第十研究所

## 其他知名品牌

### 欧洲
- **SNR**（法国）：汽车轴承，被NTN收购
- **NKE**（奥地利）：专业轴承制造商
- **ZKL**（捷克）：东欧老牌轴承厂

### 美国
- **MCGILL**：凸轮从动件、滚针轴承
- **SEALMASTER**：轴承座单元
- **BARDEN**：超精密轴承（被舍弗勒收购）

### 亚洲
- **HRB**（哈轴 - 中国哈尔滨）：老牌国企
- **TWB**（中国江苏）：被舍弗勒收购
- **FBJ**（日本）：东南亚市场占有率较高
- **KBC**（韩国）：韩国最大轴承企业

## 品牌选择参考

| 应用场景 | 推荐品牌 |
|---------|---------|
| 高精度机床主轴 | SKF、FAG、NSK |
| 风电设备 | SKF、FAG、TIMKEN、ZWZ |
| 汽车OEM | NSK、NTN、KOYO、C&U |
| 铁路车辆 | SKF、TIMKEN、ZWZ |
| 航空/航天 | FAG、SKF、ZYS |
| 半导体设备 | NSK、SKF |
| 工程机械 | TIMKEN、NTN、ZWZ |
| 性价比优先 | ZWZ、LYC、KOYO、NACHI |
| 维修替换 | 根据原厂品牌选择 |


path: references/data-structure.md
content: # 轴承数据结构

## 目录结构

```
data/
├── models/              # 轴承型号数据
│   ├── deep_groove.json     # 深沟球轴承
│   ├── cylindrical.json     # 圆柱滚子轴承
│   ├── tapered.json         # 圆锥滚子轴承
│   ├── angular_contact.json # 角接触球轴承
│   ├── spherical.json       # 调心滚子轴承
│   ├── needle.json          # 滚针轴承
│   └── thrust.json          # 推力轴承
│
└── brands/              # 品牌信息
    ├── skf.json
    ├── nsk.json
    ├── fag.json
    ├── ntn.json
    ├── timken.json
    ├── nbc.json
    └── zwz.json
```

## 轴承型号数据格式

```json
{
  "model": "6204-2RS",
  "type": "deep_groove_ball",
  "type_name": "深沟球轴承",
  "dimensions": {
    "d": 20,      // 内径 (mm)
    "D": 47,      // 外径 (mm)
    "B": 14       // 宽度 (mm)
  },
  "load_ratings": {
    "C": 12700,   // 基本额定动载荷 (N)
    "C0": 6600    // 基本额定静载荷 (N)
  },
  "speed_limits": {
    "grease": 15000,  // 脂润滑极限转速 (rpm)
    "oil": 18000      // 油润滑极限转速 (rpm)
  },
  "weight": 0.106,      // 重量 (kg)
  "seal": "2RS",        // 密封形式
  "cage": "钢冲压",      // 保持架材质
  "clearance": "CN",    // 游隙等级
  "precision": "P0",    // 精度等级
  "cross_reference": {
    "SKF": "6204-2RS1",
    "NSK": "6204DDU",
    "FAG": "6204.2RSR",
    "NTN": "6204LLU"
  },
  "applications": ["电机", "泵", "齿轮箱", "家用电器"],
  "features": ["双面密封", "防尘防水", "免维护"]
}
```

## 品牌数据格式

```json
{
  "name": "SKF",
  "full_name": "Svenska Kullagerfabriken",
  "country": "瑞典",
  "founded": 1907,
  "website": "https://www.skf.com",
  "description": "全球领先的轴承制造商，以高品质和创新技术著称",
  "product_lines": [
    {
      "series": "6000",
      "name": "深沟球轴承",
      "features": ["通用型", "高速", "低噪音"],
      "applications": ["电机", "泵", "齿轮箱"]
    },
    {
      "series": "7200",
      "name": "角接触球轴承",
      "features": ["高刚性", "高速", "承受联合载荷"],
      "applications": ["机床主轴", "涡轮增压器"]
    }
  ],
  "specialties": ["高速轴承", "精密轴承", "轴承单元"],
  "model_prefix": {
    "basic": "",
    "explorers": "E",
    "energy_efficient": "E2"
  }
}
```

## 型号对照表格式

```json
{
  "standard_model": "6204",
  "brand_models": {
    "SKF": "6204",
    "NSK": "6204",
    "FAG": "6204",
    "NTN": "6204",
    "KOYO": "6204",
    "NACHI": "6204",
    "TIMKEN": "204",
    "ZWZ": "6204",
    "LYC": "6204"
  },
  "suffix_mapping": {
    "2RS": {
      "SKF": "2RS1",
      "NSK": "DDU",
      "FAG": "2RSR",
      "NTN": "LLU",
      "KOYO": "2RS"
    },
    "ZZ": {
      "SKF": "2Z",
      "NSK": "ZZ",
      "FAG": "2ZR",
      "NTN": "ZZ",
      "KOYO": "ZZ"
    }
  }
}
```


path: references/model-codes.md
content: # 轴承型号编码规则

## 基本型号结构

轴承型号通常由以下部分组成：
```
[前缀] + 基本型号 + [后缀]
```

例如：`NU 208 ECP` = 前缀 `NU` + 基本型号 `208` + 后缀 `ECP`

## 深沟球轴承型号（最常见）

### 基本型号规则

| 型号 | 内径计算 | 实际内径 |
|------|---------|---------|
| 6000 | - | 10mm |
| 6200 | - | 10mm |
| 6300 | - | 10mm |
| 6001 | 01 × 5 = 5 | 12mm (特殊) |
| 6204 | 04 × 5 = 20 | 20mm |
| 6210 | 10 × 5 = 50 | 50mm |
| 6230 | 30 × 5 = 150 | 150mm |
| 62/500 | - | 500mm (直接表示) |

**规律**：
- 00 → 10mm
- 01 → 12mm  
- 02 → 15mm
- 03 → 17mm
- 04+ → 数字 × 5 = 内径(mm)

### 直径系列代号（第二位数字）

| 代号 | 系列 | 特点 |
|------|------|------|
| 0 | 特轻系列 | 外径最小，载荷能力较低 |
| 1 | 特轻系列 | - |
| 2 | 轻系列 | 常用，平衡载荷和空间 |
| 3 | 中系列 | 较高载荷能力 |
| 4 | 重系列 | 高载荷，大外径 |

### 宽度系列代号（第一位数字，常为0时省略）

| 代号 | 宽度系列 |
|------|---------|
| 0 | 窄系列（常省略）|
| 1 | 正常系列 |
| 2 | 宽系列 |
| 3 | 特宽系列 |

## 常见前缀含义

| 前缀 | 含义 | 示例 |
|------|------|------|
| N | 外圈无挡边圆柱滚子轴承 | NU208 |
| NU | 内圈无挡边圆柱滚子轴承 | NU208 |
| NJ | 内圈单挡边圆柱滚子轴承 | NJ208 |
| NA | 滚针轴承（带内圈） | NA4901 |
| RNA | 滚针轴承（不带内圈） | RNA4901 |
| HK | 冲压外圈滚针轴承 | HK1512 |
| BK | 冲压外圈滚针轴承（带密封） | BK1512 |
| 232 | 调心滚子轴承（直径系列3，宽度系列2） | 23218 |
| 223 | 调心滚子轴承（直径系列2，宽度系列3） | 22318 |

## 常见后缀含义

### 密封与防尘

| 后缀 | 含义 | 各品牌对照 |
|------|------|-----------|
| - | 开式（无密封）| - |
| Z / ZZ | 单面/双面防尘盖 | SKF: Z/2Z, NSK: Z/ZZ |
| RS / 2RS | 单面/双面橡胶密封 | SKF: RS1/2RS1, NSK: VV/DDU |
| RZ / 2RZ | 单面/双面非接触式密封 | - |
| N | 外圈带止动槽 | - |
| NR | 外圈带止动槽和止动环 | - |

### 游隙等级

| 后缀 | 游隙 |
|------|------|
| C1 | 小于 C2 |
| C2 | 小游隙 |
| CN | 正常游隙（常省略）|
| C3 | 大游隙 |
| C4 | 更大游隙 |
| C5 | 最大游隙 |

### 精度等级

| 后缀 | 精度 | 说明 |
|------|------|------|
| P0 | 普通级 | 常省略 |
| P6 | 6级 | 高于P0 |
| P5 | 5级 | 高精度 |
| P4 | 4级 | 精密级 |
| P2 | 2级 | 超精密级 |

### 保持架

| 后缀 | 含义 |
|------|------|
| M | 黄铜实体保持架 |
| TN / TN9 | 玻璃纤维增强尼龙保持架 |
| J | 钢板冲压保持架 |
| F1 | 碳钢实体保持架 |

### 其他常见后缀

| 后缀 | 含义 |
|------|------|
| C | 内部设计优化 |
| E | 加强型（Enhanced）|
| K | 锥形内孔（1:12） |
| K30 | 锥形内孔（1:30） |
| W | 不锈钢材质 |

## 各品牌型号对照示例

### 6204-2RS 各品牌型号

| 品牌 | 型号 |
|------|------|
| SKF | 6204-2RS1 或 6204-2RSH |
| NSK | 6204DDU 或 6204VV |
| FAG | 6204.2RSR |
| NTN | 6204LLU |
| KOYO | 6204 2RS |
| NACHI | 6204-2NSE |
| TIMKEN | 204PP |
| ZWZ（瓦轴）| 6204-2RS |
| LYC（洛轴）| 6204-2RS |

### NU208 各品牌型号

| 品牌 | 型号 |
|------|------|
| SKF | NU 208 ECP |
| NSK | NU208EW |
| FAG | NU208-E-TVP2 |
| NTN | NU208 |
| KOYO | NU208R |


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)