Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions Documentation.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,16 +47,16 @@ ollama --version

### 3.1 From ollama.com

FlyCoder is published at [ollama.com/delairvictor9/flycoder](https://ollama.com/delairvictor9/flycoder). One command is enough:
FlyCoder is published at [ollama.com/Tromset/flycoder](https://ollama.com/Tromset/flycoder). One command is enough:

```sh
ollama run delairvictor9/flycoder # main variant (Gemma 4 12B, MLX)
ollama run delairvictor9/flycoder:fast # fast variant (Qwen3.5 4B, MLX)
ollama run delairvictor9/flycoder:0.2-beta-gguf # main, Intel Mac, Linux, Windows
ollama run delairvictor9/flycoder:0.2-beta-fast-gguf # fast, Intel Mac, Linux, Windows
ollama run Tromset/flycoder # main variant (Gemma 4 12B, MLX)
ollama run Tromset/flycoder:fast # fast variant (Qwen3.5 4B, MLX)
ollama run Tromset/flycoder:0.2-beta-gguf # main, Intel Mac, Linux, Windows
ollama run Tromset/flycoder:0.2-beta-fast-gguf # fast, Intel Mac, Linux, Windows
```

Available tags: `latest` and `0.2-beta` (main), `fast` and `0.2-beta-fast` (fast), `0.2-beta-gguf` and `0.2-beta-fast-gguf` (portable). To call it simply `flycoder`: `ollama cp delairvictor9/flycoder flycoder`.
Available tags: `latest` and `0.2-beta` (main), `fast` and `0.2-beta-fast` (fast), `0.2-beta-gguf` and `0.2-beta-fast-gguf` (portable). For now only the GGUF tags (`0.2-beta-gguf`, `0.2-beta-fast-gguf`, `0.2-beta-lite-gguf`, `router-gguf`) are online; the MLX tags arrive once they are pushed from an Apple Silicon Mac. Until then, Mac users install with `install.sh`. To call it simply `flycoder`: `ollama cp Tromset/flycoder flycoder`.

### 3.2 One-command installer

Expand Down Expand Up @@ -205,7 +205,7 @@ ollama launch codex --model flycoder # Codex
ollama launch opencode --model flycoder # OpenCode
```

If you got FlyCoder from ollama.com without `install.sh`, use the published name: `ollama launch claude --model delairvictor9/flycoder`.
If you got FlyCoder from ollama.com without `install.sh`, use the published name: `ollama launch claude --model Tromset/flycoder`.

`ollama launch --help` lists the other integrations, including VS Code, Copilot CLI, Cline, Qwen Code, Pi and Droid. Agents send long instructions and many files: Ollama recommends at least 64,000 tokens of context for them (section 6.2).

Expand All @@ -215,7 +215,7 @@ FlyBrain is a small, dependency-free Node 22 server that sits in front of Ollama

```sh
node ~/.flycoder/brain/flybrain.mjs # copied by install.sh; or npm run brain in this repository
node brain/flybrain.mjs --prefix delairvictor9/ # with the models published on ollama.com
node brain/flybrain.mjs --prefix Tromset/ # with the models published on ollama.com
```

Options: `--port` (11435), `--ollama` (http://127.0.0.1:11434), `--prefix`, `--max-expert auto|full|fast`. With `auto`, the default, a Mac with less than 16 GB caps `flycoder` at the 4B.
Expand Down Expand Up @@ -336,7 +336,7 @@ On this server, the main variant solves almost three times as many problems, but

## 8. Publishing a version on ollama.com

0.2 beta is published under the `delairvictor9` account. To publish a new version, follow these steps. The script refuses to push non-MLX builds under the main tags: build them on an Apple Silicon Mac.
The GGUF tags of 0.2 beta are published under the `Tromset` account; the MLX tags must be pushed from an Apple Silicon Mac, because Ollama cannot build MLX models on Linux. To publish a new version, follow these steps. The script refuses to push non-MLX builds under the main tags: build them on an Apple Silicon Mac.

1. Create an account on [ollama.com](https://ollama.com/signup). The username becomes the model's prefix (`<username>/flycoder`).
2. Link the machine to the account: `ollama signin`, then confirm in the browser. Authorized machines are managed in the account settings, under Ollama keys; remove the ones you no longer use.
Expand Down
2 changes: 1 addition & 1 deletion brain/flybrain.mjs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/usr/bin/env node
// FlyBrain: an Ollama-compatible server that answers to `flycoder` and `flycoder:fast`,
// routes each request to one expert model and keeps a single expert in memory.
// Usage: node brain/flybrain.mjs [--port 11435] [--ollama http://127.0.0.1:11434] [--prefix delairvictor9/] [--max-expert auto|full|fast]
// Usage: node brain/flybrain.mjs [--port 11435] [--ollama http://127.0.0.1:11434] [--prefix Tromset/] [--max-expert auto|full|fast]
import http from 'node:http';
import os from 'node:os';
import fs from 'node:fs';
Expand Down
2 changes: 1 addition & 1 deletion brain/router.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ export function ruleRoute(d) {
}

// Experts behind each name FlyBrain answers to. `prefix` lets the published
// models be used directly, e.g. prefix 'delairvictor9/' for delairvictor9/flycoder:0.2-beta.
// models be used directly, e.g. prefix 'Tromset/' for Tromset/flycoder:0.2-beta.
export function profiles(prefix = '', { maxExpert = 'full' } = {}) {
const tag = t => `${prefix}flycoder:${t}`;
const normal = { simple: tag('0.2-beta-fast'), hard: tag(maxExpert === 'fast' ? '0.2-beta-fast' : '0.2-beta'), router: tag('router'), think: true };
Expand Down
6 changes: 3 additions & 3 deletions docs/ollama-model-page.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
A local coding model tuned for MacBook and Mac mini (Apple Silicon), packaged for Ollama.

```sh
ollama run delairvictor9/flycoder # Gemma 4 12B base, Macs with 16 GB or more
ollama run delairvictor9/flycoder:fast # Qwen3.5 4B base, Macs with 8 GB
ollama run Tromset/flycoder # Gemma 4 12B base, Macs with 16 GB or more
ollama run Tromset/flycoder:fast # Qwen3.5 4B base, Macs with 8 GB
```

## Tags
Expand Down Expand Up @@ -32,7 +32,7 @@ MLX tags need Ollama 0.31 or later on Apple Silicon.
FlyBrain is a small Node server from the GitHub repository that sits in front of Ollama. It answers to `flycoder` and `flycoder:fast`, sends simple questions to a smaller expert, sends hard requests (and every agent request with tools) to the strong one, and keeps a single expert in memory. Measured on a 16 GB Linux server (GGUF, CPU): a simple request to `flycoder` uses 6.1 GiB instead of 10.5. Hard requests still use the strong model, so their quality is unchanged.

```sh
node brain/flybrain.mjs --prefix delairvictor9/
node brain/flybrain.mjs --prefix Tromset/
OLLAMA_HOST=127.0.0.1:11435 ollama run flycoder
```

Expand Down
14 changes: 8 additions & 6 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,15 @@ Full documentation (installation, usage, API, settings, benchmark, publishing, t

## One-command install

You need [Ollama](https://ollama.com/download) 0.31 or later, running. FlyCoder is published at [ollama.com/delairvictor9/flycoder](https://ollama.com/delairvictor9/flycoder):
You need [Ollama](https://ollama.com/download) 0.31 or later, running. FlyCoder is published at [ollama.com/Tromset/flycoder](https://ollama.com/Tromset/flycoder):

```sh
ollama run delairvictor9/flycoder # Gemma 4 12B, Macs with 16 GB or more
ollama run delairvictor9/flycoder:fast # Qwen3.5 4B, 8 GB Macs
ollama run Tromset/flycoder # Gemma 4 12B, Macs with 16 GB or more
ollama run Tromset/flycoder:fast # Qwen3.5 4B, 8 GB Macs
```

For now only the portable GGUF tags are online (`ollama run Tromset/flycoder:0.2-beta-gguf`); the Mac (MLX) tags above come next. Until then, Macs install with `install.sh` below.

Or, to install it under the short name `flycoder`, with the variant picked from your Mac's memory:

```sh
Expand Down Expand Up @@ -63,7 +65,7 @@ ANTHROPIC_BASE_URL=http://127.0.0.1:11435 ANTHROPIC_AUTH_TOKEN=ollama ANTHROPIC_
# Codex, OpenCode, Cline…: OpenAI-compatible URL http://127.0.0.1:11435/v1, model flycoder
```

With the models published on ollama.com rather than installed by `install.sh`: `ollama pull delairvictor9/flycoder:router` (and `:0.2-beta-lite`, `:0.2-beta-fast`, `:0.2-beta`), then `node brain/flybrain.mjs --prefix delairvictor9/`.
With the models published on ollama.com rather than installed by `install.sh`: `ollama pull Tromset/flycoder:router` (and `:0.2-beta-lite`, `:0.2-beta-fast`, `:0.2-beta`), then `node brain/flybrain.mjs --prefix Tromset/`.

## What changed since 0.1

Expand Down Expand Up @@ -116,7 +118,7 @@ ollama run flycoder --think=false # immediate answer, for simple question
ollama run flycoder:fast # 4B variant if you installed it
```

In a conversation, `/set nothink` turns thinking off and `/set parameter num_ctx 65536` enlarges the context (about 0.5 GB of extra memory for the main variant). Ollama recommends at least 64,000 tokens for coding agents; FlyCoder also works with `ollama launch` (Claude Code, Codex, OpenCode): `ollama launch claude --model flycoder` if you installed it with `install.sh`, or `ollama launch claude --model delairvictor9/flycoder` from ollama.com. `ollama launch` talks to Ollama directly; to go through FlyBrain, see the FlyBrain section.
In a conversation, `/set nothink` turns thinking off and `/set parameter num_ctx 65536` enlarges the context (about 0.5 GB of extra memory for the main variant). Ollama recommends at least 64,000 tokens for coding agents; FlyCoder also works with `ollama launch` (Claude Code, Codex, OpenCode): `ollama launch claude --model flycoder` if you installed it with `install.sh`, or `ollama launch claude --model Tromset/flycoder` from ollama.com. `ollama launch` talks to Ollama directly; to go through FlyBrain, see the FlyBrain section.

From an application, the Ollama API is all you need:

Expand All @@ -134,7 +136,7 @@ Done once, from an Apple Silicon Mac:
4. Publish: `sh scripts/publish.sh <username>` (add `--gguf` to also publish the Intel Mac, Linux and Windows builds).
5. Paste the text of [docs/ollama-model-page.md](docs/ollama-model-page.md) into the model page description.

After that, anyone can run `ollama run <username>/flycoder` or `ollama run <username>/flycoder:fast`. 0.2 beta is published under `delairvictor9`.
After that, anyone can run `ollama run <username>/flycoder` or `ollama run <username>/flycoder:fast`. The GGUF tags of 0.2 beta are published under `Tromset`; the MLX tags (`latest`, `fast`) still have to be pushed from an Apple Silicon Mac.

## Repository contents

Expand Down
2 changes: 1 addition & 1 deletion tests/router.test.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ test('route: a conversation keeps its expert and can only move up', async () =>
});

test('profiles: prefix for published models and the 8 GB cap', () => {
assert.equal(profiles('delairvictor9/').flycoder.hard, 'delairvictor9/flycoder:0.2-beta');
assert.equal(profiles('Tromset/').flycoder.hard, 'Tromset/flycoder:0.2-beta');
assert.equal(profiles('', { maxExpert: 'fast' }).flycoder.hard, 'flycoder:0.2-beta-fast');
assert.equal(defaultMaxExpert(8 * 2 ** 30), 'fast');
assert.equal(defaultMaxExpert(16 * 2 ** 30), 'full');
Expand Down
Loading