2026-05-07 20:11:13 +02:00
# Concept Maker
2025-09-12 21:45:11 +02:00
2026-05-07 20:11:13 +02:00
A Tauri desktop app that turns raw ideas, notes, URLs, and files into a clear project concept. The UI is React/Vite, the desktop shell is Tauri, and the Python backend is exposed through `concept_api.py` .
2025-09-12 21:45:11 +02:00
## Features
2026-05-07 20:11:13 +02:00
- Add files, folders, and URLs as source material.
- Write freeform notes and ask a local Ollama model to rephrase, extend, or generate a concept.
- Build a JSONL knowledge base from selected files using `corpus_builder.py` when available, with a lightweight fallback in the backend.
- Search for prior art through SearXNG and Ollama embeddings.
2026-05-07 23:29:10 +02:00
- Preview concepts as Markdown/PDF.
2026-05-07 20:11:13 +02:00
- Generate an image prompt and optional image asset for a concept.
- Save and reopen local sessions.
2025-09-12 21:45:11 +02:00
## Requirements
2026-05-07 20:11:13 +02:00
- Node.js and npm
- Rust toolchain
2025-09-12 21:45:11 +02:00
- Python 3.9+
2026-05-07 20:11:13 +02:00
- Ollama running locally, defaulting to `http://localhost:11434`
- Optional local SearXNG instance for prior-art search, defaulting to `http://localhost:8888`
2025-09-13 04:05:07 +02:00
2026-05-07 20:11:13 +02:00
Python packages are listed in `requirements.txt` . Some features also depend on external command-line tools:
- `pandoc` or `wkhtmltopdf` for higher-quality Markdown to PDF export
- `tesseract` and `ocrmypdf` for OCR-heavy ingestion
- `ffmpeg` /`ffprobe` for media handling
## Setup
Install JavaScript dependencies:
```bash
npm install
```
Install Python backend dependencies:
```bash
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -r requirements.txt
```
Ensure Ollama is running before using model-backed actions:
```bash
ollama serve
```
2025-09-12 21:45:11 +02:00
## Development
2026-05-07 20:18:39 +02:00
Run the desktop app:
2026-05-07 20:11:13 +02:00
```bash
npm run dev
```
2026-05-07 20:18:39 +02:00
Run the web UI in a browser:
2026-05-07 20:11:13 +02:00
```bash
2026-05-07 20:18:39 +02:00
npm run dev:web
2026-05-07 20:11:13 +02:00
```
Build the frontend:
```bash
npm run build
```
Build the desktop bundle:
```bash
npm run tauri build
```
## Project Layout
- `src/` : React frontend
- `src-tauri/` : Tauri desktop shell and Rust commands
- `concept_api.py` : JSON action backend invoked by Tauri
- `corpus_builder.py` : optional richer file ingestion pipeline
- `websearch.py` : prior-art search helpers
- `requirements.txt` : Python backend dependencies
## Configuration
Environment variables:
- `OLLAMA_HOST` : override the Ollama URL
- `IDEA_HOLE_MODEL` : default model name
- `SEARX_URL` : default SearXNG base URL
2026-05-07 23:29:10 +02:00
Runtime data is stored in `.idea-hole/` .