A GUI-based agent to help you stay consistent with daily check-ins. Perfect for tracking habits, tasks, or goals with an intuitive interface and customizable features.
# 1. Clone the repository
git clone https://github.com/Jiaxi-Huang/DailyCheck-Agent.git
cd DailyCheck-Agent
# 2. Install dependencies
pip install .
# 3. Download ADB (scrcpy)
curl -L -o scrcpy-macos-aarch64-v3.3.4.tar.gz https://github.com/Genymobile/scrcpy/releases/download/v3.3.4/scrcpy-macos-aarch64-v3.3.4.tar.gz && \
tar -xzvf scrcpy-macos-aarch64-v3.3.4.tar.gz && \
rm -r scrcpy-macos-aarch64-v3.3.4.tar.gz && \
mv scrcpy-* scrcpy
# 4. Configure API key (edit config/api.yml)
# 5. Run
dailycheck# Standard installation
pip install .
# Development mode (with dev dependencies)
pip install -e ".[dev]"# Standard installation
uv pip install .
# Development mode
uv pip install -e ".[dev]"The project requires ADB for device control. You can download it automatically or manually:
# macOS ARM64
curl -L -o scrcpy-macos-aarch64-v3.3.4.tar.gz https://github.com/Genymobile/scrcpy/releases/download/v3.3.4/scrcpy-macos-aarch64-v3.3.4.tar.gz && \
tar -xzvf scrcpy-macos-aarch64-v3.3.4.tar.gz && \
rm -r scrcpy-macos-aarch64-v3.3.4.tar.gz && \
mv scrcpy-* scrcpyFor other platforms, download from scrcpy releases.
Before using DailyCheck-Agent, you need to enable ADB debugging on your Android device:
- Open Settings on your device
- Go to About Phone
- Find Build Number (or MIUI Version on Xiaomi devices)
- Tap it 7 times quickly until you see "You are now a developer!"
- Go to Settings > Additional Settings > Developer Options
- Find and enable USB Debugging
- In Developer Options, find USB Configuration or Default USB Configuration
- Select RNDIS (USB Ethernet) mode
Note: The exact menu names may vary depending on your device manufacturer and Android version.
Configure LLM API in config/api.yml:
api:
open-router:
model: "z-ai/glm-4.7-flash"
api-key: "your-api-key-here"
siliconflow:
model: "Pro/zai-org/GLM-4.7"
api-key: "your-api-key-here"Supported API providers:
Define tasks in config/tasks.yml:
tasks:
taobao_checkin:
name: "Taobao Check-in"
app: "Taobao"
steps:
- name: "Open app"
description: "Find and tap the Taobao app icon on home screen"
- name: "Start check-in"
description: "Tap the button that starts the daily check session"
- name: "Open sub page"
description: "Find and tap the 领淘金币 icon to enter sub page"
- name: "Complete check-in"
description: "Tap the 点击签到 button that completes the daily check session"
- name: "Finish"
description: "Returned to app home, call task_complete"Task configuration fields:
name: Task display nameapp: Target application namesteps: List of task steps, each containing:name: Step namedescription: Step description to guide AI in identifying UI elements and actions
# Basic usage (runs all tasks)
dailycheck
# Specify a task
dailycheck taobao_checkin
# List all available tasks
dailycheck --list-tasks
# With custom options
dailycheck taobao_checkin --api-provider open-router --max-steps 50
# View help
dailycheck --helppython -m dailycheck_agent taobao_checkinchmod +x run.sh
./run.sh taobao_checkin open-routerThe agent features a claude-code style terminal UI that displays:
- Progress bar - Real-time visualization of task completion
- Task list - All tasks with status indicators (○ pending, ● running, ✅ success, ❌ failure)
- Current action - Spinner animation with current step count and action description
- Clean output - Logs are written to
~/.dailycheck/logs/dailycheck.log, only errors shown in console
Example output:
DailyCheck Agent
[████████████░░░░░░░░░░░░░░░░░] 2/0/5
Tasks:
✅ 阿里云盘签到
● ▶ 淘宝领取淘金币
Tap the 淘宝 icon
Progress:
⠙ 15/50 Tap the 淘宝 icon
| Option | Short | Default | Description |
|---|---|---|---|
task_name |
taobao_checkin |
Task name (positional argument) | |
--api-provider |
-a |
open-router |
API provider name |
--device-serial |
-d |
Auto-detect | Device serial number |
--adb-path |
./scrcpy/adb |
ADB executable path | |
--max-steps |
-m |
50 |
Maximum execution steps |
--config-dir |
Configuration directory | ||
--version |
-v |
Show version number |
dailycheck-agent/
├── dailycheck_agent/ # Main module
│ ├── __init__.py
│ ├── __main__.py # Module entry point
│ ├── cli.py # Command-line interface
│ ├── main.py # Agent core logic
│ └── lib/
│ ├── api_request.py # LLM API requests
│ ├── config_loader.py # Configuration loader
│ ├── prompt.py # Prompt builder
│ ├── tui.py # Terminal UI
│ └── render.py # Screen renderer
├── config/
│ ├── api.yml # API configuration
│ ├── tasks.yml # Task configuration
│ └── prompts.yml # Prompt templates
├── scrcpy/ # ADB tools
├── tests/ # Test suite
├── assets/ # Assets
├── pyproject.toml # Project configuration
└── run.sh # Startup script (legacy)
This project is licensed under the MIT License - see the LICENSE file for details.

