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 # 채널별 컨텍스트
메모리 계층
- 세션 메모리 — 현재 대화 컨텍스트
- 일일 로그 —
memory/YYYY-MM-DD.md - 장기 기억 —
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 모니터링: 뉴스 요약
참고 링크
- OpenClaw Docs: https://docs.openclaw.ai
- GitHub: https://github.com/openclaw/openclaw
- Community: https://discord.com/invite/clawd