Files
concept-maker/README.md

96 lines
2.2 KiB
Markdown

# Concept Maker
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`.
## Features
- 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.
- Preview concepts as Markdown/PDF.
- Generate an image prompt and optional image asset for a concept.
- Save and reopen local sessions.
## Requirements
- Node.js and npm
- Rust toolchain
- Python 3.9+
- Ollama running locally, defaulting to `http://localhost:11434`
- Optional local SearXNG instance for prior-art search, defaulting to `http://localhost:8888`
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
```
## Development
Run the desktop app:
```bash
npm run dev
```
Run the web UI in a browser:
```bash
npm run dev:web
```
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
Runtime data is stored in `.idea-hole/`.