Features: - Web Dashboard: FastAPI-based dashboard with Vue.js frontend - Multi-device support (ADB, HDC, iOS) - Real-time WebSocket updates for task progress - Device management with status tracking - Task queue with execution controls (start/stop/re-execute) - Detailed task information display (thinking, actions, completion messages) - Screenshot viewing per device - LAN deployment support with configurable CORS - Callback Hooks: Interrupt and modify task execution - step_callback: Called after each step with StepResult - before_action_callback: Called before executing action - Support for task interruption and dynamic task switching - Example scripts demonstrating callback usage - Configuration: Environment-based configuration - .env file support for all settings - .env.example template with documentation - Model API configuration (base URL, model name, API key) - Dashboard configuration (host, port, CORS, device type) - Phone agent configuration (delays, max steps, language) Technical improvements: - Fixed forward reference issue with StepResult - Added package exports for callback types and configs - Enhanced dependencies with FastAPI, WebSocket support - Thread-safe task execution with device locking - Async WebSocket broadcasting from sync thread pool Co-Authored-By: Claude <noreply@anthropic.com>
38 lines
655 B
Python
38 lines
655 B
Python
"""
|
|
Data models for the dashboard API.
|
|
|
|
Includes Pydantic schemas for devices, tasks, and WebSocket messages.
|
|
"""
|
|
|
|
from dashboard.models.device import (
|
|
DeviceType,
|
|
DeviceStatus,
|
|
DeviceSchema,
|
|
DeviceInfo,
|
|
)
|
|
from dashboard.models.task import (
|
|
TaskStatus,
|
|
TaskRequest,
|
|
TaskSchema,
|
|
TaskCreateRequest,
|
|
)
|
|
from dashboard.models.ws_messages import (
|
|
WSMessageType,
|
|
WSMessage,
|
|
StepUpdate,
|
|
)
|
|
|
|
__all__ = [
|
|
"DeviceType",
|
|
"DeviceStatus",
|
|
"DeviceSchema",
|
|
"DeviceInfo",
|
|
"TaskStatus",
|
|
"TaskRequest",
|
|
"TaskSchema",
|
|
"TaskCreateRequest",
|
|
"WSMessageType",
|
|
"WSMessage",
|
|
"StepUpdate",
|
|
]
|