LOCAL MODEL SERVER — GO

Rose
OVERVIEW
Rose is Qompass AI's fork of Ollama, the local model server — upstream Ollama at tag v0.40.1 imported verbatim with the fork delta re-applied — built to serve phlow's local specialists (planner / coder / reviewer) on local hardware with its own identity, registry and security posture. It is not rose.nvim; the plugin talks to this server as a backend. The README tagline is "Start building with open models."
HOW IT WORKS
- 1Install/run the `rose` binary (macOS/Windows/Linux/Docker routes in the README); running `rose` prompts to run a model or connect Rose to existing agents/applications. Source: GitHub rose README.md, "Download" / "Get started".
- 2`rose serve` starts the local server, loopback by default at `127.0.0.1:11434`; the HTTP API remains unauthenticated, as upstream's is. Source: GitHub rose `docs/rose.md`; `envconfig/config.go` (`Host()` default).
- 3Models are pulled, run and managed from the CLI (`rose run`, `rose pull`, `rose ls`, `rose ps`, `rose stop`, `rose rm`), and customized by writing a `Modelfile` and running `rose create -f Modelfile`. Source: GitHub rose `docs/cli.mdx`.
- 4Applications call the REST API — e.g. `POST http://localhost:11434/api/chat` with a model and messages — or the Python/JavaScript client libraries shown in the README. Source: GitHub rose README.md, "REST API".
- 5Coding/agent integrations are launched and configured through `rose launch` (e.g. `rose launch claude`, `rose launch claude --model qwen3.5`, `rose launch droid --config`). Source: GitHub rose `docs/cli.mdx`.
- 6Fork identity is enforced in configuration: only `ROSE_*` environment variables are read (`OLLAMA_*` are not aliases), the default model store is `$XDG_DATA_HOME/rose/models` (or `~/.local/share/rose/models`), `ROSE_MODELS` always wins, and unqualified model names resolve against `harbor.qompass.ai`. Source: GitHub rose `docs/rose.md`; `envconfig/config.go`.
CONCEPTS
CONFIGURATION
| Option | Default | What it does |
|---|---|---|
ROSE_HOST | 127.0.0.1:11434 | IP address / bind for the rose server |
ROSE_MODELS | $XDG_DATA_HOME/rose/models`, else `~/.local/share/rose/models | Path to the models directory; no fallback to a stock `~/.ollama/models` store |
ROSE_KEEP_ALIVE | 5m | Duration models stay loaded in memory |
ROSE_LOAD_TIMEOUT | 5m | How long to allow model loads to stall before giving up |
ROSE_MAX_QUEUE | 512 | Maximum number of queued requests |
ROSE_NUM_PARALLEL | 1 | Number of parallel model requests |
ROSE_MAX_LOADED_MODELS | 0 (as coded) | Maximum number of loaded models per GPU |
ROSE_MAX_TRANSFER_STREAMS | 4 | Maximum parallel transfer streams for safetensors model pulls/pushes |
ROSE_KV_CACHE_TYPE | `f16` (default per map description) | Quantization type for the K/V cache |
ROSE_CONTEXT_LENGTH | 0 (as coded) | Context length override |
ROSE_DEBUG | (unset) | Show additional debug information (e.g. `ROSE_DEBUG=1`) |
ROSE_NO_CLOUD | (unset / false) | Disable Rose cloud features (remote inference and web search) |
default registry | harbor.qompass.ai | Registry that unqualified model names resolve against (fork deviation from `registry.ollama.ai`) |
CONTROLS
| Action | Control |
|---|---|
| Start Rose (interactive) | rose |
| Run and chat with a model | `rose run <model>` (e.g. `rose run gemma4`) |
| Launch integrations menu | rose launch |
| Launch a specific integration | `rose launch claude` (also `--model <model>`, `--config` variants in docs) |
| Download a model | rose pull <model> |
| Remove a model | rose rm <model> |
| List models | rose ls |
| List running models | rose ps |
| Stop a running model | rose stop <model> |
| Create a customized model | rose create -f Modelfile |
| Start the server | `rose serve` (`rose serve --help` lists settable environment variables) |
| Sign in / sign out | rose signin` / `rose signout |
| Chat via REST API | curl http://localhost:11434/api/chat -d '{"model":"gemma4","messages":[...],"stream":false}' |
NOT COVERED
- The GitHub README is upstream-Ollama-shaped: install commands and several links still point at ollama.com / Ollama-named artifacts, and community/library lists are inherited upstream content. The fork-specific facts above come from `docs/rose.md` and `envconfig/config.go`, not the README. - The sandbox clone's README (`~/workspace/repos/rose/README.md`) is older organisational boilerplate (Responsible Open Science Engine framing, FAQ, licensing essay) with no install, CLI or configuration content; it disagrees with the current GitHub README and was not used for CONFIG/CONTROLS. - Not in this branch, per `docs/rose.md`: the hybrid-TLS transport layer lives on a separate branch and is not ported forward yet; the HTTP API is unauthenticated. - Full `ROSE_*` variable list was not exhaustively transcribed; `rose serve --help` is the documented way to view settable variables, and only variables verified in `envconfig/config.go` are listed above.
REFERENCES
- GGUF format specification (ggml)The model file format in rose's store: the metadata and tensor layout every GGUF file the server loads follows.
- llama.cpp (ggml-org)The ggml-org inference project in rose's lineage: rose's own import guide names its llama-quantize tool as the way to prepare and quantize GGUF models for import.
- XDG Base Directory SpecificationDefines $XDG_DATA_HOME — the variable rose's default model store, $XDG_DATA_HOME/rose/models, is built from.