OpenLobster 시작 가이드: OpenClaw보다 안전한 대안

March 17, 2026

서문

2025년 말, OpenClaw가 완전히 대세로 자리 잡았습니다. 'AI가 당신을 대신해 일을 해주는' 이 자가 호스팅(Self-hosted) 에이전트 플랫폼은 GitHub 스타 수가 20만 개를 돌파하며 AI 에이전트의 대명사가 되었습니다.

하지만 폭발적인 인기와 함께 보안 팀의 집중적인 경고도 잇따랐습니다. 커뮤니티 Skills의 26%에서 취약점이 발견되었고, 4만 개의 인스턴스가 공용 네트워크에 무방비로 노출되었으며, 관련 CVE(취약점 정보)가 대량으로 발생했습니다. 커뮤니티는 인식하기 시작했습니다. OpenClaw는 속도는 매우 빠르지만 안전벨트가 없는 자동차와 같아서, 사용하기엔 짜릿하지만 사고가 나면 치명적이라는 사실을 말이죠.

이것이 바로 OpenLobster가 등장한 이유입니다.

단순한 UI 최적화가 아닌, 철저한 보안 재설계입니다. Go 언어로 백엔드를 재작성하고 암호화 저장소, 기본 인증, 진정한 다중 사용자 아키텍처를 도입했습니다. 커뮤니티에서는 이를 두고 「OpenClaw가 마땅히 가졌어야 할 모습」이라고 말합니다. 오늘 그 이유가 무엇인지 함께 살펴보겠습니다.

핵심 비교: OpenLobster vs OpenClaw

먼저 두 프로젝트의 차이점을 파악하여 마이그레이션할 가치가 있는지 판단해 보겠습니다.

아키텍처: Node.js → Go

OpenClaw는 Node.js/TypeScript 프로젝트로 수많은 npm 패키지에 의존합니다. 반면 OpenLobster는 Go로 작성되어 백엔드 전체가 약 66MB의 정적 바이너리 하나로 구성됩니다.

실제 측정 데이터:

  • 시작 시간: 200ms (OpenClaw는 2~3초 소요)
  • 메모리 점유: 30MB (OpenClaw는 150MB+)
  • 배포 방식: Node 환경 없이 바이너리 파일 하나와 설정 파일만 있으면 끝

라즈베리 파이나 저사양 VPS에서 실행한다면 이 차이는 매우 크게 느껴질 것입니다.

메모리 시스템: Markdown → 그래프 데이터베이스

가장 핵심적인 차이점입니다.

OpenClaw의 '기억'은 본질적으로 MEMORY.md 파일이며, 대화할 때마다 내용이 추가됩니다. 동시 세션이 많아지면 이 파일은 엉망이 됩니다. 공식 문서에서조차 「메인 세션만 MEMORY.md를 작성할 수 있다」고 설명하는데, 이는 기능이라기보다 설계상의 한계에 가깝습니다.

OpenLobster는 진정한 그래프 데이터베이스 아키텍처를 사용합니다. 두 가지 모드를 내장하고 있습니다:

  • 파일 백엔드: 별도의 서비스가 필요 없는 로컬 GML 형식
  • Neo4j 백엔드: 복잡한 쿼리를 지원하는 본격적인 그래프 데이터베이스

AI 세션에서 생성된 모든 개념은 노드(Node)가 되고, 인물 관계나 사건 연결은 유형화된 엣지(Edge)가 됩니다. 즉, AI가 단순히 이전에 했던 말을 반복하는 것이 아니라, 기억을 실제로 '조회'할 수 있게 됩니다.

다중 사용자 지원

OpenClaw는 다중 사용자 개념이 거의 없습니다. 모든 세션이 하나의 메인 메모리를 공유하므로 채널 간 데이터가 섞일 수 있습니다.

OpenLobster는 근본적으로 다중 사용자를 지원합니다:

  • 각 채널(Telegram, Discord)의 사용자마다 독립된 엔티티 생성
  • 독립적인 대화 기록
  • 독립적인 도구 권한
  • 독립적인 페어링(Pairing) 프로세스

