Skip to content

Latest commit

 

History

History
90 lines (61 loc) · 6.27 KB

File metadata and controls

90 lines (61 loc) · 6.27 KB

[OpenClaw 연재 4회] Gateway Server의 중추 신경망 구축

지난 연재 3회에서 우리는 OpenClaw의 튼튼한 [집터](폴더 구조)를 닦고, [출생 신고서](package.json)와 [설계도](tsconfig.json)를 준비했습니다. 이제 그 빈집에 전기를 넣고 배관을 연결하여 실제로 작동하는 **'생명력'**을 불어넣을 차례입니다.

가장 먼저 할 일은 메시지를 주고받는 Gateway Server의 심장을 만드는 것입니다. 하지만 본격적으로 망치를 들기 전에, 우리가 지난번 준비한 설계도가 실제 공사 현장에서 어떻게 작동하는지 짧게 복습하고 넘어가겠습니다.


1. 🧱 [복습과 연결] 설계도는 실제 '공사 현장'에서 어떻게 쓰일까요?

"설계도만 봐서는 건물이 어떻게 완성될지 상상이 안 돼요!" 하시는 분들을 위해, 우리가 준비한 인프라가 앞으로의 실무에서 어떤 역할을 하는지 **[30초 요약]**으로 살펴봅시다.

  • 패키지 관리 전략 (Package Management): pnpm-workspace.yaml
    • 비유: 거대한 조립식 가구 세트. apps/라는 완제품과 packages/라는 부품 상자를 하나로 묶어, 부품 하나만 고치면 완제품에도 즉시 반영되게 합니다.
  • 빌드 시스템 (Build Pipeline): tsdown.config.ts
    • 비유: 초고속 자동 번역기. 우리가 쓴 '인간의 언어(TypeScript)'를 서버가 이해하는 '기계의 언어(JavaScript)'로 순식간에 바꿔줍니다.
  • 품질 관리 (Code Quality): oxlint
    • 비유: 엄격한 안전 검사원. 코드를 저장할 때마다 "여기 나사가 헐거워요!"라고 즉시 알려주어 사고를 예방합니다.

2. ⏱️ [실습] 1분 순삭: "프로젝트 가동 준비" (Quick Start)

본격적인 코딩에 들어가기 전, 지난 시간 우리가 닦아둔 땅(openclaw-lab)에 부품들이 잘 도착했는지, 기계들이 잘 돌아가는지 마지막으로 점검해 봅시다.

  1. 실습 폴더 접속: 터미널에서 작업 공간으로 이동합니다.
    • 명령어 입력 -> cd ~/Workspace/openclaw-lab
  2. 부품(의존성) 최종 확인: 주문한 부품들이 빠짐없이 있는지 확인하고 다시 한번 설치합니다.
    • 명령어 입력 -> pnpm install
  3. 설계도(TypeScript) 가동 테스트: 설계도에 따라 번역기가 잘 작동하는지 테스트해 봅니다.
    • 명령어 입력 -> npx tsc
    • (아직 코드가 없어 오류가 나도 정상이니, 명령어 실행 여부만 확인하세요!)

[TIP] 왜 이 과정이 필요한가요? 건물을 짓기 전, 포크레인 시동이 잘 걸리는지 확인하는 것과 같습니다. 이 세 단계가 문제없이 통과된다면 여러분은 이제 진짜 '개발자'로서 코드를 칠 준비가 된 것입니다.


3. 🧐 [설계자의 의도] 왜 우리는 이런 '헌법'을 선택했을까요?

연재 3회에서 우리는 tsconfig.json의 각 항목이 무엇인지 배웠습니다. 이번 시간에는 한 걸음 더 들어가서, "수많은 옵션 중 왜 하필 이것들을 선택했는지" 프로젝트 설계자의 의도를 엿보겠습니다.

  • target은 "ES2022" 인가요?
    • [복습] : 번역기의 목표 언어 버전
    • [설계 의도] : 우리가 만드는 서버(Node.js 22)는 매우 똑똑합니다. 굳이 옛날 방식(ES5)으로 길게 풀어서 쓸 필요가 없습니다. 최신 문법을 그대로 써야 코드가 짧아지고 실행 속도는 더 빨라집니다.
  • module은 "NodeNext" 인가요?
    • [복습] : 최신 통신 규약 매뉴얼
    • [설계 의도] : OpenClaw는 Hono나 Baileys 같은 가장 앞서가는 라이브러리들을 씁니다. 이 친구들이 사용하는 '최신 대화 방식(ESM)'에 맞추지 않으면 아예 대화조차 불가능하기 때문입니다.
  • strict는 무조건 "true" 인가요?
    • [복습] : 절대로 타협하지 않는 깐깐한 감리사
    • [설계 의도] : 개발자가 가장 많이 하는 실수는 "나중에 고쳐야지" 하는 아주 작은 틈에서 시작됩니다. 감리가 처음부터 엄격하게 굴어야, 나중에 서비스가 갑자기 멈추는 대참사를 막을 수 있습니다.

4. 🚀 [요약] 1장: "환경 세팅" 퀵 마스터 리스트

지금까지 수행한 모든 단계를 한눈에 정리했습니다. 터미널을 열고 이 순서대로만 진행하셨다면, 여러분의 컴퓨터는 이제 강력한 통역 서버를 가동할 완벽한 준비를 마친 상태입니다.

[Step 1] 글로벌 인프라 구축 (전역 도구)

  • Node.js 설치 확인 (node -v)
  • TypeScript 글로벌 설치 (npm install -g typescript)
  • pnpm 글로벌 설치 (npm install -g pnpm)

[Step 2] 베이스캠프 지정 및 입주 (초기화)

  • 폴더 생성 및 이동 -> mkdir & cd
  • 프로젝트 시작 (pnpm init) -> package.json 생성

[Step 3] 자재 주문 (라이브러리 설치)

  • 핵심 런타임 설치 -> hono, baileys, better-sqlite3
  • 개발용 도구 설치 -> typescript, @types/node

[Step 4] 프로젝트 법전 작성 (TS 설정)

  • 설계도 파일 생성 -> npx tsc --init

🗺️ 앞으로 배워야 할 것 (Upcoming Journey)

기초 공사가 끝났으니, 이제 본격적으로 OpenClaw의 엔진과 팔다리를 조립할 차례입니다.

  1. 2장. Gateway Server의 중추 신경망: 서버가 데이터를 주고받는 구조를 먼저 체득하고, 실제 코드를 정밀하게 분석합니다.
  2. 3장. 외부 채널 연결 (WhatsApp): 원본 프로젝트 코딩 방식을 분석하여 동일한 기능을 직접 구현해 봅니다.
  3. 4장. AI 에이전트와 지능 부여: LLM(거대언어모델)을 탑재하여 똑똑하게 생각하는 '뇌'를 이식합니다.

💬 코치 코멘트(Sam LEE): "드디어 험난한 **[기초 공사]**를 무사히 마치셨습니다! 이제 여러분의 폴더에는 든든한 설계도가 놓여 있습니다. 2장부터는 이 설계도를 바탕으로 실제 서버의 '심장'을 하나씩 조립해 나갈 것입니다. 준비되셨나요? 가봅시다!"

#OpenClaw #오픈소스 #개발일기 #TypeScript #NodeJS #Tistory #초보개발자