Every answer opens a new question. Type any topic and get an interactive knowledge graph of connected concepts, sources, and ideas, generated by the AI provider of your choice.
About | Download | Quick Start | Providers | Settings | Releases | Tech Stack
Infinity Loop is a cross-platform desktop application for visual knowledge exploration. You enter a concept — "quantum entanglement", "history of jazz", "how TCP/IP works" — and the app builds a live graph: idea nodes, connections between them, and sources and images pulled from the web.
The app has two modes:
- Seek — AI search mode. Ask a question, and your chosen AI provider together with Tavily build the graph.
- Dev — code analysis mode. Load a codebase, and the app maps out its architecture.
All API keys are stored in the Rust backend and are never exposed to the web view or written to the frontend.
Prebuilt installers for Windows, macOS, and Linux are published on the Releases page:
| Platform | File |
|---|---|
| Windows 10 / 11 | .exe (NSIS installer) |
| macOS (Apple Silicon and Intel) | .dmg |
| Linux | .AppImage, .deb |
After installing, open Settings and choose a provider, then enter the matching API key.
| Tool | Version | Why |
|---|---|---|
| Node.js | 18+ | Frontend build |
| Rust | stable | Backend |
| Tauri CLI prerequisites | 2.x | Platform build tools |
| Tavily API key | - | Web search |
| One AI provider key | - | Graph generation (see below) |
# 1. Clone the repo
git clone https://github.com/arelove/infinity-loop.git
cd infinity-loop
# 2. Install dependencies
npm install
# 3. Run in dev mode
npm run tauri devOnce the app is running, open Settings from the toolbar and enter your keys. Keys are stored by the Rust backend in the OS application-config directory and are never sent anywhere except the official provider APIs.
Choose any of the following in Settings. Only the Tavily key (for web search) plus one provider key are required.
| Provider | Where to get a key | Notes |
|---|---|---|
| Google Gemini | aistudio.google.com/apikey | Default; free tier available |
| OpenAI (ChatGPT) | platform.openai.com/api-keys | |
| Anthropic (Claude) | console.anthropic.com | |
| xAI (Grok) | console.x.ai | |
| NVIDIA NIM | build.nvidia.com | |
| Local (Ollama) | - | No key; runs a local model, only the base URL is needed |
You can also type any model id that is not in the suggestion list.
PDF structural analysis in Dev mode uses Google Gemini specifically (native PDF reading), so a Gemini key is needed for that feature regardless of the active chat provider.
Open Settings from the toolbar to configure:
- AI Provider — which model powers exploration
- Model — pick from suggestions or enter a custom id
- API keys — one per provider (stored in the backend, shown only as "set")
- Tavily key — web search
- Graphics Quality — High for full animations and effects, or Low for older or integrated GPUs
| Key | Action |
|---|---|
Ctrl+S |
Save graph |
Ctrl+E |
Export as PNG |
Ctrl+R |
Reset / new search |
Escape |
Close modal |
npm run tauri buildBundles are written under src-tauri/target/release/bundle/:
- Windows:
nsis/InfinityLoop_<version>_x64-setup.exe - macOS:
dmg/Infinity Loop_<version>_<arch>.dmg - Linux:
appimage/anddeb/
On Windows the NSIS installer works on both Windows 10 and 11. If WebView2 is not already present, the installer downloads and installs it automatically.
Every push and pull request runs .github/workflows/ci.yml: svelte-check for
the frontend, and cargo fmt, cargo clippy, and cargo test for the backend.
infinity-loop/
├── src/ # Frontend (SvelteKit + Svelte 5)
│ ├── lib/
│ │ ├── components/ # UI components (incl. TitleBar)
│ │ ├── i18n/ # Localization (EN / RU)
│ │ └── api.ts # IPC calls to the Rust backend
│ └── routes/
│ ├── _seek/ # AI search mode
│ └── _dev/ # Code analysis mode
│
└── src-tauri/ # Backend (Rust + Tauri 2)
└── src/
└── lib.rs # Provider dispatch, streaming, sessions, config
- Tauri 2 — native shell, IPC, filesystem access
- SvelteKit + Svelte 5 — reactive UI with runes
- Xyflow/Svelte — interactive node graph
- Tailwind CSS — styling
- GSAP — animations
- Rust — HTTP client (reqwest), streaming, session storage, provider proxy
The app supports English and Russian. Use the language switcher in the app.
To add a language, copy src/lib/i18n/en.ts and translate the strings.
Apache 2.0, Arelove (https://github.com/arelove)


