OpenClaw: "하면 된다, 다만 삽질을 곁들인"

Zi.log·2026년 3월 10일

0. 서론 : AI Agent의 뇌와 몸을 연결하기 위한 사투

그저께 Docker에 python환경 구축하고 openclaw 올리고 디스코드 챗봇 만드는건 아무것도 아니었단걸 알게된 이틀 동안의 이야기를 시작합니다.


애들끼리 떠드는거에 토큰 나가는게 무섭다고 찍먹만 하고 Docker를 내린 후 생각해보니, 아무래도 이건 openclaw를 쓴다기보다 LLM API 연결한 디스코드 챗봇에 불과하다는 생각이 들었더랬습니다.

게다가 동기중에 openclaw agent 써보려고 맥미니 지른 친구도 있고 openclaw랑 상관없이 집에 잉여 PC를 개인 서버로 쓰는 친구도 있다보니 웬지 저도 자극(?)을 받아서, 맥북 사기 전에 쓰던 2022년산 ASUS Zenbook을 희생하기로 결정했습니다.

사실 맥미니에 욕심이 나기도 했지만 요즘 가격이 가격이다보니 알리 발 미니PC를 알아보기도 했거든요.

중고차도 아니고 그.돈.씨가 되는 미니 PC 시장

암튼,

우여곡절 끝에 부팅USB로 깡통 리눅스 설치하고 당장 openclaw부터 설치해보기로 했습니다.

리눅스요? 처음이나 다름 없죠.

GUI는 쉽겠지 + 맥북도 적응했는데 못할게 뭐겠냐는 안이한 생각이었는데, 복붙을 시작하고 환경설정을 하면서 멘탈이 무너지기 시작했습니다.

Ctrl + Shift + c, v 는 누구 머릿속에서 나온 단축키 입니까?

그 든 손으로 본인 머리를 한 대 치세요.

curl도 설치해야 하는거였어요?

참 시작부터 험난합니다.

겨우겨우 기본적인 CLI 유틸리티들을 깔고 본격적으로 Agent의 몸땡이가 될 openclaw를 설치했습니다.

우리 애기 예쁘죠?

이제 Agent가 생각을 하고 실행에 옮기라고 지시할 뇌를 연결할 차례입니다.

처음 설치할때만 해도 Claude는 꿈에서도 생각 안했기 때문에 저는 Gemini-2.5-flash 모델만 연결하였습니다. 자식농사 지을 때 이미 유료티어 뚫어놔서 걱정 안 해도 될 것 같아요.

자정까지 세팅하고 제가 에이전트한테 제일 먼저 시킨건 '매일 8시 반마다 디스코드로 뉴스 헤드라인 리스트업 해주기' 였는데요.

얘가 이거 하나 처리하려고 코드를 얼마나 수정하고 또 수정하는지 몇시간만에 요청수가 328개가 넘더라고요...

그리고 openclaw 깔면 지가 알아서 내 파일에 접근해서 헛짓거리하고 일 시키면 오류나도 우회해서 해결한다는 말을 분명 들었는데

이놈의 자식은 왜 sudo만 들어가면 사전에 비번 입력 해놔서 안 해도 된다니까 왜 자꾸 저보고 대신 입력하고 결과를 알려달라 하는지 모르겠어요.

나 분명 리눅스 복붙땜에 멘탈 터졌다고 했을텐데? 이자식이?

1. 사건의 발단: "Gemini의 요절과 강제 유배"

에이전트에게 '투자 포트폴리오 맞춤 뉴스 요약'을 시킨 게 화근이었습니다.

매일 배달 될 뉴스 형식을 조정하다 보니 요청수가 수백 개를 넘어섰고, 결국 Gemini API Limit이 뜨며 에이전트가 묵언수행에 들어갔습니다.

그래서 뭔가 더 야무지게 느껴지는 Claude 모델로 갈아타기 위해 당장 API를 결제하고 마이그레이션에 돌입했습니다.

근데 멈춘 Agent를 움직이게 하려면 뭐가 필요해요? API가 필요하죠? 근데 Gemini는 Limit땜에 멈췄죠? 그럼 어떻게 해요? 로컬에서 강제로 설정해야 하죠?

리눅스가 깡통이라 아무런 설정을 못 했다 했잖아요? 심지어 원격 제어 설정도 안 해둔 탓에 집으로 돌아갈 때까지 먹통이 된 에이전트를 보고만 있어야 했습니다.

