Install
openclaw skills install screen-reviewerMonitor computer activities via periodic screenshots, extract text with OCR, and generate daily review reports with ROI analysis. Use when the user asks about screen monitoring, daily review, time tracking, productivity analysis, activity logging, or 复盘.
openclaw skills install screen-reviewer自动截图 → 结构化日志 → AI 每日复盘报告。
scripts/ (relative to this skill directory)~/.screen-reviewer/ (screenshots, logs, reports, config)~/.screen-reviewer/config.yaml~/.screen-reviewer/reports/YYYY-MM-DD-review.md~/.screen-reviewer/venv/bin/pythonAll commands use service_manager.py. Use venv Python to run:
VENV=~/.screen-reviewer/venv/bin/python
SCRIPTS=<this-skill-dir>/scripts
$VENV $SCRIPTS/service_manager.py start # Start capture daemon
$VENV $SCRIPTS/service_manager.py stop # Stop daemon
$VENV $SCRIPTS/service_manager.py status # Check status + today's stats
$VENV $SCRIPTS/service_manager.py pause # Pause (daemon stays alive)
$VENV $SCRIPTS/service_manager.py resume # Resume capturing
$VENV $SCRIPTS/service_manager.py report # Yesterday's report
$VENV $SCRIPTS/service_manager.py report 2026-03-22 # Specific date
$VENV $SCRIPTS/service_manager.py cleanup # Delete screenshots > 3 days
$VENV $SCRIPTS/service_manager.py install # Install macOS auto-start
$VENV $SCRIPTS/service_manager.py uninstall # Remove auto-start
Run from the repo root:
bash install.sh
After setup, grant Screen Recording and Accessibility permissions: System Settings → Privacy & Security → Screen Recording → enable Terminal/Python.
Edit ~/.screen-reviewer/config.yaml:
| Key | Default | Description |
|---|---|---|
capture.interval_seconds | 5 | Screenshot interval |
capture.smart_detect | true | Skip unchanged frames |
capture.change_threshold | 5 | Min % pixel change to keep frame |
capture.jpeg_quality | 60 | JPEG quality (lower = smaller files) |
privacy.blacklist_apps | [1Password, ...] | Apps to skip |
ocr.enabled | true | Enable text extraction |
report.ai_provider | openai | openai / claude / ollama |
report.ai_model | gpt-4o-mini | Model name |
report.api_key_env | OPENAI_API_KEY | Env var holding the API key |
report.generation_hour | 8 | Auto-report time (with launchd) |
cleanup.keep_days | 3 | Days to keep screenshots |
categories.* | see config | App → value-tier mapping for ROI |
Each line in ~/.screen-reviewer/logs/YYYY-MM-DD.jsonl:
{"timestamp":"2026-03-22T14:30:05","app":"Cursor","window_title":"capture_daemon.py","screenshot":"screenshots/2026-03-22/14-30-05.jpg","ocr_text":"def main():..."}
| Issue | Fix |
|---|---|
| No screenshots | Grant Screen Recording permission |
| No window titles | Grant Accessibility permission |
| OCR returns empty | Re-run bash install.sh to recompile Swift tool |
| Report fails | Set AI API key: export OPENAI_API_KEY=sk-... |
| Daemon won't start | Check ~/.screen-reviewer/logs/daemon_stderr.log |
service_manager.py startservice_manager.py status, then read today's logservice_manager.py report [date]~/.screen-reviewer/config.yamlprivacy.blacklist_apps in configdu -sh ~/.screen-reviewer/screenshots/