← Back to Plugins
Tools

Claw Cron Manager

EESIZ By EESIZ 👁 16 views ▲ 0 votes

OpenClaw AI 에이전트의 크론 잡을 브라우저에서 관리

GitHub

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

Loading comments...