FYI Automation Tool - Getting Started
Welcome to the FYI Automation Tool documentation! This AI-powered Android automation platform provides natural language commands, Vision Model UI detection, flow-based testing, and Plane.so integration for project management.
๐ Quick Start Overviewโ
Get up and running with the FYI Automation Tool in just a few steps. This platform allows you to automate Android device testing through natural language commands and computer vision.
๐ Prerequisitesโ
System Requirementsโ
- Operating System: macOS (10.14+), Windows (10+), or Linux (Ubuntu 20.04+)
- RAM: 8GB minimum, 16GB recommended (for AI models)
- Storage: 5GB free space
- USB: Available USB ports for device connections
- Object Storage: S3-compatible bucket (AWS S3 or MinIO) for recordings and audio files
What you'll needโ
Core Dependenciesโ
- Node.js version 20.0 or higher:
- When installing Node.js, you are recommended to check all checkboxes related to dependencies
- npm version 9.0 or higher (usually comes with Node.js)
- PostgreSQL database
Android Development Toolsโ
- ADB (Android Debug Bridge) - part of Android SDK Platform Tools
- scrcpy 2.0 or higher for screen mirroring
- Appium CLI 3.x installed globally (
npm install -g appium) for device control
Object Storage for Recordings & Audioโ
- AWS S3 or MinIO (or any S3-compatible service)
- Create two buckets:
recordings(for screen recordings)audio(for audio prompts and playback)
- Required environment variables in
server/.env:S3_ACCESS_KEY=YOUR_KEY
S3_SECRET_KEY=YOUR_SECRET
S3_ENDPOINT=https://s3.your-cloud.com # or http://localhost:9000 for MinIO
S3_RECORDINGS_BUCKET_NAME=recordings
S3_AUDIO_BUCKET_NAME=audio
S3_REGION=us-east-1
S3_USE_PATH_STYLE=true # set true for MinIO
Optional AI Servicesโ
- Python 3.11+ for MoonDream Vision API
- LM Studio for AI features
- Ollama for screen verification (required if using Verify Screen steps):
- Install Ollama from https://ollama.ai
- Pull a vision-capable model: Recommended:
ollama pull qwen3-vl:30b-a3b-instruct-q8_0(or anyqwen3-vlmodel) - Configure in
server/.env:OLLAMA_BASE_URL=http://localhost:11434
OLLAMA_MODEL_ID=qwen3-vl:30b-a3b-instruct-q8_0 # recommended, or your chosen vision model - See Supported Steps - Ollama Configuration for details
โก Quickstart: Use Hosted MoonDreamโ
Skip local MoonDream setup by using the hosted endpoint:
# In server/.env
MOONDREAM_URL=https://moondream.fyi.ai:9443/
- Health endpoint: https://moondream.fyi.ai:9443/
- Details: MoonDream Setup โ Use Hosted MoonDream (Quickstart)
Installation Commandsโ
macOS (using Homebrew)โ
# Install core dependencies
brew install node postgresql adb scrcpy
npm install -g appium
# Optional: Install Python for vision services
brew install python@3.11
Ubuntu/Debianโ
# Update package list
sudo apt update
# Install core dependencies
sudo apt install nodejs npm postgresql android-tools-adb scrcpy
sudo npm install -g appium
# Optional: Install Python
sudo apt install python3.11 python3-pip
Windowsโ
# Install Node.js from: https://nodejs.org/
# Install Appium CLI: npm install -g appium
# Install ADB: https://developer.android.com/studio/command-line/adb
# Install scrcpy from: https://github.com/Genymobile/scrcpy
๐๏ธ Project Setupโ
1. Clone and Install Dependenciesโ
# Clone the repository
git clone <your-repo-url>
cd fyi-automation-tool
# Install frontend dependencies
npm install
# Install backend dependencies
cd server && npm install && cd ..
2. Setup Databaseโ
# Start PostgreSQL service
sudo systemctl start postgresql
# Enable PostgreSQL to start on boot
sudo systemctl enable postgresql
# Verify database is running
sudo systemctl status postgresql
3. Configure Environment Variablesโ
# Copy environment templates
cp sample.env .env
cp server/sample.env server/.env
cp moondream/sample.env moondream/.env
# Configure your environment variables (see README.md for details)
# Important: If using Verify Screen steps, configure Ollama in server/.env:
# OLLAMA_BASE_URL=http://localhost:11434
# OLLAMA_MODEL_ID=qwen3-vl:30b-a3b-instruct-q8_0 # recommended, or any qwen3-vl model
4. Initialize Databaseโ
cd server
npx prisma generate
npx prisma db push
cd ..
๐ฑ Android Device Setupโ
Enable Developer Optionsโ
- Go to Settings > About phone
- Tap Build number 7 times until you see "You are now a developer"
Enable USB Debuggingโ
- Go to Settings > Developer options
- Enable USB debugging
- Connect your Android device via USB
- Authorize the connection when prompted
๐ Start the Applicationโ
Development Modeโ
# Start both backend and frontend
npm run dev:full
# Or start separately:
npm run dev # Frontend on :8080
cd server && npm run dev # Backend on :3001
Production Modeโ
# Start full stack with Docker
docker-compose up -d
๐ Access Pointsโ
- Frontend: http://localhost:8080
- Backend API: http://localhost:3001
- Health Check: http://localhost:3001/api/health
- Database Admin: http://localhost:5556 (run
npx prisma studio --port 5556)
๐งช Basic Usageโ
Once everything is running, you can start automating your Android device with natural language commands like:
- "take a screenshot"
- "tap on the search button"
- "type hello world"
- "swipe up slowly"
- "open Settings app"
๐ What's Next?โ
- Explore the comprehensive API Reference for all available endpoints
- Learn about Flow Management for creating and executing automation flows
- Set up Device Management for Android device control
- Configure AI Automation & Vision for intelligent automation
- Manage Project & Work Items with Plane.so integration
For detailed information about features, API endpoints, and advanced configuration, refer to the main README.md in the project root.