Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 34 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,11 @@ Every action the AI takes is logged:

## Recommended AI Models

Vesper works with any model on [OpenRouter](https://openrouter.ai). For the best experience:
Vesper supports two LLM providers — choose in **Settings > LLM Provider**:

### OpenRouter (default)

Access 200+ models via a single API key from [OpenRouter](https://openrouter.ai):

| Model | Why Use It | Speed | Cost |
|-------|-----------|-------|------|
Expand All @@ -124,6 +128,19 @@ Vesper works with any model on [OpenRouter](https://openrouter.ai). For the best

**Our recommendation:** Start with **Hermes 4** or **Claude Sonnet 4** for daily use. Reach for **Claude Opus 4.6** when you need deep reasoning.

### MiniMax (direct)

Connect directly to [MiniMax](https://www.minimaxi.com) models without an OpenRouter middleman:

| Model | Why Use It | Context | Speed |
|-------|-----------|---------|-------|
| **`MiniMax-M2.7`** | Latest MiniMax model with strong tool-calling and reasoning. | 1M tokens | Fast |
| **`MiniMax-M2.7-highspeed`** | Lower latency variant of M2.7 — great for quick commands. | 1M tokens | Fastest |
| **`MiniMax-M2.5`** | Previous generation, still very capable. | 204K tokens | Fast |
| **`MiniMax-M2.5-highspeed`** | Fastest MiniMax option, ideal for simple operations. | 204K tokens | Fastest |

Get your MiniMax API key at [platform.minimax.io](https://platform.minimax.io).

---

## Quick Start
Expand All @@ -134,19 +151,26 @@ Vesper works with any model on [OpenRouter](https://openrouter.ai). For the best
|------|-------|
| **Flipper Zero** | [shop.flipperzero.one](https://shop.flipperzero.one) |
| **Android device** | Android 8.0+ (API 26), Bluetooth required |
| **OpenRouter account** | Free signup, pay-per-use — [openrouter.ai](https://openrouter.ai) |
| **LLM API key** | [OpenRouter](https://openrouter.ai) (200+ models) or [MiniMax](https://platform.minimax.io) (direct) |

### 1. Prep Your Flipper
1. Charge it up (USB-C)
2. Update firmware via [qFlipper](https://flipperzero.one/update) (recommended)
3. Enable Bluetooth: Settings > Bluetooth > ON

### 2. Get an OpenRouter API Key
### 2. Get an API Key

**Option A — OpenRouter** (recommended for beginners):
1. Sign up at [openrouter.ai](https://openrouter.ai)
2. Go to **Keys** > **Create Key**
3. Copy the key (`sk-or-...`) — you'll paste this into Vesper
4. Add $5-10 in credits to start (most conversations cost pennies)

**Option B — MiniMax** (direct access):
1. Sign up at [platform.minimax.io](https://platform.minimax.io)
2. Create an API key in the console
3. In Vesper, switch **LLM Provider** to MiniMax and paste the key

### 3. Build & Install

```bash
Expand Down Expand Up @@ -218,6 +242,7 @@ Vesper supports hands-free operation via Mentra smart glasses.
├─────────────────────────────────────────┤
│ Data Layer │
│ ├── OpenRouterClient (LLM API) │
│ ├── MiniMaxClient (LLM API) │
│ ├── FlipperBleService (BLE transport) │
│ ├── GlassesIntegration (Mentra bridge) │
│ ├── Room Database (chat + audit) │
Expand All @@ -231,7 +256,9 @@ Vesper supports hands-free operation via Mentra smart glasses.
V3SP3R/
├── app/src/main/java/com/vesper/flipper/
│ ├── ai/ # AI integration
│ │ ├── OpenRouterClient.kt # LLM API, tool calling, JSON repair
│ │ ├── OpenRouterClient.kt # OpenRouter LLM API, tool calling, JSON repair
│ │ ├── MiniMaxClient.kt # MiniMax LLM API (direct, OpenAI-compatible)
│ │ ├── LlmProvider.kt # Provider enum (OpenRouter / MiniMax)
│ │ ├── VesperAgent.kt # Conversation orchestrator
│ │ ├── VesperPrompts.kt # System prompts
│ │ ├── PayloadEngine.kt # Payload generation
Expand Down Expand Up @@ -318,10 +345,11 @@ V3SP3R/
<details>
<summary><strong>AI not responding</strong></summary>

1. Verify your OpenRouter API key in Settings
2. Check your OpenRouter credit balance at [openrouter.ai](https://openrouter.ai)
1. Verify your API key in Settings (OpenRouter or MiniMax, depending on your selected provider)
2. Check your credit balance at [openrouter.ai](https://openrouter.ai) or [platform.minimax.io](https://platform.minimax.io)
3. Check internet connection
4. Try a different model — some may be temporarily unavailable
5. Try switching providers (Settings > LLM Provider)
</details>

<details>
Expand Down
17 changes: 17 additions & 0 deletions app/src/main/java/com/vesper/flipper/ai/LlmProvider.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package com.vesper.flipper.ai

/**
* Supported LLM providers for AI-powered chat.
* OpenRouter provides access to dozens of models via a single API key.
* MiniMax provides direct access to MiniMax M2.7 / M2.5 models.
*/
enum class LlmProvider(val displayName: String) {
OPEN_ROUTER("OpenRouter"),
MINIMAX("MiniMax");

companion object {
fun fromName(name: String): LlmProvider {
return entries.find { it.name.equals(name, ignoreCase = true) } ?: OPEN_ROUTER
}
}
}
Loading