왕사남에서 추종자들이 강 건너 유배지의 단종을 보는 심정이 이랬을까요?

2. 약 48시간의 사투

Stage 1: 무한 환경변수 지옥

집에 돌아와 클로드로 마이그레이션을 시작했지만, 리눅스 환경변수와 JSON 구조는 호락호락하지 않았습니다. 점 하나, 하이픈 하나에 통신 에러가 터지는 사투가 이어졌습니다.

이틀 동안 12시 넘어서 잠들었어요.

Stage 2: OpenClaw와의 기싸움

  • 디스코드의 침묵: 디스코드도 Docker로 설정했을때보다 더 할 게 많았는데요, 심지어 groupPolicy를 open으로 바꾸고 나서야 봇이 비로소 말을 들었습니다.

  • 권한 노가다: openclaw doctor 진단 결과 쏟아지는 권한 부족 경고를 해결하려면 메시지 읽기/쓰기 권한을 수동으로 하나씩 부여해야 했습니다.

  • 생각보다 바본데? : 저는 OpenClaw가 내 컴퓨터에서 뭘 어찌했다 이런 이야기들 다 도시전설 같아요. 도대체 니가 할 줄 아는게 뭐니? 왜 다 나보고 해달래? 암호 줄게 니가 다 하라니까?

Stage 3: Tailscale과 SSH

유배지의 단종을 바라보는 심정으로 에이전트가 뻗었을 때 아무것도 못 했던 그 한을 풀기 위해 미처 뚫지 못한 전용 가상 통로를 뚫기 위해 맥북과 젠북에 Tailscale을 설치하고 SSH 세팅을 하였습니다.

  • GPG 키의 저주: 보안 통로를 만들려니 apt-key is deprecated 경고가 쏟아졌고, 배포판 코드명(jammy)을 확인해가며 수차례 삽질 끝에 성공했습니다.

  • SSH의 부활: 통로는 열었으나 SSH가 disabled 상태라 한참을 거부당했습니다. systemctl로 서비스를 깨우고 나서야 맥북에서 젠북을 제어할 수 있었습니다.

Stage 4: 크롬 원격 데스크톱(CRD)

사실 굳이 안 깔아도 되는데 CLI 환경에서 터미널 복사-붙여넣기에 지쳐 익숙한 마우스 조작(GUI)이 너무나도 간절했습니다.

다른 원격 도구들은 설정이 드릅게 복잡했지만, 크롬 원격 데스크톱은 젠북이 대기 상태나 잠금 화면에 있어도 맥북에서 주소만 입력하면 바로 화면이 뜨더군요. Xorg 이런 까다로운 그래픽 엔진 설정 없이도 맥북에 젠북의 바탕화면을 띄우는 데 성공했습니다.

3. 피 같은 교훈

  • 서비스 재시작의 법칙: 설정을 바꿨다면 반드시 서비스를 stop 후 start 하세요. (안함)

  • 브라우저 캐시의 배신: 설정이 다 완벽한데 안 된다면 Cmd+Shift+Delete를 누르세요. (자매품 --force)

  • 127.0.0.1의 고립: 내부 주소로만 열어두면 제어하고자 하는 외부에서는 절대 볼 수 없습니다. 반드시 0.0.0.0이나 LAN으로 잡아줘야 합니다.

4. 야 너두?

맥미니? 있으면 정말 좋겠지만 없어도 됩니다. 집에서 굴러다니는 PC나 노트북 아무거나 붙들고 해보세요. 재밌습니다.
SSH? 원격제어? 생각보다 어렵지 않습니다. 저는 Tailscale 연결 잘 되었음에도 브라우저 주소창에 ip 입력하니까 거부당했다는 이유로 5시간 동안 삽질했을 뿐이에요. ping 날렸을때 잘 날라가고 있는거 보고도요.
openclaw? 사실 걔가 하는 건 별 거 없습니다. 일은 우리 LLM API 들이 다 해주죠.

채신기술을 두려워 하지 마십쇼. 그들은 우리의 좋은 친구입니다.

profile
패션 유행은 잘 모르지만 IT 유행은 다 따라가고 싶은 AI 엔지니어 지망생 -> 블로그 이전했습니다!

0개의 댓글