오픈클로설치 윈도우 WSL2 및 텔레그램 연동하는 방법

솔직히 말하면, 나도 처음에는 오픈클로가 뭔지 정확히 몰랐다. 트위터에서 “AI가 내 대신 이메일 정리하고, 일정 잡고, 코드까지 돌린다”는 글을 봤을 때 반신반의했다. 그런데 실제로 깔아보니까 진짜였다. 텔레그램으로 “내일 오전 10시 미팅 잡아줘”라고 보내면 캘린더에 알아서 등록되고, “어제 온 메일 중에 급한 거 정리해줘”라고 하면 요약본이 날아온다. 이건 챗봇이 아니라 진짜 비서다.

그런데 문제가 하나 있다. 맥 유저라면 설치가 비교적 간단하지만, 윈도우 사용자는 좀 다르다. 오픈클로는 기본적으로 리눅스 기반 도구라서 윈도우에서 네이티브로 돌리면 온갖 호환성 문제가 터진다. 공식 문서에서도 대놓고 “윈도우 네이티브는 테스트되지 않았고 문제가 많다”고 경고하고 있다. 그래서 WSL2가 필수다.

이 글에서는 윈도우 PC에서 WSL2를 활용해 오픈클로를 설치하고, 텔레그램과 연동해서 실제로 AI 비서를 운영하는 방법까지 전부 다룬다. 중간중간 설치 과정에서 만나게 되는 함정들도 같이 정리했다. 그냥 명령어 나열이 아니라, 왜 이렇게 해야 하는지까지 설명할 테니 끝까지 읽어보면 좋겠다.

오픈클로가 뭔데 이렇게 난리인가

오픈클로(OpenClaw)는 오스트리아 개발자 피터 스타인버거가 만든 오픈소스 AI 에이전트 플랫폼이다. 원래 이름이 ClawdBot이었는데, Anthropic 측에서 상표권 문제를 제기해서 MoltBot으로 바꿨다가, 최종적으로 OpenClaw로 정착했다. 2025년 11월에 처음 공개됐고, 2026년 1월 말부터 폭발적으로 성장했다. 깃허브 스타가 현재 19만 개를 넘었고, 포크는 3만 4천 개에 달한다.

이게 단순한 챗봇이 아닌 이유가 있다. 오픈클로는 사용자의 기기에서 직접 실행되면서, 왓츠앱이나 텔레그램 같은 메신저를 통해 명령을 주고받는 구조다. 이메일 읽기, 캘린더 관리, 파일 조작, 웹 브라우징, 심지어 코드 실행까지 가능하다. 말 그대로 “실제로 뭔가를 해주는 AI”다.

2026년 2월 15일에는 OpenAI가 피터 스타인버거를 영입하면서 업계에 큰 충격을 줬다. 샘 알트먼은 그를 “천재”라고 표현했고, 오픈클로는 독립 재단으로 전환되어 오픈소스를 유지하기로 했다. Meta의 마크 저커버그도 직접 왓츠앱으로 인수 제안을 했다고 하니, 이 프로젝트에 얼마나 많은 관심이 쏠리고 있는지 짐작할 수 있다.

한 가지 분명히 해둘 점이 있다. 오픈클로는 아직 베타 단계고, 보안 이슈도 적지 않다. Kaspersky에서는 512개 취약점을 발견했고, 그 중 8개는 심각 수준이었다. Cisco 보안팀은 프롬프트 인젝션 공격에 취약하다는 점을 지적했다. 그래서 보안에 대한 기본 이해가 없으면 함부로 민감한 계정을 연결하지 않는 편이 좋다. 이 부분은 뒤에서 다시 다루겠다.

왜 윈도우에서는 반드시 WSL2를 써야 하나

오픈클로 공식 문서를 열어보면 윈도우 섹션에서 첫 줄부터 이렇게 적혀 있다. “네이티브 윈도우는 까다롭다. WSL2를 쓰면 완전한 리눅스 경험을 제공한다.” 이건 그냥 권장이 아니라 사실상 필수다.

