# Alfi - AI Web Navigation Assistant

Alfi is an AI-powered voice assistant that helps users navigate through websites efficiently. It provides voice-based interaction to understand website content and navigate to relevant sections using natural language processing.

## Features

- 🎙️ Voice command recognition for web navigation
- 🤖 AI-powered content understanding and summarization
- 🔍 Smart navigation to specific sections
- 🌐 Works with any website
- 🔊 Text-to-speech responses
- 🛡️ Secure API key handling
- 📱 Responsive floating microphone interface

## Prerequisites

- Node.js 16 or higher
- Chrome browser installed
- OpenAI API key
- A working microphone

## Installation

```bash
# Install globally (recommended for CLI usage)
npm install -g @collin/alfi

# Or install in your project
npm install @collin/alfi
npm install -g alfi
```

## Configuration

Before using Alfi, you need to set up your OpenAI API key:

```bash
export OPENAI_API_KEY='your-api-key-here'
```

## Usage

### As a CLI Tool

```bash
# Start Alfi with browser interface
alfi
```

This will open a Chrome browser window with a microphone button in the bottom right corner. Click the button to:

1. Start voice recording (button turns red)
2. Speak your command
3. Wait for Alfi to process and execute your command

### As a Module

```typescript
import { BrowserController } from '@collin/alfi';

// Initialize with your API key
BrowserController.initialize('your-api-key-here');

// Start the browser controller
const controller = await BrowserController.create();
await controller.start();
```

### Example Commands

- "Go to example.com"
- "Summarize this page"
- "Navigate to the products section"
- "Tell me what this website is about"
- "Scroll down"
- "Go back"
- "Find the pricing section"

## Security

- API keys are stored securely in memory
- Voice data is processed locally before being sent to OpenAI
- Website content is analyzed locally when possible
- All communication with external services is encrypted

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## License

MIT License - see the [LICENSE](LICENSE) file for details

## Support

If you encounter any issues or have questions, please file an issue on the GitHub repository.
