1
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Installation
2
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## From PyPI
4
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```bash
6
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
pip install planopticon
7
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
8
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
9
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### Optional extras
10
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
11
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```bash
12
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# PDF export support
13
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
pip install planopticon[pdf]
14
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
15
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Google Drive + Dropbox integration
16
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
pip install planopticon[cloud]
17
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
18
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# GPU acceleration
19
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
pip install planopticon[gpu]
20
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
21
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Everything
22
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
pip install planopticon[all]
23
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
24
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
25
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## From source
26
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
27
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```bash
28
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
git clone https://github.com/ConflictHQ/PlanOpticon.git
29
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
cd PlanOpticon
30
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
pip install -e ".[dev]"
31
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
32
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
33
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Binary download
34
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
35
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Download standalone binaries (no Python required) from
36
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
[GitHub Releases](https://github.com/ConflictHQ/PlanOpticon/releases):
37
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
38
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Platform | Download |
39
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|----------|----------|
40
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| macOS (Apple Silicon) | `planopticon-macos-arm64` |
41
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| macOS (Intel) | `planopticon-macos-x86_64` |
42
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Linux (x86_64) | `planopticon-linux-x86_64` |
43
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Windows | `planopticon-windows-x86_64.exe` |
44
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
45
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## System dependencies
46
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
47
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
PlanOpticon requires **FFmpeg** for audio extraction:
48
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
49
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
=== "macOS"
50
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
51
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```bash
52
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
brew install ffmpeg
53
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
54
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
55
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
=== "Ubuntu/Debian"
56
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
57
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```bash
58
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
sudo apt-get install ffmpeg libsndfile1
59
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
60
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
61
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
=== "Windows"
62
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
63
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Download from [ffmpeg.org](https://ffmpeg.org/download.html) and add to PATH.
64
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
65
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## API keys
66
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
67
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
You need at least one AI provider API key **or** a running Ollama server.
68
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
69
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### Cloud providers
70
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
71
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Set API keys as environment variables:
72
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
73
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```bash
74
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
export OPENAI_API_KEY="sk-..."
75
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
export ANTHROPIC_API_KEY="sk-ant-..."
76
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
export GEMINI_API_KEY="AI..."
77
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
78
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
79
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Or create a `.env` file in your project directory:
80
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
81
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
82
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
OPENAI_API_KEY=sk-...
83
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
ANTHROPIC_API_KEY=sk-ant-...
84
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
GEMINI_API_KEY=AI...
85
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
86
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
87
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### Ollama (fully offline)
88
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
89
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
No API keys needed — just install and run [Ollama](https://ollama.com):
90
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
91
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```bash
92
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Install Ollama, then pull models
93
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
ollama pull llama3.2 # Chat/analysis
94
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
ollama pull llava # Vision (diagram detection)
95
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
96
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Start the server (if not already running)
97
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
ollama serve
98
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
99
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
100
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
PlanOpticon auto-detects Ollama and uses it as a fallback when no cloud API keys are set. For a fully offline pipeline, pair Ollama with local Whisper transcription (`pip install planopticon[gpu]`).
101
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
102
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
PlanOpticon will automatically discover which providers are available and route to the best model for each task.
103
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!