이유는 간단하다. 오픈클로는 Node.js 생태계 위에서 돌아가는데, 리눅스 바이너리와 systemd 서비스 관리, pnpm 패키지 매니저 등이 필요하다. 윈도우 네이티브 환경에서는 이런 도구들이 제대로 작동하지 않거나, PATH 충돌 같은 예상치 못한 문제가 발생한다. 실제로 윈도우에 설치된 Node.js와 WSL 내부의 Node.js가 뒤엉키면서 npm이 엉뚱한 경로를 참조하는 경우가 빈번하다.

WSL2는 윈도우 안에서 완전한 리눅스 가상 환경을 제공한다. 가상 머신처럼 무겁지 않으면서도, 리눅스의 모든 기능을 그대로 쓸 수 있다. 오픈클로 입장에서는 맥이나 리눅스에서 실행하는 것과 동일한 환경이 되는 셈이다. WSL2 위에 Ubuntu를 올리고, 그 안에서 오픈클로를 설치하면 호환성 문제가 사실상 사라진다.

한 가지 더 중요한 팁이 있다. WSL2는 기본적으로 시스템 RAM의 최대 80%까지 잡아먹을 수 있다. 8GB RAM 노트북에서 돌리면 윈도우 자체가 버벅거릴 수 있다는 뜻이다. 그래서 .wslconfig 파일로 메모리 제한을 걸어두는 게 좋다. 이 설정은 아래 설치 과정에서 같이 다루겠다.

아래는 4계층 아키텍처 분석글이다. 참고하시길

OpenClaw 4계층 아키텍처 분석 – LLM Agent 구조와 실행 흐름

WSL2 설치와 Ubuntu 환경 구성

자, 이제 본격적으로 들어간다. 먼저 윈도우에서 PowerShell을 관리자 권한으로 열어야 한다. 시작 메뉴에서 PowerShell을 검색한 뒤, 오른쪽 클릭해서 “관리자 권한으로 실행”을 선택하면 된다.

설치 명령은 딱 한 줄이다.

wsl –install

이 명령을 실행하면 기본적으로 Ubuntu 24.04가 설치된다. 특정 버전을 지정하고 싶다면 wsl –install -d Ubuntu-24.04처럼 입력하면 된다. 설치가 끝나면 윈도우가 재부팅을 요청할 수 있는데, 반드시 재부팅해야 한다. 건너뛰면 WSL이 제대로 초기화되지 않는다.

재부팅 후 시작 메뉴에서 “Ubuntu”를 실행하면 처음 한 번 사용자 이름과 비밀번호를 설정하라는 화면이 나온다. 이건 WSL 내부 리눅스의 계정이니까 윈도우 계정과 달라도 된다. 다만 비밀번호는 꼭 기억해두자. sudo 명령을 쓸 때마다 필요하다.

설치가 제대로 됐는지 확인하려면 PowerShell에서 이렇게 입력한다.

wsl –list –verbose

여기서 VERSION이 2로 표시되어야 한다. 만약 1로 나오면 wsl –set-version Ubuntu 2 명령으로 업그레이드할 수 있다.

다음으로 systemd를 활성화해야 한다. 오픈클로의 게이트웨이 서비스가 systemd로 관리되기 때문이다. Ubuntu 터미널에서 다음 명령을 실행한다.

sudo tee /etc/wsl.conf >/dev/null <<‘EOF’ [boot] systemd=true EOF

그리고 PowerShell로 돌아와서 wsl –shutdown을 실행한 뒤, 다시 Ubuntu를 열면 systemd가 활성화된다. systemctl –user status 명령으로 정상 작동 여부를 확인할 수 있다.

마지막으로 메모리 제한 설정이다. 윈도우의 사용자 폴더(보통 C:\Users\내이름)에 .wslconfig 파일을 만들고 다음 내용을 넣는다.

[wsl2] memory=4GB processors=2

이렇게 하면 WSL2가 RAM 4GB, CPU 코어 2개만 사용하게 된다. 본인 PC 사양에 따라 조정하면 된다. 16GB 이상이면 6GB 정도 할당해도 무리가 없다.

Node.js 설치와 오픈클로 셋업

