# Install Manifield and connect AI

Download the free Manifield math research app for macOS, open an example project and connect an AI provider when you want an assistant.

## What you need

- A Mac with **macOS 15 or later**, Apple silicon or Intel.
- Nothing else for the library, the graph, statuses, notation and search. They work without an account and without AI.
- For the AI features: an API key from one of the supported providers, or a ChatGPT account (see [Connect AI](#connect-ai)).

## Install

1. Download the latest `Manifield-<version>.dmg` from the [releases page](https://github.com/stanislaw13/Manifield/releases).
2. Open the disk image and drag **Manifield** to **Applications**.
3. Start it from Applications, not from the disk image. Run from the disk image, macOS gives the app a temporary read-only location, and the Python sandbox misbehaves there.
4. Allow access to your Documents folder when macOS asks.

The app is signed and notarized. It updates itself: **Manifield → Check for Updates…**, and automatic checks can be switched off under **Settings → General → Updates**.

## Open the example

The repository contains a small project you can open straight away: working notes on Baire category and the open mapping and closed graph theorems, 27 items with a few unfinished proofs.

1. Download or clone the [repository](https://github.com/stanislaw13/Manifield).
2. In Manifield, choose **Open Project…** and pick `examples/baire-category/baire-notes`.
3. Browse **All Items**, open the **Dependency Graph**, and start from the Baire category theorem.

None of this needs a model.

## Start your own project

Choose **New Project**, then go to **Import**. There are two different things you can do there:

- **Add files to the project** copies PDFs or `.tex` files into the project and extracts their text on your Mac. No model is involved.
- **Import into the library** sends a `.tex` file or a PDF to the Organizer, an AI model that proposes a structured breakdown: one item per definition, lemma, theorem and conjecture, with the dependencies it reads from the proofs. You review every proposed item before anything is written. The links it finds are worth checking; on the example notes, 14 of them pointed to the wrong item and were fixed by hand.

You can also write items by hand: **New Item** in the library.

## Connect AI

Open **Settings** (⌘,) and go to **AI Providers**. Either:

- **Add an API key** for Anthropic, OpenAI, Google Gemini, xAI, Z.ai or NVIDIA. Keys are stored in the macOS Keychain, and requests go straight from your Mac to the provider.
- **Sign in with a ChatGPT account** under **Codex (ChatGPT account)**. Manifield runs Codex as a separate local process with its own private settings, and draws on your ChatGPT plan's included usage instead of API billing. Signing in here is independent of the ChatGPT app or the Codex CLI.

Then set the **Provider**: the picker starts on Anthropic. Under **Profile**, add a line about your background ("PhD student in extremal graph theory, prefers combinatorial arguments"). The assistant adapts its explanations to it.

### Models per task

**Settings → Roles** sets a model for each task: the chat, the importer, the prover, the reviewer, the explorer, the planner, the research director and the researcher. Anything left on *Default* uses the provider and model from AI Providers. The reviewer should never be weaker than the model it judges.

## Set up Python

The assistant tests conjectures by running small Python scripts. That needs a one-time setup: **Settings → General → Python environment → Set Up Environment**. It creates a shared virtual environment in `~/Library/Application Support/Manifield/pyenv` with networkx, sympy, numpy and matplotlib. It needs the network once, to install those packages; scripts themselves run without network access.

Time limits for scripts are under **Settings → Limits → Python sandbox**.

## Report a problem

**Help → Report a Bug…** opens the feedback form. It shows exactly what will be sent before you send it, and it never includes your project's content. If sending fails, save the report to a file and paste it into a [GitHub issue](https://github.com/stanislaw13/Manifield/issues).
