{
agents: {
bindings: {
// 개인용
"whatsapp:+1234567890": "personal",
"telegram:@username": "personal",
// 업무용
"slack:workspace:U12345": "work",
"discord:server:12345": "work"
},
workspaces: {
"personal": "~/clawd-personal",
"work": "~/clawd-work"
}
}
}# CLI에서 다른 세션으로 메시지 전송
clawdbot sessions send \
--to work:discord:server:12345 \
--message "이 작업을 처리해줘"
# 채팅 내에서 세션 도구 사용
/sessions_send work:context_update# 컨텍스트 업데이트
clawdbot sessions context-update \
--from personal \
--to work \
--context '{"data": {"project": "ABC"}}'{
cron: {
jobs: {
"daily-standup": {
schedule: "0 7 * * 1-5",
agent: "personal",
message: "좋은 아침! 오늘의 일정을 확인해줘",
enabled: true
},
"weekly-summary": {
schedule: "0 18 * * 5",
agent: "personal",
message: "이번 주 목표를 정리해줘",
enabled: true
},
"hourly-sync": {
schedule: "0 * * * *",
agent: "work",
message: "동기화 데이터를 확인해줘",
enabled: true
}
}
}
}{
webhooks: {
"/api/triggers/backup": {
secret: "webhook-secret-key",
method: "POST",
agent: "backup-agent",
enabled: true
},
"/api/triggers/deploy": {
secret: "deploy-secret-key",
method: "POST",
agent: "deploy-agent",
enabled: true
}
}
}{
automation: {
gmail: {
enabled: true,
filters: {
from: ["boss@company.com", "client@client.com"],
subject: ["URGENT", "important"]
},
agent: "personal"
}
}
}// charts/ChartA2UI.tsx
import React from 'react';
import { A2UIProps } from 'clawdbot/plugin-sdk';
interface ChartData {
labels: string[];
values: number[];
}
export const ChartA2UI: React.FC<A2UIProps<ChartData>> = ({ title, data, onEvent }) => {
return (
<div>
<h2>{title}</h2>
<div style={{ display: 'flex', gap: '20px' }}>
<div>
<h3>데이터</h3>
<table>
{data.labels.map((label, i) => (
<tr key={i}>
<td>{label}</td>
<td>{data.values[i]}</td>
</tr>
))}
</table>
</div>
<button onClick={() => onEvent({ type: 'export' })}>
Export Data
</button>
<button onClick={() => onEvent({ type: 'filter' })}>
Filter Data
</button>
</div>
</div>
);
};
// 에이전트에서 사용
await tool('canvas_a2ui', {
component: 'ChartA2UI',
props: {
title: '월간 매출',
data: {
labels: ['1월', '2월', '3월', '4월', '5월', '6월'],
values: [100, 150, 120, 180, 200, 170]
}
},
onEvent: async (event) => {
switch (event.type) {
case 'export':
await tool('file_write', {
path: '~/clawd/output/sales-export.csv',
content: 'Month,Value\n' + data.labels.join('\n') + '\n' + data.values.join('\n')
});
await tool('canvas_update', {
html: '<h2>✅ 데이터 내보기 완료</h2>'
});
break;
case 'filter':
// 필터 로직
const filtered = {
labels: data.labels.filter((_, i) => data.values[i] > 150),
values: data.values.filter(v => v > 150)
};
await tool('canvas_a2ui', {
component: 'ChartA2UI',
props: { title: '필터된 데이터', data: filtered }
});
break;
}
}
});# Canvas 스냅샷 저장
clawdbot canvas snapshot save
# 스냅샷 목록
clawdbot canvas snapshot list
# 스냅샷 복구
clawdbot canvas snapshot restore <timestamp># 녹화 시작
clawdbot nodes record-screen \
--duration 300 \
--format mp4 \
--quality high
# 녹화 중지
clawdbot nodes stop-record
# 녹화 목록
clawdbot nodes list-recordings# 사진 캡처
clawdbot nodes camera-snap \
--quality high \
--flash on
# 비디오 클립
clawdbot nodes camera-clip \
--duration 30 \
--format mp4# 현재 위치 확인
clawdbot nodes get-location
# 위치 기반 알림
clawdbot sessions send \
--to whatsapp:+1234567890 \
--message "현재 위치에서 도착했습니다"# 수동 압축
clawdbot memory compact
# 자동 압축 설정
clawdbot config set sessions.compaction true
clawdbot config set sessions.compactionThreshold 10000# 임베딩 검색
clawdbot memory search embeddings \
--query "project specification" \
--top-k 5
# 관련 컨텍스트 찾기
clawdbot memory retrieve context \
--query "previous discussions" \
--limit 3# 워크스페이스 백업
tar -czf ~/clawd-backup-$(date +%Y%m%d).tar.gz ~/clawd
# Git 백업
cd ~/clawd
git add .
git commit -m "Daily backup"
git push origin main{
channels: {
discord: {
enabled: true,
token: "MTIyNzE1234...",
commandPrefix: "!",
commands: {
"report": {
description: "주간 보고 생성",
handler: "generate_weekly_report"
},
"standup": {
description: "데일리 스탠드업",
handler: "daily_standup"
},
"help": {
description: "도움말",
handler: "show_help"
}
}
}
}
}# 슬래시 명령 사용
/slack command --channel general --command "/report"
# 대화형 명령
/slack message --channel general --text "@team 이 이슈를 확인해주세요"# 인라인 모드 활성화
clawdbot config set channels.telegram.inlineMode true
# 인라인 쿼리 설정
clawdbot config set channels.telegram.inlineCacheSize 100{
agent: {
temperature: 0.7,
maxTokens: 50000,
thinkingLevel: "high",
workspace: "~/clawd"
}
}{
channels: {
discord: {
dm: {
policy: "pairing",
allowFrom: ["1234567890123456789", "*"]
}
},
telegram: {
groupPolicy: {
mode: "mention",
mentions: ["@clawdbot_bot"]
}
}
},
sandbox: {
mode: "non-main",
allowlist: [
"bash",
"read",
"write",
"edit",
"sessions_list",
"sessions_history"
],
denylist: [
"browser",
"canvas",
"nodes",
"cron",
"discord",
"slack",
"gateway"
]
}
}# 개발용 상세 로그
clawdbot config set logging.level debug
# 간결 요약 로그
clawdbot config set logging.level warn# 메트릭 활성화
clawdbot config set features.metrics true
# 성능 보고서
clawdbot sessions send \
--to work \
--message "성능 보고서를 생성해줘"