텔레그램 사용자와 디스코드 사용자가 서로 간섭 없이 동시에 동일한 AI와 대화할 수 있습니다.

작업 스케줄링: Heartbeat → Cron

OpenClaw의 예약 작업은 30분마다 HEARTBEAT.md 파일을 읽는 데몬 프로세스입니다. 단순하지만 기능적 한계가 명확합니다.

OpenLobster는 완전한 작업 스케줄러를 구현했습니다:

  • 반복 작업을 위한 Cron 표현식 처리
  • 일회성 작업을 위한 ISO 8601 지원
  • 작업 상태, 다음 실행 시간, 실행 로그를 대시보드에서 시각화

보안 모델: 기본 개방 → 기본 인증

가장 큰 변화입니다.

OpenClaw는 기본적으로 인증을 활성화하지 않아 수만 개의 인스턴스가 Censys 등에 노출되었습니다. 특정 CVE는 인증되지 않은 공격자가 에이전트 API를 직접 호출할 수 있게 하기도 했습니다.

OpenLobster의 보안 전략:

  • 대시보드 접근 시 Bearer Token 필수 (OPENLOBSTER_GRAPHQL_AUTH_TOKEN)
  • 설정 파일과 비밀키를 모두 암호화하여 저장
  • API Key 및 채널 토큰을 YAML에 평문으로 적지 않고 암호화 백엔드(파일 또는 OpenBao)에 저장
  • OPENLOBSTER_* 환경 변수가 터미널 도구에 절대 노출되지 않음

WARNING

인스턴스를 공용 네트워크에 노출하려는 경우, 가장 먼저 인증 토큰을 설정하십시오.

MCP 통합

OpenClaw의 MCP 지원은 데모 수준에 불과했습니다. OpenLobster는 완전한 MCP 생태계를 구현했습니다:

  • 모든 Streamable HTTP MCP 서버 연결 가능
  • 완전한 OAuth 2.1 프로세스 지원
  • 서버별 도구 개별 브라우징
  • 사용자별 권한 매트릭스를 통한 도구 제어
  • 클릭 한 번으로 서비스 연동이 가능한 내장 마켓플레이스(Marketplace)

환경 준비

OpenLobster는 하드웨어 요구 사양이 매우 낮으며, 이는 OpenClaw 대비 강력한 장점 중 하나입니다.

최소 하드웨어 요구 사항

구성권장최소
CPU2 코어1 코어
메모리1 GB512 MB
저장공간10 GB SSD5 GB
운영체제Linux/macOS/WindowsLinux (Docker)

라즈베리 파이 3/4, 512MB RAM VPS, NAS, 심지어 $15짜리 LicheeRV Nano에서도 실행 가능합니다. 테스트 결과 라즈베리 파이 4에서 무리 없이 작동했습니다.

소프트웨어 의존성

  • Docker (가장 쉽고 권장되는 방식)
  • 또는: Go 1.21+ (직접 컴파일하는 경우)

빠른 배포

가장 간편한 Docker 사용법을 기준으로 설명합니다.

1. 설정 디렉토리 생성

mkdir -p ~/.openlobster/data ~/.openlobster/workspace

2. 컨테이너 실행

docker run -p 8080:8080 \
  -e OPENLOBSTER_GRAPHQL_HOST=0.0.0.0 \
  -e OPENLOBSTER_GRAPHQL_AUTH_TOKEN=your-secret-token \
  -e OPENLOBSTER_AGENT_NAME=my-agent \
  -e OPENLOBSTER_DATABASE_DRIVER=sqlite \
  -e OPENLOBSTER_DATABASE_DSN=/app/data/openlobster.db \
  -v ~/.openlobster/data:/app/data \
  -v ~/.openlobster/workspace:/app/workspace \
  -d ghcr.io/neirth/openlobster/openlobster:latest