WSL2 Ubuntu 환경이 준비됐으면, 이제 오픈클로 설치에 필요한 도구들을 깐다. 가장 중요한 건 Node.js 22 이상 버전이다. 오픈클로는 최신 Node.js 기능에 의존하기 때문에 18이나 20 버전으로는 제대로 돌아가지 않는다.

Ubuntu 터미널에서 순서대로 실행한다.

sudo apt update && sudo apt upgrade -y

curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash –

sudo apt install -y nodejs git build-essential

node –version

마지막 명령에서 v22.x.x가 출력되면 성공이다. 만약 이미 낮은 버전의 Node.js가 설치되어 있다면, nvm(Node Version Manager)을 써서 버전을 관리하는 게 더 깔끔하다.

여기서 아주 중요한 주의사항이 하나 있다. 윈도우에도 Node.js가 설치되어 있다면, WSL 안에서 node 명령을 실행할 때 윈도우 경로가 먼저 잡혀서 엉뚱한 버전이 실행될 수 있다. 이걸 방지하려면 WSL에서 윈도우 PATH가 주입되지 않도록 설정하는 것이 좋다. 아까 만든 wsl.conf 파일에 다음 내용을 추가한다.

[interop] appendWindowsPath=false

이 설정을 적용한 뒤 wsl –shutdown으로 재시작하면, WSL 내부에서는 리눅스 환경의 Node.js만 참조하게 된다. 이 한 줄 때문에 디버깅에 한 시간을 날리는 사람이 의외로 많다.

이제 오픈클로를 설치한다.

npm install -g openclaw@latest

설치가 완료되면 온보딩 위자드를 실행한다.

openclaw onboard –install-daemon

이 명령을 실행하면 터미널에 오픈클로의 랍스터 로고가 뜨면서 보안 경고 화면이 나온다. 오픈클로는 파일을 읽고 쓰고, 명령을 실행하고, 네트워크에 접근할 수 있는 강력한 도구라서 보안 위험이 있다는 내용이다. 꼭 읽어보고 이해한 뒤에 진행해야 한다.

온보딩 과정에서 몇 가지 선택지가 나온다. AI 모델 선택에서는 Anthropic, OpenAI, Google, DeepSeek 등 다양한 제공자를 고를 수 있다. 현재 시점에서 가장 추천하는 조합은 Anthropic의 Claude Opus 4.5다. 프롬프트 인젝션 저항력이 가장 높고, 긴 문맥 처리 능력도 뛰어나다. 비용이 부담된다면 Claude Haiku 4.5를 선택해도 기본적인 작업은 충분히 수행 가능하다.

모델을 선택하면 해당 제공자의 API 키를 입력하라는 화면이 나온다. Anthropic을 선택했다면 console.anthropic.com에서 API 키를 발급받아 붙여넣으면 된다. 이 키는 ~/.openclaw/openclaw.json 파일에 저장되니까, 절대 외부에 노출하지 않도록 주의하자.

 

오픈클로(OpenClaw) – 챗봇을 넘어 행동하는 AI 에이전트 – 오픈클로의 탄생 배경 및 핵심 특징과 장점

 

게이트웨이 구동과 대시보드 확인

온보딩이 끝나면 –install-daemon 옵션 덕분에 게이트웨이가 백그라운드 서비스로 자동 등록된다. 제대로 돌아가고 있는지 확인하려면 다음 명령들을 실행해본다.

openclaw doctor

openclaw status

openclaw doctor는 시스템 환경과 설정을 점검하는 진단 도구다. 빨간색 경고가 없으면 정상이다. openclaw status는 게이트웨이의 현재 상태를 보여준다.

웹 대시보드에 접속하려면 openclaw dashboard 명령을 실행하면 된다. 브라우저에서 http://localhost:18789 또는 http://127.0.0.1:18789로 접속할 수 있다. 처음 접속하면 토큰 인증이 필요한데, 터미널에 출력된 토큰이 포함된 URL을 그대로 복사해서 브라우저에 붙여넣으면 된다.

대시보드의 Chat 탭에서 직접 메시지를 보내 AI가 응답하는지 테스트해볼 수 있다. “안녕, 넌 누구야?”라고 보내서 정상 답변이 오면 모델 연동까지 완료된 것이다.

