Files
Daniel Hiltgen d3b4b9970a app: add code for macOS and Windows apps under 'app' (#12933)
* app: add code for macOS and Windows apps under 'app'

* app: add readme

* app: windows and linux only for now

* ci: fix ui CI validation

---------

Co-authored-by: jmorganca <jmorganca@gmail.com>
2025-11-04 11:40:17 -08:00
..

Ollama for macOS and Windows

Download

Development

Desktop App

go generate ./... &&
go run ./cmd/app

UI Development

Setup

Install required tools:

go install github.com/tkrajina/typescriptify-golang-structs/tscriptify@latest

Develop UI (Development Mode)

  1. Start the React development server (with hot-reload):
cd ui/app
npm install
npm run dev
  1. In a separate terminal, run the Ollama app with the -dev flag:
go generate ./... &&
OLLAMA_DEBUG=1 go run ./cmd/app -dev

The -dev flag enables:

Run Storybook

Inside the ui/app directory, run:

npm run storybook

For now we're writing stories as siblings of the component they're testing. So for example, src/components/Message.stories.tsx is the story for src/components/Message.tsx.

Build

Windows

Dependencies - either build a local copy of ollama, or use a github release

# Local dependencies
.\scripts\deps_local.ps1

# Release dependencies
.\scripts\deps_release.ps1 0.6.8

Build

.\scripts\build_windows.ps1

macOS

CI builds with Xcode 14.1 for OS compatibility prior to v13. If you want to manually build v11+ support, you can download the older Xcode here, extract, then mv ./Xcode.app /Applications/Xcode_14.1.0.app then activate with:

export CGO_CFLAGS=-mmacosx-version-min=12.0
export CGO_CXXFLAGS=-mmacosx-version-min=12.0
export CGO_LDFLAGS=-mmacosx-version-min=12.0
export SDKROOT=/Applications/Xcode_14.1.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk
export DEVELOPER_DIR=/Applications/Xcode_14.1.0.app/Contents/Developer

Dependencies - either build a local copy of Ollama, or use a GitHub release:

# Local dependencies
./scripts/deps_local.sh

# Release dependencies
./scripts/deps_release.sh 0.6.8

Build

./scripts/build_darwin.sh