주요 설정 설명:

  • OPENLOBSTER_GRAPHQL_AUTH_TOKEN: 대시보드 접속 비밀번호 (필수)
  • OPENLOBSTER_AGENT_NAME: AI 어시스턴트 이름
  • OPENLOBSTER_DATABASE_DRIVER=sqlite: 별도 DB 서비스 없이 SQLite 사용
  • 8080 포트는 GraphQL API 및 Web UI 접속 경로입니다.

3. 시작 확인

curl http://127.0.0.1:8080/health

{"status":"ok"}가 반환되면 성공적으로 시작된 것입니다.


초기 설정

첫 실행 가이드

브라우저에서 http://127.0.0.1:8080에 접속하면 설치 마법사(Setup Wizard)가 나타납니다.

TIP

실행 시 설정한 OPENLOBSTER_GRAPHQL_AUTH_TOKEN을 Bearer Token으로 사용하여 로그인하세요.

설치 마법사 단계:

  1. 에이전트 기본 설정 (이름, 설명)
  2. 데이터베이스 선택 (SQLite / PostgreSQL / MySQL)
  3. 메모리 백엔드 선택 (File / Neo4j)
  4. AI 공급자(Provider) 추가

AI 공급자(Provider) 설정

가장 중요한 단계입니다. OpenLobster는 다양한 AI 공급자를 지원합니다:

  • OpenAI
  • Anthropic (Claude)
  • Ollama (로컬 모델)
  • OpenRouter
  • Docker Model Runner
  • 기타 모든 OpenAI 호환 인터페이스

TIP

여기서는 Defapi 플랫폼 사용을 추천합니다. API 중계 서비스로 가격이 공식 가격의 절반 수준이며, OpenAI, Claude, Gemini 등 주요 모델을 지원합니다. 또한 v1/chat/completions 인터페이스와 완벽히 호환되므로 코드 수정 없이 base_url과 API Key만 교체하여 즉시 사용할 수 있습니다.

Defapi 설정 예시 (Claude Sonnet 기준):

# 환경 변수 방식
OPENLOBSTER_PROVIDERS_OPENAICOMPAT_API_KEY=당신의-Defapi-Key
OPENLOBSTER_PROVIDERS_OPENAICOMPAT_BASE_URL=https://api.defapi.org/v1
OPENLOBSTER_PROVIDERS_OPENAICOMPAT_MODEL=anthropic/claude-sonnet-4-5

또는 대시보드의 Settings → Providers 화면에서 입력:

필드
Provider TypeOpenAI Compatible
API Key당신의 Defapi Key
Base URLhttps://api.defapi.org/v1
Modelanthropic/claude-sonnet-4-5

Defapi의 장점:

  • 공식 가격 대비 50% 저렴
  • 인터페이스 완전 호환, OpenLobster에서 수정 없이 사용 가능
  • Claude, GPT, Gemini 등 주요 모델 통합 지원
  • 국내 접속 지연 시간(Latency) 최소화

통신 채널 연결

OpenLobster는 여러 채널을 동시에 활성화할 수 있습니다.

텔레그램 (Telegram)

  1. 텔레그램에서 @BotFather 검색 후 새 봇 생성
  2. Bot Token 획득
  3. 대시보드 → Settings → Channels → Telegram에서 토큰 입력
  4. 저장 후 봇이 온라인 상태가 됩니다.

사용자가 처음 메시지를 보내면 페어링 절차가 시작되어 텔레그램 ID가 OpenLobster 계정에 연결됩니다.

디스코드 (Discord)

  1. Discord Developer Portal에서 Application 생성
  2. Bot 추가 및 토큰 획득
  3. 서버에 봇 초대 (message.content 권한 필요)
  4. 대시보드에 Bot Token 입력

기타 플랫폼

WhatsApp(Business API 필요), Slack(Socket Mode), Twilio SMS 등도 유사한 과정을 거칩니다. 대시보드에서 해당 채널을 찾아 인증 정보를 입력하면 됩니다.


