Sign In

설정 시스템

Clawdbot의 설정 파일 구조와 관리 방법

📋 목록

📁 설정 파일 위치

기본 경로

플랫폼
기본 경로
설명
macOS
~/.clawdbot/
사용자 홈 디렉토리
Linux
~/.clawdbot/
사용자 홈 디렉토리
Windows
%APPDATA%\clawdbot\
사용자 앱 데이터 디렉토리
Docker
/root/.clawdbot/
컨테이너 내

설정 파일 구조

~/.clawdbot/ ├── clawdbot.json # 메인 설정 파일 ├── credentials/ # API 키 및 채널 크레덴셜 │ ├── anthropic.json │ ├── openai.json │ ├── whatsapp.json │ ├── telegram.json │ └── ... ├── channels/ # 채널별 설정 │ ├── whatsapp/ │ │ ├── allowlist.json │ │ └── session.json │ ├── telegram/ │ └── ... ├── gateway/ # Gateway 전용 설정 │ ├── tls/ │ │ ├── cert.pem │ │ └── key.pem │ └── state.json └── logs/ # 로그 파일들

🎨 설정 구조

메인 설정 파일 (clawdbot.json)

{ // ========== 게이트웨이 설정 ========== gateway: { port: 18789, // WebSocket 서버 포트 bind: "loopback", // 바인드 주소 host: "127.0.0.1", // 호스트 주소 (선택적) controlUi: true, // 웹 UI 활성화 controlUiPort: 18792, // 웹 UI 포트 auth: { mode: "password", // 인증 모드: password, token, none password: "secure-password" // mode="password" 시 필요 // 또는 // token: "auth-token-xyz123" // mode="token" 시 필요 }, tls: { enabled: true, // TLS 활성화 certPath: "~/.clawdbot/gateway/tls/cert.pem", keyPath: "~/.clawdbot/gateway/tls/key.pem", caPath: "~/.clawdbot/gateway/tls/ca.pem", // 선택적 autoGenerate: true // 자체 서명 인증서 자동 생성 }, tailscale: { enabled: true, // Tailscale 통합 활성화 allowTailscale: true // Tailscale IP 자동 인증 허용 }, remote: { enabled: false, // 원격 Gateway 활성화 url: "ws://remote-host:18789" // 원격 Gateway URL auth: { token: "remote-auth-token" // 원격 Gateway 인증 토큰 } } }, // ========== 에이전트 설정 ========== agent: { model: "anthropic/claude-opus-4-5", // 기본 모델 thinkingLevel: "high", // 사고 레벨: low, medium, high temperature: 0.7, // 온도 (0.0 ~ 1.0) maxTokens: 100000, // 최대 토큰 수 workspace: "~/clawd", // 워크스페이스 경로 systemPrompt: "~/.clawdbot/system.md", // 시스템 프롬프트 (선택적) persona: "~/.clawdbot/persona.md", // 페르소나 설정 (선택적) memory: { enabled: true, // 메모리 기능 활성화 maxEntries: 1000, // 최대 기록 수 compaction: true // 기록 압축 활성화 } }, // ========== 채널 설정 ========== channels: { // WhatsApp whatsapp: { enabled: true, dmPolicy: "pairing", // DM 정책: pairing, open allowFrom: ["+1234567890", "*"], // 연결 허용 groupPolicy: { mode: "mention", // 그룹 정책: mention, always mentions: ["clawdbot", "@clawdbot"] }, replyTag: "[clawdbot]", // 리플 태그 maxAttachments: 10 // 최대 첨부 수 }, // Telegram telegram: { enabled: true, botToken: "123456:ABCDEF1234...", dmPolicy: "open", groupPolicy: { mode: "mention", mentions: ["clawdbot_bot", "@clawdbot_bot"] }, inlineMode: false, webhookUrl: "https://your-domain.com/webhook" }, // Slack slack: { enabled: true, token: "xoxb-1234567890-ABCDEF...", dm: { policy: "open", allowFrom: ["U1234567890", "*"] }, appLevelToken: "xapp-...", signingSecret: "..." }, // Discord discord: { enabled: true, token: "MTIyNzE1234...", dm: { policy: "open", allowFrom: ["1234567890123456789", "*"] }, commandPrefix: "!", intents: ["guilds", "messages", "message_content"] }, // Google Chat googlechat: { enabled: false, clientId: "...", clientSecret: "...", redirectUri: "https://your-domain.com/callback" }, // Signal signal: { enabled: false, phoneNumber: "+1234567890", groupPolicy: { mode: "always" } }, // iMessage imessage: { enabled: false, dmPolicy: "open", groupPolicy: { mode: "always" } }, // WebChat webchat: { enabled: true, corsOrigins: ["https://your-domain.com"], allowAnonymous: true } }, // ========== 브라우저 설정 ========== browser: { enabled: true, controlUrl: "http://127.0.0.1:18791", color: "#FF4500", headless: false, userDataDir: "~/.clawdbot/browser" }, // ========== 캔버스 설정 ========== canvas: { enabled: true, port: 18793, host: "127.0.0.1", maxCanvasSize: 10485760, // 10MB enableSnapshots: true }, // ========== 샌드박스 설정 ========== sandbox: { mode: "non-main", // none, non-main, all allowlist: [ "bash", "process", "read", "write", "edit", "sessions_list", "sessions_history" ], denylist: [ "browser", "canvas", "nodes", "cron", "discord", "slack", "gateway" ], dockerImage: "clawdbot/sandbox:latest", dockerTimeout: 300, // 5분 hostVolumePath: "/workspace" }, // ========== 로깅 설정 ========== logging: { level: "info", // debug, info, warn, error file: { enabled: true, path: "~/.clawdbot/logs", maxSize: "100MB", maxFiles: 10 }, console: { enabled: true, colorize: true } }, // ========== 세션 설정 ========== sessions: { maxSessions: 100, // 최대 세션 수 compaction: true, // 기록 압축 활성화 maxHistory: 1000, // 최대 기록 수 compactionThreshold: 10000, // 압축 임계값 compactionAfter: 3600, // 1시간 후 압축 autoExpire: false, // 자동 만료 비활성화 maxAge: 604800 // 7일 (초) }, // ========== 에이전트 바인딩 ========== agents: { bindings: { // 채널:계정:피어 → 워크스페이스 "whatsapp:+1234567890": "main", "whatsapp:+9876543210": "personal", "telegram:@clawdbot_bot": "main", "discord:server:123456789": "work", "slack:workspace:U1234567890": "main" }, // 다중 워크스페이스 workspaces: { "main": "~/clawd", "personal": "~/clawd-personal", "work": "~/clawd-work" }, // 에이전트별 설정 defaults: { thinkingLevel: "medium", temperature: 0.7, maxTokens: 100000 } }, // ========== 자동화 설정 ========== automation: { cron: { enabled: true, timezone: "UTC" }, webhooks: { enabled: true, verifySecret: true }, gmail: { enabled: false, watchInbox: false } }, // ========== 피처 플래그 ========== features: { backgroundSync: true, // 백그라운드 동기화 presence: true, // 프레즌스 기능 voiceWake: true, // 음성 웨이크 metrics: false, // 메트릭 수집 analytics: false // 분석 수집 } }

🔧 게이트웨이 설정

포트 및 바인딩

{ gateway: { port: 18789, // 기본 포트 bind: "loopback", // 루프백만 허용 // 또는 // bind: "0.0.0.0" // 모든 인터페이스 허용 } }

인증 설정

{ gateway: { auth: { mode: "password", // password, token, none password: "secure-password" // mode="password" 시 필요 // 또는 // token: "auth-token-xyz123" // mode="token" 시 필요 } } }

TLS 설정

{ gateway: { tls: { enabled: true, // TLS 활성화 certPath: "~/.clawdbot/gateway/tls/cert.pem", keyPath: "~/.clawdbot/gateway/tls/key.pem", caPath: "~/.clawdbot/gateway/tls/ca.pem", // 선택적 autoGenerate: true // 자체 서명 인증서 자동 생성 } } }

📱 채널 설정

WhatsApp 설정

{ channels: { whatsapp: { enabled: true, dmPolicy: "pairing", // pairing, open allowFrom: ["+1234567890", "*"], // "*": 모든 연결 허용 groupPolicy: { mode: "mention", // mention, always mentions: ["clawdbot", "@clawdbot"] }, replyTag: "[clawdbot]", // 리플 태그 maxAttachments: 10 // 최대 첨부 수 } } }

Telegram 설정

{ channels: { telegram: { enabled: true, botToken: "123456:ABCDEF1234...", dmPolicy: "open", groupPolicy: { mode: "mention", mentions: ["clawdbot_bot", "@clawdbot_bot"] }, inlineMode: false, webhookUrl: "https://your-domain.com/webhook" } } }

채널별 공통 설정

{ channels: { [channel-name]: { enabled: true, // 채널 활성화 dmPolicy: "pairing", // DM 정책 allowFrom: ["user1", "*"], // 연결 허용 groupPolicy: { mode: "mention", // 그룹 정책 mentions: ["bot-name"] } } } }

🤖 에이전트 설정

기본 에이전트 설정

{ agent: { model: "anthropic/claude-opus-4-5", // 기본 모델 thinkingLevel: "high", // 사고 레벨: low, medium, high temperature: 0.7, // 온도 (0.0 ~ 1.0) maxTokens: 100000, // 최대 토큰 수 workspace: "~/clawd" // 워크스페이스 경로 } }

다중 워크스페이스

{ agents: { bindings: { // 채널:계정:피어 → 워크스페이스 "whatsapp:+1234567890": "main", "whatsapp:+9876543210": "personal", "telegram:@clawdbot_bot": "main", "discord:server:123456789": "work" }, // 다중 워크스페이스 workspaces: { "main": "~/clawd", "personal": "~/clawd-personal", "work": "~/clawd-work" }, // 에이전트별 기본 설정 defaults: { thinkingLevel: "medium", temperature: 0.7, maxTokens: 100000 } } }

🛠 샌드박스 설정

샌드박스 모드

{ sandbox: { mode: "non-main", // none, non-main, all allowlist: [ "bash", "process", "read", "write", "edit", "sessions_list", "sessions_history" ], denylist: [ "browser", "canvas", "nodes", "cron", "discord", "slack", "gateway" ], dockerImage: "clawdbot/sandbox:latest", dockerTimeout: 300, // 5분 hostVolumePath: "/workspace" } }

도구 권한

도구 그룹
포함 도구
비-Main 허용
파일
read, write, edit, list, delete
프로세스
process, bash
세션
sessions_list, sessions_history
브라우저
browser.*
Canvas
canvas.*
노드
camera.*, screen.*, location.*
자동화
cron.*, webhook.*
Gateway
gateway.*
채널
discord.*, slack.*

🔍 설정 관리 명령어

설정 조회

# 전체 설정 조회 clawdbot config get # 특정 설정 조회 clawdbot config get agent.model # 중첩 설정 조회 clawdbot config get channels.whatsapp.enabled # 스키마 조회 clawdbot config get --schema

설정 변경

# 설정 변경 clawdbot config set agent.model "anthropic/claude-opus-4-5" # 중첩 설정 변경 clawdbot config set channels.whatsapp.dmPolicy "open" # 복수 설정 변경 clawdbot config set sandbox.allowlist '["bash","read","write"]' # 설정 삭제 clawdbot config set channels.whatsapp.dmPolicy null

설정 편집

# 설정 편집기 열기 clawdbot config edit # 특정 파일 편집 clawdbot config edit channels

설정 검증

# 설정 검증 clawdbot config validate # 스키마 검증 clawdbot config validate --schema

🔗 관련 문서