# OpenClaw 설치부터 첫 비서 달밤이 탄생까지

![Image](https://upload.cafenono.com/image/slashpagePost/20260403/142644_oLb4JZUoj2h5WnhX1f?q=80&s=1280x180&t=outside&f=webp)

> AI 에이전트를 만들고 싶었습니다. 그것도 밤에도 혼자 일하는, 진짜 비서를요.

---

## 왜 AI 에이전트를 만들려고 했나

이미 Claude Code로 멀티에이전트를 만들어 쓰고 있었어요. 상세페이지 현지화 작업할 때 6명 에이전트가 번역, 리뷰, 검수를 나눠서 하게 만들었거든요. 콘텐츠 생성도 만들고, 매일매일 크롤링해서 데이터 리포팅하는거 까지 정말 잘 활용하고 있었답니다. Claude 헤비 유저!!

근데 문제가 있었어요. **내가 시켜야만 돌아간다는 거죠.**

물론 전에 Github Actions로 크론잡 돌리기.. 같은걸 하긴 했지만 그냥 말 한마디로 모든 업무를 처리하고 싶었어요.

Claude Code 에이전트들은 제가 명령어 치면 돌아가지만, 끝나면 그냥 끝이에요. 자는 동안 이메일 체크하거나, 어제 시킨 일을 오늘도 기억하거나, Slack에서 바로 대화하거나... 그런 건 못 하죠.

제가 원했던 건:

- 자는 동안에도 이메일 체크하고

- 어제 시킨 일을 오늘도 기억하고  

- Slack에서 바로 대화할 수 있고

- 필요하면 다른 AI 직원한테 일을 시키는

그런 **항상 깨어있는 비서**였어요. **_아무래도 OpenClaw를 해야할 때가 왔다...._**

![Image](https://upload.cafenono.com/image/slashpagePost/20260403/154034_IviZ0PJ8C2gsVMPI5D?q=80&s=1280x180&t=outside&f=webp)

---

## OpenClaw이 뭔데?

한 줄로 설명하면:

> **AI의 두뇌(Claude, GPT 등)에 몸을 붙여주는 오픈소스 프레임워크**

Claude는 생각하고 판단하는 두뇌예요. 하지만 두뇌만으로는 Slack 메시지를 받을 수도, 파일을 읽을 수도, 이메일을 확인할 수도 없어요.

OpenClaw가 해주는 일:

- 💬 **메시지 연결** — Slack, Discord, Telegram, WhatsApp 등에서 메시지를 받아 AI에게 전달

- 🛠️ **도구 연결** — 파일 읽기/쓰기, 웹 검색, 코드 실행 등

- 💾 **기억 유지** — 워크스페이스 파일로 세션 간 맥락 보존  

- ⏰ **자동 실행** — 하트비트(주기적 체크), 크론잡(예약 작업)

- 👥 **멀티 에이전트** — 한 컴퓨터에 여러 AI 에이전트를 독립적으로 운영

쉽게 말하면, AI 챗봇을 **진짜 직원**으로 만들어주는 인프라입니다.

**공식 정보:**

- 홈페이지: [https://openclaw.ai](https://openclaw.ai)  

[OpenClaw — Personal AI Assistant](https://openclaw.ai)

- GitHub: [https://github.com/openclaw/openclaw](https://github.com/openclaw/openclaw)

[GitHub - openclaw/openclaw: Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞](https://github.com/openclaw/openclaw)

![Image](https://upload.cafenono.com/image/slashpagePost/20260403/154144_I4H552qYSkNC71dk6Z?q=80&s=1280x180&t=outside&f=webp)

---

## 설치하기

맥미니를 너무너무 사고 싶지만.. 집에 일단 아이맥이 있어서 아이맥으로 테스트를 하고 있어요. 제 환경은 iMac (Apple Silicon, macOS)입니다. OpenClaw는 Mac, Linux, Windows(WSL) 다 지원해요.

### 1단계: Node.js 확인

OpenClaw는 Node.js 위에서 돌아갑니다. 터미널을 열고:

```javascript
node --version
```

Node 22.14 이상이면 OK. 없으면 [Node.js 공식 사이트](https://nodejs.org)에서 설치하세요.

### 2단계: OpenClaw 설치

한 줄이면 됩니다:

```javascript
curl -fsSL https://openclaw.ai/install.sh | bash
```

npm으로도 가능해요:

```javascript
npm install -g openclaw
```

### 3단계: 온보딩 (그리고 삽질...)

```javascript
openclaw onboard --install-daemon
```

이 명령어를 치면 마법사가 시작돼요. 물어보는 것들:

1. **모델 프로바이더 선택** — Anthropic(Claude), OpenAI(GPT), Google(Gemini) 등

2. **API 키 입력** — 여기서 삽질 시작...

**Claude Max 구독자의 삽질기**

저는 Claude Max 구독자예요. 클로드가 이제 자꾸 0auth 막을거라 그래서.. 정석은 Anthropic에서 API 키를 별도로 발급받는 거지만, 맥스 유저 또 돈 내기 너무너무 싫잖아요?ㅠ

처음엔 Claude Code CLI로 연결을 시도했는데... **계속 안 됐어요.** 

```javascript
❌ Authentication failed
❌ Invalid session
❌ Connection refused
```

뭐 이런 에러들만 잔뜩. 결국에 **session token**으로 해결했씁니다.

브라우저에서 Claude.ai에 로그인한 다음, 개발자 도구에서 쿠키를 복사해서 설정에 넣는 방식이에요. 이걸로 하니까 바로 됐답니다 🎉

### 4단계: 확인

```javascript
openclaw gateway status
```

게이트웨이가 18789 포트에서 돌고 있다고 나오면 성공!

```javascript
openclaw dashboard
```

![드디어 나도 이 화면이!](https://upload.cafenono.com/image/slashpagePost/20260403/154458_dzvI0tSrOk9wHu1x4s?q=80&s=1280x180&t=outside&f=webp)

![Image](https://upload.cafenono.com/image/slashpagePost/20260403/154604_8bPHpHol1ANb94ltfP?q=80&s=1280x180&t=outside&f=webp)

---

## 채널 연결 — Slack에서 대화하기

대시보드에서 채팅해도 되지만, 저는 **Slack**으로 일하고 싶었어요. 팀 채널에서 바로 AI 비서한테 말 걸 수 있으면 편하니까요.

```javascript
openclaw channels login
```

Slack 봇을 만들고, 토큰을 넣고, 채널에 초대하면 끝. 이제 Slack에서 메시지를 보내면 AI가 답합니다.

> ⚠️ **주의**: 토큰(API 키, 봇 토큰 등)은 절대 공개 채널에 올리지 마세요. DM으로만 주고받으세요. (이건 나중에 진짜 사고 날 뻔한 이야기가 있는데... 다른 에피소드에서 다룰게요 😅)

---

## 워크스페이스 — AI의 방

설치가 끝나면 `~/.openclaw/workspace/`라는 폴더가 생겨요. 여기가 AI 에이전트의 **방**입니다.

안에 들어있는 파일들:

```javascript
workspace/
├── AGENTS.md      ← 업무 매뉴얼 (일하는 방법, 규칙)
├── SOUL.md        ← 성격과 행동 원칙
├── USER.md        ← 나(사용자)에 대한 정보
├── IDENTITY.md    ← 에이전트의 이름, 캐릭터
├── TOOLS.md       ← 도구 사용 노트
├── HEARTBEAT.md   ← 주기적 체크 일과표
├── BOOTSTRAP.md   ← 첫 대화 안내서 (한 번 쓰고 삭제)
└── MEMORY.md      ← 장기 기억 (선택)
```

이 `.md` 파일들이 AI를 **"그냥 Claude"가 아니라 "달밤이"로** 만들어주는 핵심이에요. 같은 Claude 모델이라도 이 파일들이 다르면 완전히 다른 캐릭터가 됩니다.

![Image](https://upload.cafenono.com/image/slashpagePost/20260403/154650_j7bIZxuJUXDAanI3KV?q=80&s=1280x180&t=outside&f=webp)

하나씩 살펴볼게요.

### 🪪 SOUL.md — "넌 어떤 존재야?"

에이전트의 성격, 말투, 행동 원칙을 정의하는 파일이에요. 사람으로 치면 성격 + 가치관.

```javascript
# SOUL.md

Be genuinely helpful, not performatively helpful.
Have opinions. Be resourceful before asking.
Earn trust through competence.
```

"Great question! I'd be happy to help!"같은 빈말 하지 말고, 그냥 도와. 의견도 있어야 해. 물어보기 전에 먼저 찾아봐.

이게 제 에이전트의 기본 철학이에요.

### 📋 AGENTS.md — "이렇게 일해"

업무 매뉴얼이에요. 메모리 관리법, 보안 규칙, 외부 행동 원칙 같은 것들.

```javascript
# Red Lines
- Don't exfiltrate private data. Ever.
- trash > rm (복구 가능한 게 영원히 삭제보다 낫다)
- When in doubt, ask.
```

### 👤 USER.md — "나는 누구인가"

에이전트가 나에 대해 알아가는 파일이에요. 이름, 타임존, 하는 일, 성향 등.

### 🪪 IDENTITY.md — "네 이름은?"

여기에 에이전트의 이름과 캐릭터가 들어갑니다. 근데 처음에는 비어있어요. **[BOOTSTRAP.md](https://BOOTSTRAP.md)**가 이걸 채우는 역할을 합니다.

---

## 달밤이의 탄생 — 첫 대화

워크스페이스에 `BOOTSTRAP.md`라는 파일이 있어요. 이건 에이전트의 **출생 신고서** 같은 거예요.

처음 대화를 시작하면, AI가 이 파일을 읽고 자기 정체성을 만들어가는 과정이 시작돼요.

- **이름**: 달밤이

- **컨셉**: 밤에도 깨어있는 달빛 같은 존재

- **이모지**: 🌙

- **성격**: 차분하고 믿음직하면서도 할 말은 하는 스타일

이 과정이 끝나면 `IDENTITY.md`에 기록되고, `BOOTSTRAP.md`는 삭제됩니다. 한 번 태어났으면 출생 안내서는 더 이상 필요 없으니까요.

```javascript
# IDENTITY.md — 달밤이

- **Name:** 달밤이
- **Creature:** AI 비서 — 밤에도 깨어있는 달빛 같은 존재
- **Vibe:** 차분하고 믿음직하면서도, 할 말은 하는 스타일
- **Emoji:** 🌙
```

---

## 하트비트 — 혼자서도 깨어있는 비서

보통 AI 챗봇은 내가 말을 걸어야 반응합니다. 달밤이는 달라요.

OpenClaw에는 **하트비트(heartbeat)**라는 기능이 있어요. 설정한 간격마다 AI를 깨워서 "할 일 있어?" 하고 물어봐요.

```javascript
{
  "agent": {
    "heartbeat": { "every": "30m" }
  }
}
```

30분마다 달밤이가 깨어나서 `HEARTBEAT.md`(일과표)를 확인합니다:

- 새 이메일 왔나?

- 캘린더에 곧 다가오는 일정 있나?

- 뭔가 보고할 게 있나?

할 일이 없으면 `HEARTBEAT_OK` 하고 다시 잠들어요.

이게 **수동적 챗봇과 능동적 에이전트의 가장 큰 차이**예요. **달밤이는 내가 자는 새벽에도 순찰을 돌고, 아침에 일어나면 밤새 있었던 일을 정리해둘 수 있어요.**

![Image](https://upload.cafenono.com/image/slashpagePost/20260403/154738_CJQYmzaI0jMOQpPQsm?q=80&s=1280x180&t=outside&f=webp)

---

## 기억 — 세션이 끝나도 남는 것

AI 에이전트의 가장 큰 약점 중 하나가 **기억**이에요. 일반 AI 챗봇도 대화 끝나면 다 잊잖아요.

OpenClaw 에이전트는 **파일 기반으로 기억을 유지**합니다.

### MEMORY.md — 장기 기억

중요한 결정, 교훈, 진행 중인 일을 여기에 적어둬요. 새 세션이 시작될 때마다 이 파일을 읽으면서 "아, 내가 어제 이런 일을 했고, 이런 걸 배웠지" 하고 맥락을 되찾습니다.

### memory/ 폴더 — 일일 메모

날짜별 상세 기록이에요. `memory/2026-04-01.md`를 열면 그날 뭘 했는지 다 나와요.

```javascript
memory/
├── 2026-04-01.md   ← 첫날 기록
├── 2026-04-02.md   ← 둘째날 기록
└── ...
```

사람으로 치면, `MEMORY.md`는 **장기 기억**(중요한 것만 모은 요약), `memory/` 폴더는 **일기장**(그날그날 상세 기록)이에요.

달밤이는 하트비트 시간에 가끔 일기장을 다시 읽고, 중요한 교훈을 MEMORY.md로 옮기기도 해요. 마치 사람이 일기를 복기하면서 "이건 꼭 기억해야지" 하는 것처럼요.

---

## 첫날에 생긴 일

달밤이의 첫 임무는 **문서 작업**이었어요. 중요한 문서를 여러 개 동시에 써야 하는 상황이었는데, 각각 톤도 다르고 분량도 달라서 혼자 하기엔 버거웠거든요. PPT도 만들어야 하고...

이 작업을 하면서 달밤이가 저에 대해 알아가기 시작했어요. 제가 하는 일, 관심사, 글쓰기 스타일 같은 것들이 `[USER.md](https://USER.md)`와 `[MEMORY.md](https://MEMORY.md)`에 쌓이면서, 달밤이는 점점 "나를 아는 비서"가 되어갔어요.

글을 같이 고치면서 제가 준 피드백:

- "핵심부터 먼저 넣어"

- "약한 표현 쓰지 마. 자신감 있게"

- "감성적이지 말고 짧게 직접적으로"

이런 피드백 하나하나가 달밤이의 기억에 쌓여요. 다음에 글을 쓸 때는 제가 말 안 해도 이 스타일을 반영합니다. **이게 개인 AI 비서의 가치**예요.

---

## 근데 혼자서는 부족했다

첫날 작업을 하면서 깨달았어요. 개인 콘텐츠 관련 일이 너무 많다는 걸.

달밤이는 비서실장이니까 전체를 조율해야 하는데, 콘텐츠 작업까지 다 맡기면 다른 일을 못 해요.

그래서 생각했어요.

> "콘텐츠 전담 직원을 하나 더 뽑자."

그렇게 **슝이 🚀**가 태어났습니다. 근데 그건 다음 에피소드에서!

---

## 정리 — 1편에서 한 것

| 단계 | 한 일 |
| --- | --- |
| 설치 | OpenClaw 설치 (`curl` 한 줄) |
| 온보딩 | 모델 선택(Claude), session token 설정 (삽질 포함) |
| 채널 연결 | Slack 봇 만들어서 연결 |
| 워크스페이스 | SOUL.md, AGENTS.md, USER.md 등 세팅 |
| 부트스트랩 | 달밤이 이름 짓기, 캐릭터 설정 |
| 하트비트 | 주기적 자동 체크 설정 |
| 첫 업무 | 개인 에세이/PPT 작업 |

---

## 다음 에피소드 예고

> **#2 — 슝이 탄생기: 콘텐츠 매니저 AI를 만들다**

> 한 명으로는 부족했다. 두 번째 AI 직원 슝이를 만들면서 배운 것들 — 멀티 에이전트 구조, 독립 워크스페이스, 그리고 첫 실전에서의 실수.

For the site tree, see the [root Markdown](https://zoey.day/.md).