자주 묻는 질문 및 문제 해결

1. 대시보드 로그인 실패

OPENLOBSTER_GRAPHQL_AUTH_TOKEN이 올바르게 설정되었는지 확인하세요. 모든 API 요청은 헤더에 다음을 포함해야 합니다:

curl -H "Authorization: Bearer your-secret-token" \
  http://127.0.0.1:8080/graphql

2. AI가 응답하지 않음

주요 원인:

  • API Key 오입력
  • 모델 이름 불일치 (대소문자 및 기호 확인, 예: claude-sonnet-4.5가 아닌 claude-sonnet-4-5일 수 있음)
  • 네트워크 문제 (Docker 컨테이너의 외부 망 접속 여부)

로그 확인: docker logs <container-id>를 통해 상세 에러 메시지를 확인하세요.

3. 메모리 기능 미작동

File 백엔드를 사용하는 경우 ~/.openlobster/data/ 디렉토리 내 GML 파일에 내용이 기록되는지 확인하세요.

Neo4j를 사용하는 경우 서비스가 정상 실행 중인지, 연결 정보가 정확한지 확인하세요.

4. 채널 연결은 성공했으나 메시지 수신 불가

봇 권한을 확인하세요:

  • Telegram: 봇이 그룹에 있어야 하며, 그룹 메시지 수신이 허용되어야 함
  • Discord: 봇에게 Read Messages/View Channels 권한이 있어야 함

5. MCP 도구 호출 실패

MCP 서버가 Streamable HTTP 모드여야 합니다. 확인 사항:

  • 서버 URL 접속 가능 여부
  • OAuth 설정 정확성 (필요 시)
  • 도구 실행 권한 허용 여부

6. 업데이트 후 실행 실패

데이터베이스 마이그레이션은 자동 실행되지만, 사전에 백업을 권장합니다:

cp -r ~/.openlobster/data ~/.openlobster/data.backup

심화 단계

MCP 통합

OpenLobster의 MCP 지원은 현재 가장 완성도 높은 보안형 AI 에이전트 구현체입니다.

대시보드 → MCP 메뉴에서 연결된 서버와 사용 가능한 도구를 브라우징할 수 있습니다. 각 도구는 상세 파라미터 설명과 권한 제어 기능을 제공합니다.

커뮤니티 마켓플레이스에는 파일 시스템, GitHub, Slack 등 기성 MCP 서버가 준비되어 있어 수동 설정 없이 클릭 한 번으로 추가할 수 있습니다.

Neo4j 배포

복잡한 기억 쿼리가 필요한 환경이라면 Neo4j 사용을 추천합니다.

# Neo4j 실행
docker run -p 7474:7474 -p 7687:7687 \
  -e NEO4J_AUTH=neo4j/password \
  neo4j:latest

그 후 OpenLobster 설정에서 Neo4j 백엔드로 전환하고 접속 정보를 입력하세요.

그래프 DB의 진정한 가치는 AI에게 「지난번에 논의했던 그 프로젝트 어떻게 됐어?」라고 물었을 때, 단순 키워드 검색이 아닌 관계 체인을 따라 정확한 맥락을 찾아낼 수 있다는 점에 있습니다.

다중 인스턴스 클러스터

Go 백엔드의 무상태(Stateless) 설계 덕분에 수평 확장이 용이합니다. 고가용성이 필요한 경우 다음과 같이 구성할 수 있습니다:

  • 여러 개의 OpenLobster 인스턴스가 동일한 Neo4j 공유
  • 동일한 PostgreSQL 데이터베이스 공유
  • 전면에 로드 밸런서 배치

추가 읽을거리

OpenClaw의 안전한 대안을 찾고 있거나, 더 적은 리소스를 사용하는 자가 호스팅 AI 어시스턴트를 원하신다면 OpenLobster를 꼭 시도해 보시기 바랍니다.

Updated March 17, 2026