LemonWrench — 자동차 수리 연구은(는) 무엇을 하나요?
"<차량>에서 X를 어떻게 교체하나요?"를 절차, 토크 표, 라벨이 지정된 그림으로 바꾼 다음, 부품 카탈로그 및 실제 현장 노트와 교차 확인하여 매뉴얼이 놓친 단계를 추적합니다.
기본 출처: https://lemon-manuals.la — 미국/캐나다 차량 약 10,000대, 69개 제조사, 1960–2025년, 무료, 로그인 불필요. 국산, 수입, 단종 브랜드(Pontiac, Oldsmobile, Saturn, Saab, AMC, Geo, Mercury, Suzuki), 유로 엑조틱, 트럭/상용, 현대 EV(Tesla 2012년 이후, Rivian 2022년 이후 포함)를 포괄합니다. 연식이 방대하여 최근 연식뿐만 아니라 Toyota와 Ford는 66년 연속 모델 연식을 보유하고 있습니다. 실제 HTML 텍스트(토크 표, 용량, 단계별 절차)이며, 그림은 /images25/에 있습니다. 스캔된 PDF가 아닙니다.
모델 연도당 두 개의 데이터베이스:
| DB | 출처 | 용도 |
|---|---|---|
| LEMON | 2025년 캡처 | 2010년 이상, 최신 TSB, 완전한 트리, 그림 캡션 |
| CHARM | 2013년 DVD | 1990년대–2000년대, 더 세부적인 내용, 깊이에서 잘린 트리 |
세 출처 규칙
매뉴얼만으로는 답이 아닙니다. 여기서 제공하는 모든 확실한 답변은 세 가지 출처에서 비롯됩니다:
- 매뉴얼 — 절차 및 토크 수치.
- 부품 카탈로그(gmpartscenter.net, gmpartsdirect.com, rockauto 등) — 부품 번호 및 구조적 증거: 두 개의 주물이 별도 부품이면 별도 부품입니다. 이것이 "이 브래킷이 커버의 일부인가요?"라는 질문에 사진만 보고 추측하지 않고 답하는 방법입니다.
- 현장 합의(모델 포럼, JustAnswer/identify 스레드, YouTube 대본) — 엔지니어가 직접 렌치를 돌려보지 않았기 때문에 매뉴얼이 생략한 단계. 단계가 매뉴얼 텍스트가 아닌 현장 합의일 때는 명확히 밝힙니다.
세 출처가 서로 다른 경우, 그 불일치를 보고하십시오. 절대 덮어쓰지 마십시오.
도구
S=scripts/lemon.py
python3 $S <명령어>
| 명령어 | 목적 |
|---|---|
makes | 표준 제조사 이름 |
years MAKE | 존재하는 모델 연도 |
cars MAKE YEAR [regex] | 해당 연도의 차량, [LEMON] / [CHARM] 태그 포함 |
index VEHICLE [--refresh] | 전체 링크 트리 가져오기 + 캐싱 (차량당 한 번) |
find VEHICLE TERM... [-n N] [--strict|--any] | 캐시된 트리에서 grep 검색 |
read VEHICLE TERM... [-k N] | N번째 결과 렌더링, 허브 하위 페이지 자동 팔로우 |
get URL | 절대 URL로 한 페이지 렌더링 |
sub URL | 허브 아래의 하위 페이지 |
imgs URL / pic URL / note URL TEXT / notes [URL] | 그림 파이프라인 + 영구 캐시 |
selftest | 파서 검사, 네트워크 불필요 |
VEHICLE은 사이트 경로에서 슬래시를 제거한 것입니다: Toyota/2015/Camry LE, Pontiac/2007/G6 V6-3.9L.
워크플로우
- 차량을 올바르게 확인하십시오.
cars MAKE YEAR는 모든 변형을 나열합니다. 엔진과 트림에 따라 매뉴얼이 다릅니다 —G6 GT, 4D Sedan, 3.9 1, Automatic은G6 GT, 4D Sedan, 3.5 N과 다른 책입니다. 사용한 변형을 명시하십시오. 배지가 거짓말을 할 수 있음에 유의하십시오: 동일한 네임플레이트가 여러 엔진과 함께 출시되었으므로 배기량을 확인하십시오. - 한 번 인덱싱하십시오. LEMON 단일 페이지 트리 ≈ 5.5 MB / 13k 링크, CHARM 분할 트리 ≈ 1.3 MB.
~/.cache/lemon/<hash>.idx에 캐시됩니다. 이후 쿼리는 로컬 grep입니다. 사이트가 매뉴얼을 추가할 때만--refresh를 사용하십시오. - 사이트 어휘로 검색하십시오 —
removal,installation,disassembly,torque specifications,fluid capacities,valve clearance,component locations,wiring diagram,DTC,labor times. 기본적으로 하나의 일치하지 않는 용어를 허용합니다. 정확한 일치를 위해서는--strict, 한 단어 찾기를 위해서는--any를 사용하십시오. - 읽고, 확장하십시오.
read는 결과를 출력한 다음 가장 좋은 페이지의 텍스트를 출력하고 하위 페이지를 팔로우합니다. CHARM 트리는 깊이가 제한되어 있습니다. 허브 페이지는sub <url>을 실행한 다음get <url>을 실행하기 전까지는 아무것도 나열하지 않는 경우가 많습니다. 2단계 확장은 정상이며 버그가 아닙니다. - 답변: 번호가 매겨진 단계, 인쇄된 대로의 토크, 페이지 URL, 각 주장에 대한 신뢰도 메모(
manual/catalog/field).
그림
read/get은 [FIGURE https://lemon-manuals.la/images25/XXXX/] 줄을 출력하며, 캐시된 설명이 있으면 추가로 표시합니다.
python3 $S pic https://lemon-manuals.la/images25/GM1557668/ # -> ~/.cache/lemon/img/GM1557668.png
# 보고 나서:
python3 $S note https://lemon-manuals.la/images25/GM1557668/ "오른쪽 로커 커버, 볼트 링, 코일 브래킷 위"
페이지 텍스트의 캡션(그림 1: 오른쪽 밸브 로커 암 커버 보기)은 그림의 실제 제목입니다. 이를 사용하십시오. 스캔이 읽기 어려운 경우에도 정확합니다. 1비트 선화는 전체 크기에서 잘 읽힙니다. 볼 가치가 있는 것: 분해도(텍스트가 생략한 토크 콜아웃 포함), 배선도, 커넥터 끝단 보기.
설명은 ~/.cache/lemon/imgnotes.json에 유지됩니다. 다이어그램을 한 번 설명하면 텍스트로 영구 저장됩니다.
매뉴얼 너머
- 구조적 질문("이것이 타이밍 커버의 일부인가요?") → 부품 카탈로그. 별도 부품 번호 + 별도 개스킷 = 별도 주물. 카탈로그 다이어그램은 또한 패스너가 어떤 하위 어셈블리에 속하는지 알려줍니다.
- 접근 질문("이 볼트를 막는 것은 무엇인가요?") → 현장 출처.
<연도> <모델> <엔진> "<부품>" 브래킷 볼트를 검색하고 포럼/JustAnswer 스레드를 읽으십시오. 딜러 기술자가 누락된 단계를 게시합니다. - 도구 필요 여부(
압입 풀리,Torx,스터드) → 분해 절차의 예비 단계에서 특수 도구(예:J 25034-C)를 명명합니다. - 식별할 수 없는 부품의 볼트 토크 → 구성 요소 이름별 토크 표, 그런 다음 부품 번호로 주물을 확인합니다. 동일한 엔진의 동일하게 보이는 브래킷은 종종 다른 사양을 가집니다 (예: 인접 부품에서 25 N·m 대 50 N·m).
답변 규칙
- 토크를 정확히 인용하고, 세 가지 단위를 모두 표시하십시오:
34 N*m (350 kgf*cm, 25 ft*lbf). - 낮은 토크의 패스너(밸브 커버, 플라스틱/복합 커버)를 명시적으로 언급하십시오. 알루미늄에 과도한 토크를 가하는 것은 반복적인 누출과 나사산이 빠지는 주요 원인입니다.
- 경로에
[09/2014 - ]는 개정 날짜입니다. 해당 페이지는 그때부터 적용됩니다. - LEMON 페이지는 종종 매뉴얼이 "다음 모델 변형과 동일하며, 노동 시간, 유체 및 타이어 장착을 제외할 수 있음"이라고 말합니다. 재검색 대신 재사용하십시오.
<차량>/Labor Times/는 탈거 및 교체 작업을 나열합니다. "다른 차량 변형에만 사용 가능"이라고 말하면 해당 변형을 사용하십시오.- 다루지 않습니까? 명확히 말하고 가장 가까운 다루는 연식을 명시하십시오. 절대 사양을 만들어내지 마십시오.
- 순서가 중요합니다. 사전 조건 체인(벨트 → 액세서리 → 브래킷 → 커버)을 커버 볼트만이 아니라 제공하십시오.
산출물
결과를 채팅 산문이 아닌 독립형 마크다운 노트로 작성하십시오:
- 머리말(
tags,vehicle,job,status,updated) - 상태 콜아웃 — 작업이 실제로 어디에 있는지
- 차단 질문에 대한 직접적인 답변, 먼저
- 측면/구성 요소별 번호가 매겨진 절차
- 건드린 모든 패스너를 포함하는 하나의 토크 표
- 캡션이 있는 그림 임베드
- 출처/신뢰도 표 — 주장, 출처, 확인됨 / 현장 합의
완전한 작업 예제는 examples/를 참조하십시오.
주의사항
- URL은 대소문자를 구분하며 제조사 철자는 사이트 철자를 따릅니다(
Dodge and Ram,Mercedes Benz).canon_make가 처리하지만 수동 curl은 처리하지 않습니다. - 모든 디렉토리 URL에서 후행 슬래시가 중요합니다.
/bundle/zip 다운로드는 비활성화되어 있습니다(303 →/static/sad.html).robots.txt도/bundle/을 금지합니다./hyperlink/...URL은 상호 참조 확인자이며 콘텐츠가 아닙니다.- 경로에는 버전 태그와
%2F로 인코딩된 슬래시가 포함되어 있습니다. 도구가 출력한 절대 URL만 가져오십시오. 디코딩된 경로를 다시 인용하면 404가 발생합니다. - "임시 서버에서 다시 백업 / 속도 저하 가능" 배너는 파서가 건너뜁니다. 120초 타임아웃을 허용하십시오.
- 기본 호스트가 다운된 경우 미러:
lemon-manuals.org.ua,lemon-manuals.gy,lemon.dogeware.me—LEMON_BASE=https://…로 재정의합니다. - Miniforge/pyenv Python은 종종 CA 번들을 제공하지 않습니다.
lemon.py는/etc/ssl/certs/ca-certificates.crt로 대체됩니다.
확인
python3 scripts/lemon.py selftest # 예상: selftest OK