혹시 게이트웨이가 시작되지 않는다면, 수동으로 실행해볼 수 있다.

openclaw gateway –port 18789 –verbose

–verbose 옵션을 붙이면 상세 로그가 출력되어 어디서 문제가 생겼는지 파악하기 쉽다. 포트 18789가 이미 사용 중이라는 에러가 뜨면, 해당 포트를 점유하고 있는 프로세스를 찾아서 종료해야 한다.

lsof -i :18789

여기서 나오는 PID를 확인한 뒤 kill -9 PID로 종료하면 된다.

텔레그램 봇 생성과 토큰 발급

여기까지 했으면 오픈클로는 이미 로컬에서 돌아가고 있다. 이제 텔레그램을 연결해서, 스마트폰에서 언제 어디서든 AI 비서에게 명령을 보낼 수 있게 만들어보자.

텔레그램이 오픈클로와 특히 잘 맞는 이유가 있다. 텔레그램은 공식 Bot API를 제공하기 때문에 연동이 안정적이고, 그룹 채팅에서도 봇을 활용할 수 있다. 왓츠앱도 지원하지만, 왓츠앱은 비공식 프로토콜 기반이라 불안정할 수 있다.

먼저 텔레그램에서 봇을 만들어야 한다. 텔레그램 앱을 열고 검색창에 @BotFather를 입력한다. 파란색 체크 표시가 있는 공식 계정인지 반드시 확인하자. BotFather에게 /newbot 명령을 보내면 봇 이름과 사용자명을 설정하라는 안내가 나온다.

봇 이름은 자유롭게 지으면 되고, 사용자명은 반드시 “bot”으로 끝나야 한다. 예를 들어 MyAIAssistantBot 같은 식이다. 이미 사용 중인 이름이면 다른 걸 시도하라는 메시지가 뜬다.

봇 생성이 완료되면 BotFather가 API 토큰을 발급해준다. 123456789:ABCdefGHIjklMNOpqrsTUVwxyz 같은 형태의 긴 문자열이다. 이 토큰은 봇에 대한 전체 제어 권한을 가지고 있으니 비밀번호처럼 취급해야 한다. 절대로 깃허브 같은 공개 저장소에 올리거나, 블로그에 그대로 적어두면 안 된다.

토큰을 분실했다면 BotFather에서 /mybots를 선택한 뒤 해당 봇을 골라 API Token을 재발급받을 수 있다. 다만 재발급하면 기존 토큰은 즉시 무효화된다.

오픈클로에 텔레그램 채널 연결하기

토큰을 받았으면 이제 오픈클로 설정에 연결할 차례다. 오픈클로의 설정 파일은 ~/.openclaw/openclaw.json에 있다. 이 파일을 열어서 channels 섹션에 텔레그램 설정을 추가한다.

nano ~/.openclaw/openclaw.json

아래 내용을 channels 항목 안에 넣는다.

“channels”: { “telegram”: { “enabled”: true, “botToken”: “여기에_BotFather에서_받은_토큰을_넣는다”, “dmPolicy”: “pairing”, “groups”: { “*”: { “requireMention”: true } } } }

각 항목의 의미를 정리하면 이렇다. enabled는 텔레그램 채널을 켜는 스위치다. botToken은 아까 발급받은 토큰이다. dmPolicy는 DM 정책인데, “pairing”으로 설정하면 처음 메시지를 보내는 사람에게 페어링 코드를 요구한다. 아무나 봇에 접근하지 못하게 하는 보안 장치다.

groups 항목의 requireMention은 그룹 채팅에서 봇이 반응하는 조건이다. true로 설정하면 @봇이름으로 멘션했을 때만 응답한다. 그룹에서 모든 메시지에 반응하면 대화가 엉망이 되니까, 이 설정은 반드시 true로 두는 게 좋다.

환경변수로 토큰을 설정하는 방법도 있다. 설정 파일에 토큰을 직접 넣는 게 불안하다면, TELEGRAM_BOT_TOKEN 환경변수에 넣어두고 설정 파일에서는 토큰 항목을 빼도 된다.

설정을 저장했으면 게이트웨이를 재시작한다.

openclaw gateway restart

