DS Menu Bar is a native macOS control surface for your existing
DwarfStar setup. It starts, stops,
configures, and monitors one local ds4-server process without keeping a
terminal window open.
DS Menu Bar manages a single ds4-server process on your Mac where the app is
running. It does not manage remote, distributed, Linux, CUDA, or ROCm servers.
It does not download, build, bundle, or update ds4-server or model files.
DS Menu Bar works with your existing DwarfStar environment instead of creating one of its own. This includes setups where you compile upstream commits, keep multiple server builds, download selected model files yourself, or produce your own compatible GGUFs.
- Choose the exact
ds4-serverexecutable and model files to run. - Keep executables, models, logs, traces, and caches in locations you control.
- Inspect the complete generated command before applying a configuration.
- Change server builds or models without adopting an app-managed download or update workflow.
- Use the resulting local endpoint with any client that speaks one of the
HTTP APIs
ds4-serverserves: OpenAI, Responses, Anthropic, or completion.
The app stores its configuration and manages only the server process it launches. It does not copy, rename, replace, or delete the selected server or model files.
- Starts, stops, and monitors
ds4-serverfrom DwarfStar. - Shows the server state and process ID in the menu bar.
- Can show current prefill and generation throughput in a fixed-width menu-bar display.
- Provides model-aware settings for the server, model, performance, KV cache, MTP, and diagnostics.
- Detects supported DwarfStar GGUF model families and validates related files before starting the server.
- Captures server output in a rotating log that can be opened in Console.
- Can optionally record a request trace for diagnostics.
- Can keep the Mac awake while the server runs, when it is connected to a power adapter.
- Can launch automatically when you log in.
- macOS 26 or later
- An Apple silicon Mac
- A compatible
ds4-serverexecutable that you build or manage separately (see the version compatibility note) - A compatible DwarfStar-specific main GGUF that you download, create, or manage separately
Follow the DwarfStar project for server build
instructions and model-format information. DS Menu Bar does not include
ds4-server or model files.
Important
At the time of the DS Menu Bar v0.0.13 release, DwarfStar does not publish
versioned releases. Compatibility is therefore tracked against specific
commits on its main branch, and DS Menu Bar is updated as upstream changes
are reviewed. The latest known compatible commit is
5379c1c
(October 19, 2026). Newer versions of ds4-server may also work, but
compatibility is not guaranteed.
DS Menu Bar recognizes DwarfStar GGUFs for DeepSeek V4 Flash and single-file DeepSeek V4 Pro, DeepSeek V4.1 Flash, Qwen3.8 Flash Next, GLM 5.2 (full), GLM 5.3 (full), and GLM 5.3 Flash, along with their applicable DwarfStar support files.
Distributed and split-model configurations, including the split DeepSeek V4 Pro pipeline, are not supported. DwarfStar-specific GGUFs are required; arbitrary GGUF models are not supported.
Both methods install the same signed and notarized build. Homebrew is recommended because it also handles updates.
brew install --cask jiiim/tap/ds-menu-barThe cask requires an Apple silicon Mac running macOS 26 or later and refuses to install elsewhere.
Refresh Homebrew's copy of the tap, then check whether a newer release exists:
brew update
brew outdated --cask ds-menu-barIf the cask is listed as outdated, install the new version:
brew upgrade --cask ds-menu-barThe upgrade no longer quits DS Menu Bar if it is running, and it does not stop
the ds4-server process the app manages: the running app keeps serving until
you quit and reopen it, which is when the new version starts. Your settings,
including the selected executable and model paths, are stored outside the app
bundle and survive the upgrade.
Review the ds4-server version compatibility
note after upgrading, in case the new release tracks a different upstream
commit than the ds4-server build you have.
-
Download the DMG and its
.sha256file from the latest release. -
Optional: verify the download from the directory containing both files, in Terminal:
shasum -a 256 -c DS-Menu-Bar-vX.Y.Z-arm64.dmg.sha256
-
Open the DMG and drag DS Menu Bar onto the Applications shortcut.
-
Open DS Menu Bar from
/Applications.
Updating a DMG installation means repeating these steps for each release.
Quit DS Menu Bar before replacing the app in /Applications.
Release DMGs are signed with Developer ID and notarized by Apple for normal Gatekeeper validation.
The setup window connects DS Menu Bar to two files from your existing setup:
- Your
ds4-serverexecutable. - The main GGUF model that the server should load.
The files remain in their existing locations and continue to be managed by you. DS Menu Bar stores their paths in its configuration and uses them when constructing the server command.
After setup, use the star icon in the menu bar to start or stop the server,
open its log, or open Settings. The menu also names the model's detected type
and file, and clicking that row opens the Model settings pane. While one of
the app's windows is frontmost, the same lifecycle commands are in the Server
menu of the menu bar. Applying settings while the server is running restarts
it with the updated configuration. The status menu also shows the server's
status and when it last served a request — unused until it has served one, a
relative time after that, and a dash while it is not running.
Settings is organized into seven panes. Available controls and defaults adapt to the selected model and the Mac's unified memory. Edits are staged: a Revert and Apply bar sits pinned along the bottom of the window, enabled once the draft differs from the running configuration, and the window's height fits the current pane, up to the height of the screen. Return applies and Esc reverts.
- General: launch at login, the optional menu-bar throughput display, keeping the Mac awake while the server runs, confirming before a quit that would stop an active server, restarting the server automatically after a crash or if it stops responding, a preview of the command that runs on Apply, and a restore of model tuning defaults.
- Model: the
ds4-serverexecutable and main GGUF model, detected model details, and vision encoder settings for models that support them. Every path picker remembers its five most recently applied files. The vision, DSpark and legacy MTP lists are kept per model family. A file deleted from a mounted disk drops out; one on an unmounted volume stays, disabled. Clear Menu empties a list at once and changes no setting. - Server: the HTTP host and port, browser client access, the default output token limit, and resident session batching.
- Performance: context size, prefill chunk, GPU power limit, CPU helper threads, kernel selection, and SSD-backed model streaming for models that do not fit comfortably in available unified memory.
- KV Cache: optional disk checkpoints so later prompts and restarted sessions can reuse compatible prefixes, with a disk budget and checkpoint policies.
- MTP: optional speculative decoding through embedded or support-GGUF drafters, with draft depth, confidence, and sampling controls where the model supports them.
- Diagnostics: log location, size, and deletion; optional request tracing; and a simulated used-memory value for testing memory pressure.
Keep awake holds an idle-sleep assertion only while a server process is live and the Mac is on a power adapter, so an unattended prefill or generation is not cut short by the idle timer. The display still sleeps on its own schedule, and closing the lid or sleeping from the Apple menu still sleeps the Mac. The same switch is in the menu bar, where the check mark is the preference and the subtitle below it reports whether the assertion is currently held.
Quitting asks for confirmation while ds4-server is starting, running, or
restarting, because quitting stops it and interrupts connected clients. The
prompt appears for quits made in the app and from the Dock; scripted quits and
a logout or restart proceed without a dialog. Turn it off in General if
you would rather quit immediately.
If ds4-server crashes, is terminated from outside, or stops answering on its
health endpoint, DS Menu Bar reports it and, by default, restarts it once
automatically, notifying when it is back. A server that has
stopped answering is forced closed after thirty seconds so its port frees. If
it fails again before a replacement has been healthy for five minutes, the app
leaves it stopped and reports that the automatic restart is not repeating.
Starting the server by hand clears that, as does a later failure after a
longer healthy run. The same General toggle turns this off, and the report
says so when it is off.
The Model pane for a detected Qwen3.8 Flash Next model:
Server output is written to ~/Library/Logs/dsmenubar/ds4.log by default. The
log includes the launch command and server output and may therefore contain
local paths and diagnostic details. DS Menu Bar creates it with owner-only
permissions and keeps one rotated backup.
Request tracing is optional. A request trace can contain prompts, generated output, cache decisions, and tool calls. Treat trace files as private data and enable tracing only when needed. The Diagnostics tab keeps the selected trace path when tracing is off and can delete an inactive trace.
Building requires macOS 26, an Apple silicon Mac, and the Xcode Command Line Tools.
xcode-select --install
make test
make bundleThe app bundle is written to .build/debug/DS Menu Bar.app. To build a release
bundle and install it in /Applications:
make installSource builds use an ad hoc signature and are intended for local development.
Disable Launch at login in Settings and quit DS Menu Bar first, then remove the app. Homebrew no longer quits it for you, and an uninstalled app that is still running keeps its server alive.
For a Homebrew installation:
brew uninstall --cask ds-menu-barAdd --zap to also remove DS Menu Bar's preferences and its default log
directory:
brew uninstall --zap --cask ds-menu-barFor a DMG installation, move /Applications/DS Menu Bar.app to the Trash.
Neither method touches your ds4-server executable or model files.
The logo for DS Menu Bar is a four pointed star, an homage to the name of the
DwarfStar project. Four points for the star were chosen in reference to the 4
in ds4-server and the original ds4.c name of the DwarfStar project. For
the app icon, the four pointed star sits high on a purple background, like
a star in the evening sky. In the menu bar, when ds4-server is running, the
star is solid. When ds4-server is not running, the star is an outline. While
ds4-server is starting, the star alternates between solid and outline forms.
DS Menu Bar source code and original bundled assets are available under the MIT License. Copyright James Martin and DS Menu Bar contributors.
DwarfStar, ds4-server, GGUF models, macOS, and Xcode are separate works
and are not licensed by this project. Refer to their respective terms and
licenses.

