docs(dating-autopilot): add README with usage and architecture

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Quinn Ftw 2025-12-28 17:31:55 -08:00
parent cc7e41a089
commit e89fee61b3

View file

@ -0,0 +1,96 @@
# Dating Autopilot
Browser automation for dating platforms - automate the tedious chores of using sites like Seeking, Tryst, and SugarDaddy.
## Overview
Dating Autopilot generates intelligent, human-like automation scripts that run in the browser console. These scripts handle repetitive tasks like profile favoriting while simulating realistic user behavior to avoid detection.
## Structure
```
dating-autopilot/
├── cli.ts # CLI entry point
├── index.ts # Package exports
├── types.ts # TypeScript interfaces
├── codegen/ # Code generators (produce JS strings)
│ ├── timing.ts # Realistic timing with randomization
│ ├── mouse.ts # Mouse movement simulation
│ ├── persistence.ts # LocalStorage state management
│ ├── controls.ts # Start/pause/stop controls
│ ├── toast.ts # Error toast detection
│ ├── seeking-card-parser.ts
│ └── seeking-location-filter.ts
├── platforms/ # Autopilot implementations
│ └── seeking-auto-favorite.ts
└── extensions/ # Browser extensions
└── firefox-seeking/
```
## Usage
### CLI (Code Generation)
Generate a script to paste into browser console:
```bash
npx tsx cli.ts --min-age 30 --max-age 45
```
Options:
- `--min-age <n>` - Minimum age (default: 35)
- `--max-age <n>` - Maximum age (optional)
- `--no-verified` - Don't require verified badge
- `--help` - Show all options
### Firefox Extension
Load `extensions/firefox-seeking/` as a temporary add-on in Firefox for a GUI interface.
## How It Works
1. **Code Generation**: TypeScript functions generate JavaScript code strings
2. **Human-like Behavior**: Realistic timing, mouse movement curves, idle animations
3. **Persistence**: Progress saved to localStorage, survives page reloads
4. **Error Handling**: Detects failure toasts, retries with backoff
## Adding a New Platform
1. Create platform-specific code generators in `codegen/`
2. Create autopilot implementation in `platforms/`
3. Register in `index.ts` generators registry
4. Optionally create browser extension in `extensions/`
## Architecture
### Code Generators
Each generator is a function returning a JavaScript code string:
```typescript
export function generateTimingHelpers(): string {
return `function wait(baseMs) { ... }`;
}
```
### Autopilot Generator Interface
```typescript
interface AutopilotGenerator<TConfig> {
id: string;
name: string;
description: string;
defaultConfig: TConfig;
generate(config: TConfig): GeneratedScript;
}
```
## Current Implementations
### Seeking Auto-Favorite
Automates profile favoriting on Seeking.com:
- Age and location filtering
- Verified badge requirement
- Dual view support (feed + search)
- Retry logic for failed favorites