Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.darkbloom.dev/llms.txt

Use this file to discover all available pages before exploring further.

By default, the provider runs whenever you start it and keeps running until you stop it. Scheduling lets you define time windows — specific days and hours — when your Mac should actively serve requests. Outside those windows, the provider disconnects from the coordinator and shuts down the inference backend, freeing GPU memory for other uses. This is particularly useful if you want your Mac to serve overnight or during work hours when you are away from your desk, without having to remember to start and stop the provider manually.

How scheduling works

When scheduling is enabled, the provider evaluates your configured windows each time it checks whether to serve. If the current local time falls inside a window, the provider connects and serves normally. If the current time falls outside all windows, the provider disconnects and stops the backend process. Windows are defined in local time. Overnight windows are supported: if the end time is earlier than the start time (for example, 22:00 to 08:00), the provider treats it as a window that spans midnight.

Configuring via the macOS app

Open the Darkbloom menu bar app and click Settings. Under Scheduling, enable scheduling and add one or more time windows. Each window lets you pick the days of the week and a start and end time using a time picker. Changes take effect immediately — the provider re-evaluates its schedule the next time the check interval fires.

Configuring via provider.toml

You can also configure scheduling directly in the config file at ~/.config/eigeninference/provider.toml. Add a [schedule] section with one or more [[schedule.windows]] entries.

Basic example: weeknight serving

Serve every weeknight from 10 pm to 8 am the following morning:
[schedule]
enabled = true

[[schedule.windows]]
days = ["mon", "tue", "wed", "thu", "fri"]
start = "22:00"
end = "08:00"

Example: weeknights and full weekends

[schedule]
enabled = true

[[schedule.windows]]
days = ["mon", "tue", "wed", "thu", "fri"]
start = "22:00"
end = "08:00"

[[schedule.windows]]
days = ["sat", "sun"]
start = "00:00"
end = "23:59"

Disabling scheduling

Set enabled = false to disable scheduling without removing your configured windows. The provider will run continuously whenever it is started.
[schedule]
enabled = false

Window reference

Each [[schedule.windows]] entry accepts the following fields:
FieldTypeDescription
daysarray of stringsDays the window applies to. See day values below.
startstringWindow start time in 24-hour HH:MM format.
endstringWindow end time in 24-hour HH:MM format. If earlier than start, the window wraps overnight.
Day values: "mon", "tue", "wed", "thu", "fri", "sat", "sun"
Times are in your Mac’s local timezone. The provider reads the system clock to evaluate windows, so changing your Mac’s timezone will shift when windows activate.

Multiple windows

You can define as many [[schedule.windows]] entries as you like. The provider is active whenever the current time falls inside any one of them. Windows do not need to be contiguous or non-overlapping.

Applying config changes

After editing provider.toml directly, restart the provider for changes to take effect:
darkbloom stop
darkbloom start
If you are using the macOS app, changes made in Settings are applied to the config file automatically and do not require a manual restart.