-
Notifications
You must be signed in to change notification settings - Fork 4
Setup
Haoxiang Xu edited this page Mar 12, 2026
·
2 revisions
Home | To Developer | Deployment | Architecture
This page covers the development setup only. User-facing installers and release downloads stay in the main README.md.
- Node.js and
npm- The repo does not currently pin a Node engine version.
- JavaScript dependencies, including Electron
40.6.0, come frompackage.jsonandpackage-lock.json.
- Python
3.12.x- PuPu expects Python
3.12.xfor the local Miso sidecar runtime. - The bootstrap scripts rebuild
.venvor.venv-miso-buildif the interpreter version is wrong.
- PuPu expects Python
- A local Miso source checkout
- In development, PuPu resolves Miso from
MISO_SOURCE_PATHfirst, then../miso. - A valid Miso source must contain
miso/__init__.pyandmiso/broth.py.
- In development, PuPu resolves Miso from
- Model access
- Local-first development usually means
Ollama. - Remote providers use
MISO_API_KEYor provider-specific keys such asOPENAI_API_KEYorANTHROPIC_API_KEY.
- Local-first development usually means
- Team standard Python version:
3.12 - Development virtualenv path:
.venv/ - Release-side Miso build virtualenv path:
.venv-miso-build/ - Legacy
venv/is not supported -
MISO_PYTHON_BIN, when set, must point to a Python3.12.xinterpreter
parent-folder/
|- PuPu/
`- miso/
Clone the Miso repo next to PuPu unless you intentionally want to override it with MISO_SOURCE_PATH.
cd ..
git clone <your-miso-repo-url> miso
cd miso
./scripts/init_python312_venv.sh
cd ../PuPu
./scripts/init_python312_venv.sh
npm install
npx electron-rebuildcd ..
git clone <your-miso-repo-url> miso
cd .\miso
powershell -ExecutionPolicy Bypass -File .\scripts\init_python312_venv.ps1
cd ..\PuPu
powershell -ExecutionPolicy Bypass -File .\scripts\init_python312_venv.ps1
npm install
npx electron-rebuildThese variables are the supported development inputs for the sidecar and its provider configuration.
# Optional when your Miso repo already lives at ../miso
export MISO_SOURCE_PATH=/absolute/path/to/miso
# Optional override for the Python executable PuPu uses to launch the sidecar
export MISO_PYTHON_BIN=/absolute/path/to/PuPu/.venv/bin/python
# Optional provider and default model
export MISO_PROVIDER=ollama
export MISO_MODEL=deepseek-r1:14b
# Required for remote providers
export MISO_API_KEY=<your_api_key>
# or provider-specific keys
export OPENAI_API_KEY=<your_api_key>
export ANTHROPIC_API_KEY=<your_api_key>Windows PowerShell uses $env:NAME="value" instead of export.
- Install JavaScript dependencies with
npm install. - Rebuild Electron native dependencies with
npx electron-rebuild. - Start the app with
npm start. - Wait for PuPu to launch the local Miso sidecar and for the app status to report
ready. - Open
http://localhost:2907/minito browse built-in Mini UI components and showrooms.
Useful local commands:
npm start
npm run start:web
npm run electron:start
npm test- The Electron main process starts
ollama servewhen available. - The Electron main process then starts Miso:
- Packaged app: uses a bundled
miso-serverbinary when present - Development app: runs
miso_runtime/server/main.pywith Python3.12.x
- Packaged app: uses a bundled
- The sidecar receives runtime values such as:
MISO_HOST=127.0.0.1- a selected
MISO_PORT - a per-launch
MISO_AUTH_TOKEN MISO_DATA_DIR=<app userData>MISO_PARENT_PID=<electron pid>
-
python --versioninside both PuPu and Miso.venvenvironments should reportPython 3.12.x. - If
MISO_PROVIDER=ollama, make sure Ollama is installed and running. - If
MISO_PROVIDERisopenaioranthropic, make sure the matching API key is present. - Start the app with
npm startand confirm the Miso status becomesready. - Open
/miniand verify the Mini UI demo page renders.
Symptoms:
MISO_PYTHON_BIN must point to Python 3.12.x- startup errors mentioning missing Python runtime
-
.venvgets rebuilt on bootstrap
Fix:
- Recreate both PuPu and Miso
.venvenvironments with the provided bootstrap scripts.
Symptoms:
- Miso stays
not_found - errors mention
Miso server entrypoint was not found - build scripts reject
MISO_SOURCE_PATH
Fix:
- Make sure Miso exists at
../misoor setMISO_SOURCE_PATH. - Verify
miso/__init__.pyandmiso/broth.pyexist in that checkout.
Symptoms:
- local model flows fail
- Ollama status stays unavailable or errors after startup
Fix:
- Install Ollama and verify
ollama servecan run on the host. - Pull or select a model that matches
MISO_MODEL.
Symptoms:
- remote provider requests fail at run time
- Miso asks for
MISO_API_KEYor provider-specific keys
Fix:
- Set
MISO_API_KEY,OPENAI_API_KEY, orANTHROPIC_API_KEYbefore launching PuPu.