정상적으로 텔레그램 채널이 연결됐는지 확인하려면 openclaw channels status 명령을 입력한다. Telegram 항목이 enabled, configured, running으로 표시되면 성공이다.

첫 번째 메시지 보내기와 페어링 승인

이제 텔레그램 앱에서 아까 만든 봇을 찾아서 메시지를 보내본다. 봇 사용자명을 검색해서 채팅을 시작하고, /start를 보낸다.

dmPolicy를 pairing으로 설정했기 때문에, 봇이 바로 응답하지 않고 페어링 코드를 보여준다. “Your Telegram user id: 123456789, Pairing code: ABCD1234″와 같은 형식이다. 그리고 게이트웨이 머신에서 아래 명령을 실행하라는 안내가 나온다.

WSL 터미널로 돌아와서 다음 명령을 실행한다.

openclaw pairing approve telegram ABCD1234

여기서 ABCD1234는 텔레그램에서 받은 실제 페어링 코드로 교체해야 한다. 승인이 완료되면 “Approved telegram sender”라는 메시지가 출력된다.

다시 텔레그램으로 가서 아무 메시지나 보내본다. “오늘 날씨 어때?”라든지 “간단한 파이썬 코드 하나 짜줘”라든지. AI가 정상적으로 응답하면 모든 연동이 완료된 것이다.

페어링 코드는 발급 후 1시간이 지나면 만료된다. 시간이 지났다면 다시 메시지를 보내서 새 코드를 받으면 된다. 여러 사람이 사용해야 한다면, 각 사용자가 개별적으로 페어링 과정을 거쳐야 한다.

텔레그램 그룹에서 봇 활용하기

1대1 채팅뿐 아니라 텔레그램 그룹에서도 오픈클로를 사용할 수 있다. 팀 단위로 AI 비서를 공유하고 싶을 때 유용하다.

먼저 봇을 그룹에 추가한다. 그룹 설정에서 멤버 추가를 선택하고, 봇 사용자명을 검색해서 넣으면 된다. 그런데 텔레그램 봇은 기본적으로 프라이버시 모드가 켜져 있어서, 그룹 내 모든 메시지를 읽지 못한다. 봇에게 직접 멘션하거나 명령어를 보낸 메시지만 전달된다.

만약 봇이 그룹의 모든 대화 맥락을 이해해야 한다면, BotFather에서 /setprivacy 명령으로 프라이버시 모드를 끄거나, 봇을 그룹 관리자로 승격시켜야 한다. 관리자 봇은 모든 메시지를 수신할 수 있다.

프라이버시 모드를 변경한 후에는 봇을 그룹에서 제거했다가 다시 추가해야 변경 사항이 적용된다. 이걸 모르고 “왜 봇이 그룹에서 대답을 안 하지?”라며 한참을 헤매는 경우가 많다.

그룹에서의 보안 설정도 중요하다. 설정 파일의 groupAllowFrom 항목에 허용할 사용자의 텔레그램 ID를 넣으면, 특정 멤버의 메시지에만 반응하게 할 수 있다. 자신의 텔레그램 ID는 @userinfobot에게 메시지를 보내면 확인 가능하다.

설치 후 꼭 확인해야 할 보안 설정

오픈클로는 강력한 만큼 보안 리스크도 크다. 특히 텔레그램과 연동하면 외부에서 봇에 접근할 수 있는 경로가 생기기 때문에, 기본적인 보안 설정은 반드시 해둬야 한다.

첫째, dmPolicy는 절대 “open”으로 설정하지 않는다. open으로 하면 누구나 봇에게 메시지를 보내서 명령을 실행시킬 수 있다. 반드시 pairing 또는 allowlist를 사용해야 한다. allowlist는 특정 사용자 ID만 허용하는 방식이고, pairing은 첫 접속 시 수동 승인을 요구하는 방식이다.

둘째, 웹 대시보드 포트(18789)를 외부에 노출하지 않는다. WSL2 환경에서는 기본적으로 localhost를 통해서만 접근 가능하지만, 방화벽 규칙을 잘못 설정하면 외부에서 접근될 수 있다. LAN 내 다른 기기에서 접근이 필요하다면 Tailscale 같은 프라이빗 네트워크 도구를 활용하는 게 안전하다.

