OpenClaw 적용

개요

OpenClaw는 개인 AI 어시스턴트를 자체 호스팅할 수 있는 오픈소스 플랫폼이다. Claude, Gemini 등 다양한 LLM provider를 연결하고 Discord, Telegram, Signal 등 여러 메신저와 통합할 수 있다.

왜 OpenClaw인가

기존 서비스의 한계

  • ChatGPT, Claude 웹: 브라우저에 종속, 확장 불가
  • API 직접 사용: 코드 작성 필요, 번거로움
  • 기존 오픈소스: 설정 복잡, 유지보수 어려움

OpenClaw의 장점

  • 통합 인터페이스: 여러 채널에서 하나의 AI 접근
  • 스킬 시스템: 기능을 모듈화하여 확장 가능
  • 메모리 지속: 파일 기반 메모리로 컨텍스트 유지
  • 자체 호스팅: 데이터 주권 확보

설치 방법

요구사항

  • Node.js >= 20.0.0
  • pnpm >= 10.0.0
  • (선택) Docker

기본 설치

# OpenClaw CLI 설치
npm install -g openclaw

# 설정 초기화
openclaw init

# 설정 파일 수정
vim ~/.openclaw/config.json

스킬 시스템

스킬 구조

skills/
├── my-skill/
│   ├── SKILL.md       # 스킬 문서 (필수)
│   ├── package.json   # 메타데이터
│   └── script.sh      # (선택) 헬퍼 스크립트

SKILL.md 예시

# My Skill

## Overview
이 스킬은 ...을 자동화합니다.

## Commands
- "명령어 1" → 실행 내용
- "명령어 2" → 실행 내용

## Workflows
1. 단계 1
2. 단계 2
3. 단계 3

메모리 시스템

파일 기반 메모리

OpenClaw는 세션 간 지속성을 파일로 관리한다:

workspace/
├── AGENTS.md        # 에이전트 규칙
├── SOUL.md          # 성격/성향 정의
├── USER.md          # 사용자 정보
├── MEMORY.md        # 장기 기억
├── TOOLS.md         # 도구/환경 노트
├── HEARTBEAT.md     # 주기적 작업
└── memory/
    ├── 2026-03-01.md    # 일일 로그
    └── channels/
        └── discord-xxx.md   # 채널별 컨텍스트

메모리 계층

  1. 세션 메모리 — 현재 대화 컨텍스트
  2. 일일 로그memory/YYYY-MM-DD.md
  3. 장기 기억MEMORY.md (수동 관리)

워크플로우 예시: 블로그 자동화

시나리오

1. Obsidian에서 글 작성
2. GitHub Actions or 로컬 스크립트로 동기화
3. OpenClaw 채팅으로 "배포해줘" 요청
4. 빌드 → 테스트 → 배포 자동 실행

구현 방법

스킬 생성:

# blog-deploy

## Commands
- "블로그 배포해줘" → sync → build → deploy
- "미리보기 배포" → preview deploy

## Scripts
```bash
# 동기화
ob sync --path ~/vault

# 빌드
cd ~/blog && pnpm build

# 배포
pnpm deploy:prod

보안 고려사항

민감 정보 관리

  • API 키는 환경변수 또는 1Password 연동 사용
  • .env 파일은 .gitignore에 반드시 추가
  • 메모리 파일에 개인정보 노출 주의

접근 제어

  • Gateway는 Tailscale로 제한
  • Discord 봇은 특정 서버/채널만 허용
  • Admin 명령어는 화이트리스트 관리

트러블슈팅

자주 발생하는 문제

채널 연결 안 됨

# Discord
openclaw gateway logs  # 로그 확인
# 토큰 유효성, Gateway Intent 확인

메모리 반영 안 됨

# Hot reload 실패 시
sudo systemctl restart openclaw

모델 응답 없음

# API 키 유효성 확인
openclaw status

확장 아이디어

  • Home Assistant 연동: IoT 제어
  • GitHub 통합: PR 리뷰, 이슈 관리
  • Calendar 연동: 일정 알림
  • RSS 모니터링: 뉴스 요약

참고 링크

Command Palette
Search for a command to run