Tools
Claw Cron Manager
OpenClaw AI 에이전트의 크론 잡을 브라우저에서 관리
Install
pip install .
Configuration Example
{
"id": "uuid",
"name": "아침 브리핑",
"enabled": true,
"schedule": {
"tz": "Asia/Seoul",
"kind": "cron",
"expr": "0 9 * * 1-5"
},
"payload": {
"kind": "agentTurn",
"model": "openai/gpt-4.1-nano",
"message": "오늘의 일정과 할 일을 브리핑해줘"
},
"delivery": {
"mode": "announce",
"channel": "telegram",
"to": "채팅ID"
}
}
README
# OpenClaw Cron Manager
> OpenClaw AI 에이전트의 크론 잡을 웹 UI로 관리.
> JSON 수동 편집 없이 브라우저에서 생성, 수정, 삭제, 토글.
## 이게 왜 필요한가
OpenClaw에는 AI 에이전트가 자동으로 작업을 실행하는 크론 시스템이 있습니다.
하지만 잡 관리가 `jobs.json` 파일을 직접 편집하는 방식이라:
- JSON 문법 실수 → 크론 전체 고장
- 스케줄 표현식(cron) 읽기 어려움
- 활성/비활성 토글이 수동
- 게이트웨이 재시작이 CLI 필요
이 도구는 이 모든 걸 **웹 브라우저 한 화면**에서 해결합니다.
## 스크린샷
```
┌──────────────────────────────────────────────────┐
│ 🐰 OpenClaw Cron Manager [+ 새 작업] │
│ 3개의 작업이 등록되어 있어요 [🔄 재시작] │
├──────┬───────────┬──────────┬───────┬────────────┤
│ 상태 │ 이름 │ 스케줄 │ 모델 │ 관리 │
├──────┼───────────┼──────────┼───────┼────────────┤
│ [ON] │ 아침 브리 │ 평일 │ nano │ ✏️ 🗑️ │
│ │ 핑 │ 09:00 │ │ │
├──────┼───────────┼──────────┼───────┼────────────┤
│ [ON] │ 비용 리포 │ 매일 │ nano │ ✏️ 🗑️ │
│ │ 트 │ 21:00 │ │ │
├──────┼───────────┼──────────┼───────┼────────────┤
│ [OFF]│ 테스트잡 │ 매 5분 │ mini │ ✏️ 🗑️ │
│ │ │ 마다 │ │ │
└──────┴───────────┴──────────┴───────┴────────────┘
```
## 기능
- **잡 목록** — 전체 크론 잡을 테이블로 표시 (이름, 스케줄, 모델, 결과)
- **한국어 스케줄** — `0 9 * * 1-5` → "평일 09:00" 자동 변환
- **활성/비활성 토글** — 원클릭 ON/OFF
- **잡 생성** — 모달에서 이름, 스케줄, 모델, 프롬프트 입력
- **잡 수정** — 기존 잡의 모든 필드 인라인 편집
- **잡 삭제** — 확인 후 삭제 (애니메이션)
- **게이트웨이 재시작** — 버튼 한 번으로 `systemctl --user restart openclaw-gateway`
- **완료 잡 자동 정리** — 일회성(at) 잡은 실행 완료 후 자동 제거
- **File lock** — `jobs.json` 동시 접근 안전 (fcntl)
## 필수 환경
| 항목 | 요구사항 |
|------|---------|
| Python | 3.10 이상 |
| OpenClaw | 설치 및 게이트웨이 실행 중 |
| OS | Linux 권장 (file lock용 fcntl). macOS/Windows도 동작 |
| 브라우저 | 아무거나 |
## 설치
### 1. 설치
```bash
git clone https://github.com/yourname/openclaw-cron-manager.git
cd openclaw-cron-manager
pip install .
```
### 2. 실행
```bash
openclaw-cron-manager
```
`~/.openclaw/cron/jobs.json`을 자동 탐지합니다. 브라우저에서 `http://localhost:8888` 접속.
### 3. (선택) 환경변수
```bash
export CRON_MANAGER_HOST=0.0.0.0 # 바인딩 주소 (기본: 0.0.0.0)
export CRON_MANAGER_PORT=8888 # 포트 (기본: 8888)
export OPENCLAW_HOME=~/.openclaw # OpenClaw 홈 (자동 탐지)
export TELEGRAM_CHAT_ID=123456789 # 새 잡 기본 Chat ID
```
### 4. (선택) systemd 서비스
```bash
cp examples/openclaw-cron-manager.service ~/.config/systemd/user/
systemctl --user daemon-reload
systemctl --user enable --now openclaw-cron-manager
```
## OpenClaw 크론 잡 구조
이 도구가 관리하는 `jobs.json`의 각 잡은 이런 구조입니다:
```json
{
"id": "uuid",
"name": "아침 브리핑",
"enabled": true,
"schedule": {
"tz": "Asia/Seoul",
"kind": "cron",
"expr": "0 9 * * 1-5"
},
"payload": {
"kind": "agentTurn",
"model": "openai/gpt-4.1-nano",
"message": "오늘의 일정과 할 일을 브리핑해줘"
},
"delivery": {
"mode": "announce",
"channel": "telegram",
"to": "채팅ID"
}
}
```
### 스케줄 종류
| kind | expr 예시 | 설명 |
|------|----------|------|
| `cron` | `0 9 * * 1-5` | 표준 크론식 (분 시 일 월 요일) |
| `every` | `30m` | 매 N분/시간마다 |
| `at` | `2026-03-15T14:00:00` | 1회성 예약 (완료 후 자동 삭제) |
### 배달 모드
| mode | 동작 |
|------|------|
| `none` | AI가 실행만 하고 결과를 보내지 않음 |
| `announce` | 실행 결과를 텔레그램으로 전송 |
## 보안 참고
- 이 도구는 **내부 네트워크 전용**입니다 (인증 없음)
- Tailscale, VPN, 또는 localhost에서만 접근하도록 설정하세요
- 공개 인터넷에 노출하지 마세요
## License
MIT
tools
Comments
Sign in to leave a comment