96 lines
2.2 KiB
Markdown
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/`.
|