셋째, API 키와 토큰은 환경변수로 관리한다. 설정 파일에 직접 적어두면 실수로 백업하거나 공유할 때 노출될 위험이 있다. .env 파일이나 시스템 환경변수에 넣어두고, 설정 파일에서는 참조만 하는 구조가 좋다.

넷째, 스킬(Skills) 설치 시 신뢰할 수 있는 것만 사용한다. 오픈클로는 스킬이라는 플러그인 시스템으로 기능을 확장하는데, 검증되지 않은 커뮤니티 스킬에는 악성 코드가 포함될 수 있다. 실제로 ClawHub에서 14개의 악성 스킬이 발견된 사례가 있다. 최근에는 VirusTotal과 파트너십을 맺어 보안 검증을 강화하고 있지만, 여전히 주의가 필요하다.

자주 만나는 트러블슈팅 5가지

설치 과정에서 가장 많이 발생하는 문제들과 해결 방법을 정리했다.

첫 번째는 “Node.js 22+ required” 에러다. WSL 내부에서 node –version을 확인해서 22 이상인지 반드시 체크하자. 윈도우에 설치된 Node.js가 잡히고 있다면, 위에서 설명한 appendWindowsPath=false 설정을 적용해야 한다.

두 번째는 게이트웨이가 시작되지 않는 문제다. 대부분 systemd가 활성화되지 않아서 그렇다. wsl.conf에 systemd=true가 들어있는지 확인하고, wsl –shutdown 후 재시작해보자.

세 번째는 텔레그램 봇이 응답하지 않는 경우다. 로그를 확인하면 원인이 보인다. openclaw logs –follow 명령으로 실시간 로그를 켜놓고 텔레그램에서 메시지를 보내본다. 401 Unauthorized가 뜨면 토큰이 잘못된 거다. BotFather에서 토큰을 재발급받아 교체하자.

네 번째는 파일 시스템 성능 문제다. 오픈클로 파일을 /mnt/c/ 경로(윈도우 파일시스템)에 저장하면 성능이 10~20배 느려진다. 반드시 리눅스 파일시스템인 ~/home/사용자이름/ 경로에 저장해야 한다.

다섯 번째는 이전 이름(Moltbot, Clawdbot)에서 업그레이드한 경우다. 예전에 Moltbot이나 Clawdbot을 썼다면, 옛날 게이트웨이 프로세스가 아직 돌아가고 있을 수 있다. ps aux | grep -E ‘(moltbot|clawdbot|openclaw).*gateway’ 명령으로 확인하고, 오래된 프로세스는 종료한 뒤 오픈클로 게이트웨이만 실행되도록 정리하자.

마무리

오픈클로는 단순한 챗봇을 넘어선 자율형 AI 에이전트의 시작점이다. OpenAI가 이 프로젝트의 창시자를 직접 영입한 건 우연이 아니다. AI 산업의 무게중심이 “대화”에서 “행동”으로 옮겨가고 있고, 오픈클로는 그 변화의 가장 앞줄에 서 있다.

윈도우에서 WSL2를 통해 설치하는 과정이 맥보다는 번거로운 건 사실이다. 하지만 한 번 세팅해두면, 텔레그램 하나로 이메일 관리, 일정 조율, 코드 실행, 웹 검색까지 전부 처리할 수 있는 개인 AI 비서를 가지게 된다. 무엇보다 오픈소스라서 구독료가 없다. 본인의 하드웨어와 AI 제공자의 API 비용만 부담하면 된다.

다만 아직 베타라는 점, 보안 이슈가 존재한다는 점은 반드시 인지하고 있어야 한다. 민감한 업무 계정을 바로 연결하기보다는, 별도의 테스트 계정으로 먼저 충분히 익숙해진 뒤에 범위를 넓히는 게 현명하다. 오픈클로 공식 디스코드 커뮤니티에서는 매일 새로운 활용법과 스킬이 공유되고 있으니, 설치가 끝났다면 한번 들어가보는 것도 추천한다.

 

오픈클로(OpenClaw) 설치 방법 및 첫 대화 시작 방법

Leave a Comment