Give your computer a night shift.
This guide shows you how to set up Nightshift, run your first night, connect your apps and fix problems. It covers every edition: Web, Mac M1–M4, Mac M5+, DGX Spark and Windows.
Web is free. Mac and DGX run the hotspot and the night shift on your own hardware.
Step 2Add modelsDownload local models or add a cloud key. Nightshift chooses the lanes.
Step 3Queue a nightWrite the task. Answer seven short questions, or let Auto answer them.
Step 4Open the morningRead the winner, the clusters, the checks and the one-word outcome.
What would you like to do?
Jump to a short walkthrough, then expand its product screenshot when you need it. The shared cockpit is shown in Windows; edition-specific differences stay in the notes.
Download getting-started guide (.md) ↓
Use it yourself, or give it to an agent to check your machine, set up compute, connect an app and verify a first run.
01.1What Nightshift is
Nightshift is a control plane for your own AI computer. It runs above model runtimes such as llama.cpp and media engines. It decides what runs, when it runs, how much of the machine it gets, and whether the result is good enough to keep.
Nightshift has two shifts. The picture below shows both. Hover or tap a part to read what it does.
01.2Five words you will see everywhere
Job
One piece of durable work. A job survives a crash or a pause. A finished job is called a night.
Attempt
One answer from one model. A night keeps every finished attempt, not only the winner.
Lane
One loaded model, with a duty. Lanes are the crew. Nightshift admits a lane only when it fits in memory.
Fleet
A named set of lanes sized to your machine. Swap a whole crew in one click.
Cluster
Attempts that say the same thing. Clusters show agreement, disagreement and minority ideas.
Outcome
The night's one-word verdict. It is a projection over recorded checks. It never guesses.
The full list is in the Glossary.
01.3How to read this guide
A chip like this shows a label as it appears in the app.
A path like this means: open Setup, then open Providers.
A tag like this marks a note for one edition. Use the bar at the top to show one edition only.
Steps use short sentences and one action per sentence. Do each step in order. If a step does not match your screen, check the edition tag first.
Five editions. One cockpit.
Every edition runs the same cockpit. The difference is where the models run and which systems are present. Pick the row that matches your hardware.
Free, in the browser
Nothing to install. Runs a night with shared cloud models, or small models on your GPU through WebGPU. No hotspot for apps. No media.
Free, small native app
The Web engine inside a 30 MB Mac app. Small on-device models sized to your RAM, plus your own cloud keys. No daemon, no media engines.
Free download
Full edition for Apple silicon
Metal llama.cpp lanes, media engines, the hotspot for your apps, phone control and the ns command line. One-time licence.
Preorder · $199 · Q4 2026
The reference edition
Everything, including the verification sandbox and 3D. The runtime is a system service that survives logout. Installer on request.
Local edition · on request
Full edition for PCs
CUDA, Vulkan or CPU, chosen for you. Media engines on Vulkan. Hotspot, phone, ns. No sandbox, no 3D.
Free download · unsigned build
Not sure?
Start with the Web edition. It is free and needs no account. When you own a Mac, a PC or a DGX Spark, install that edition and your work carries over by export and import.
02.1What each edition has
| Capability | Web | Mac M1–M4 | Mac M5+ | DGX Spark | Windows |
|---|---|---|---|---|---|
| Price | Free | Free | $199 one-time (preorder) | On request | Free |
| Install | None · open a URL | DMG · ~30 MB | DMG · ~300 MB + models | INSTALL.sh · 3 packages | .exe · ~570 MB |
| Local text models | WebGPU small models | WebGPU · 0.9–3.7 GB | llama.cpp on Metal | llama.cpp on CUDA | CUDA / Vulkan / CPU |
| Cloud models | Shared relay · OpenRouter free BYOK | Your keys · 6 providers | Your keys | Your keys | Your keys |
| Hotspot for your apps (8088) | No | No | Yes | Yes | Yes |
| Hotspot on the LAN | No | No | Yes | Yes | Yes |
| Image · speech · music · transcription | No | No | Metal engines | Widest set | Vulkan engines |
| Video generation | No | No | Not confirmed | Yes | Where the engine fits |
| 3D generation | No | No | No | Yes | No |
| Document reader (OCR) · contradiction guard | No | No | Install pack in Setup | Installed from specialistd/ | Install script |
| Verification sandbox (runs generated apps) | No | No | No | Yes | No |
| Phone controller | Full version only | No | Yes | Yes | Yes |
ns command line | No | No | Bundled | /usr/bin/ns | ns.cmd |
| Methods · Skills · MCP tools | Full version only | Full version only | Yes | Yes | Yes |
| Mining and proposals | No | No | Yes | Yes | Yes |
| Import ChatGPT / Claude exports | Yes | Yes | Yes | Yes | Yes |
| Runs when you log out | Tab must stay open | App stays open, parked | App stays open | System service | Runtime keeps running |
| Signed receipts | Unsigned | Unsigned | Yes | Yes | Yes |
Shown as read from each edition's release notes and build files in October 2026. Where a document says "not confirmed", the feature has not been tested on that hardware.
02.2Minimum hardware
| Edition | Hardware | Memory | Disk | OS |
|---|---|---|---|---|
| Web | Any computer. WebGPU needs desktop Chrome or Edge for on-device models. | — | Browser cache for model weights | Any |
| Mac M1–M4 | Apple silicon M1 to M4 | 8 GB minimum. 16 GB runs two small lanes. | 2 GB + models | macOS 11 or later. On-device models need macOS 15 or later. |
| Mac M5+ | Apple silicon M5 or later | 16 GB minimum. 32 GB or more recommended. Tested on 16 GB. | 300 MB + 5–20 GB of models | macOS 14 or later. Tested on macOS 26.4. |
| DGX Spark | NVIDIA DGX Spark (GB10) | 64 GB minimum. 128 GB recommended. | 80 GB free | DGX OS / Ubuntu 24.04 |
| Windows | x64 PC. NVIDIA GTX 10-series or newer for CUDA, any Vulkan 1.2 GPU, or CPU only. | 16 GB minimum. 32 GB or more recommended. | 2 GB + 2–40 GB per model | Windows 10 1809 or later, or Windows 11 |
Models are large. A 32B model needs about 20 GB of disk and memory. Make sure you have the free space before you download a fleet.
From download to a running cockpit.
Choose your edition below. Each tab is complete on its own. The first-run steps after install are the same for every edition and follow the tabs.
- Open the Web edition.
Go to meterless.ai/Nightshift/WEB in desktop Chrome or Edge. No account is needed.
- Pass the human check.
A quick Turnstile check runs once. It protects the free shared models. If it fails, reload the page.
- Pick a task or open the cockpit.
The landing shows a demo night. Click Open the cockpit to see the full app: Night, Archive, Workers and Setup.
- Choose your models.
Cloud lanes are ready at once. The relay is their runtime, so there is nothing to download. To run on your GPU, open SetupFleets and download a device fleet.
The free cloud allowance is 400 requests per day per browser, about 23 jobs. When it runs out, Nightshift offers a labelled replay of a real night, or your own OpenRouter key for free models.
Keep the tab in the foreground while a night runs. A background tab is throttled by the browser. Close the tab and a running job stops.
- Download the DMG.
Get
Nightshift-M1-M4-<version>-macos-arm64.dmgfrom meterless.ai. It is about 30 MB. - Install.
Open the DMG. Drag Nightshift M1-M4 to Applications. Eject the DMG.
- Open it the first time.
The build is ad-hoc signed. Right-click the app and choose Open. Confirm once. After that, open it normally.
- Check the WebKit version.
The app needs Safari 16.4 or later. If it is older, the app offers Software Update and quits. Update macOS or Safari, then open the app again.
- Add a model or a key.
Open SetupFleets to download a device model sized to your RAM. Or open SetupProviders and add a cloud key.
Closing the window does not stop work. The app parks and keeps running. Press ⌘Q to quit. If jobs are running, the app asks first.
This edition can be installed beside the M5+ edition. They have different app IDs and separate data.
- Get the DMG.
Your download link and licence arrive by email at release. The file is
Nightshift-<version>-macos-arm64.dmg. - Install.
Open the DMG. Drag Nightshift to Applications. Eject. Open the app.
- Allow the first open.
If macOS warns about an unidentified developer, right-click the app and choose Open. Confirm once.
- Let the runtime start.
The app starts its own runtime for your user. It listens only on this Mac. Wait for Lanes ready in Setup.
- Pick a starter kit.
On a Mac with less than 48 GB, Nightshift picks a starter kit for 16 GB or 32 GB. Open SetupFleets and press Download & activate.
- Install the verification pack (optional).
In Setup, press Install verification pack. It downloads about 490 MB plus 296 MB of models. No terminal is needed.
To update, drag the new version over the old one. Your data is kept. There is no auto-updater.
To uninstall, open SetupRuntimeStop runtime, then drag the app to the Trash. Data stays in ~/Library/Application Support/ai.meterless.runtime/ until you delete it.
- Get the release folder.
Request the DGX edition from meterless.ai. You receive a release folder with
INSTALL.sh, the packages andSHA256SUMS. - Run the installer.
Open a terminal in the release folder. Run the command below. It checks the checksums, asks for sudo once and installs through apt.
./INSTALL.sh - Add the media package (optional).
Media engines ship as a separate package of about 2.9 GB to download. Add them now or later.
./ADD-MEDIA.sh - Open Nightshift.
Launch Nightshift from the app menu. The runtime is a system service. It is already running and it keeps running after you log out.
- Check the command line.
Open a terminal and run the command below. It prints what the box can do right now.
ns discover
Three packages: meterless-runtime (required, the daemon), nightshift (required, the cockpit) and meterless-media-runtime (optional). Remove the media package and chat still works.
Headless install over SSH is supported by the unified installer with --headless. The OCR reader and the contradiction guard are installed by hand from the specialistd/ folder.
- Download the installer.
On meterless.ai, enter your email, verify, then press Download for Windows. The file is
Nightshift_<version>_x64-setup.exe, about 570 MB. It includes the CUDA runtime. - Pass SmartScreen.
The build is not code-signed. Windows shows "unrecognized app". Click More info, then Run anyway.
- Install.
The installer is per user. It needs no admin prompt. It installs to
%LOCALAPPDATA%\Nightshift\and adds WebView2 if it is missing. - Allow the firewall prompt.
Windows may ask about port 8089 (phone pairing). Allow it on private networks only.
- Check the GPU choice.
Open SetupGPU. Nightshift picks CUDA, Vulkan or CPU and explains every exclusion. To pin one, choose it and press Restart runtime.
Do not run the setup from inside an MSIX-packaged app. Its file writes are redirected and the Start-menu entry finds nothing. Run the .exe from File Explorer.
Closing the window keeps the runtime running. Quit stops it unless a job is working. The PC is kept awake while jobs run. There is no auto-updater and no start at login.
Silent install for admins: run the installer with /S.
03.1First run: the three "Get started" steps
Setup shows a Get started card with three steps and a counter. Do them in order. The counter reads 3/3 when you are ready for a night.
- Add a provider key or start a local model.
Press Open Setup. Either paste a cloud key under Providers, or download a fleet under Fleets. See Models and providers.
- Send a prompt, or point one app at the endpoint.
Press Open Queue. Type a task and press Begin the night. Or copy the endpoint from Providers into your editor. See Connect your apps.
- See your first receipt.
Press Open receipts. Every answer carries a receipt: which lane won, the tokens, the cost and the cache status.
A red banner that reads "Runtime needs attention — no compute sources configured" means step 1 is not done. It goes away when a lane is ready.
03.2Where your data lives
| Edition | Data and models | Logs | Ports |
|---|---|---|---|
| Web | Browser cache and IndexedDB. Private mode is memory only. Clear site data and everything is gone. | Browser console | None |
| Mac M1–M4 | ~/Library/WebKit/ai.meterless.nightshift.m1m4/WebsiteData/ (weights, runs). Keys in ~/Library/Application Support/ai.meterless.nightshift.m1m4/. | ~/Library/Logs/ai.meterless.nightshift.m1m4/nightshift.log | 47321 (falls back to 47322–47324) |
| Mac M5+ | ~/Library/Application Support/ai.meterless.runtime/. Models can point at an external SSD. | ~/Library/Logs/ai.meterless.runtime/ | 8088 API · 11435 inference · 8089 phone |
| DGX Spark | /var/lib/meterless/ with models in /var/lib/meterless/models. | journalctl for the service; per-lane logs under the state folder | 8088 API · 11435 inference · 8089 phone |
| Windows | %LOCALAPPDATA%\ai.meterless.runtime\. Move the models folder in SetupRuntime. | %LOCALAPPDATA%\ai.meterless.runtime\logs\meterlessd.log | 8088 API · 8089 phone |
Port 8088 listens on this computer only until you turn on Hotspot mode. Cloud keys are never written into a backup.
Four screens. One rail.
The cockpit is the desktop window or browser tab. These are the real navigation controls. Open a walkthrough below to see the part of the product you need.
04.1What each screen is for
Night ⌘1
Watch the night as it runs. Open the rail to queue work, read the board, check the machine and tend the lanes. The sub-tabs switch between the Live field, the Library and the Morning.
Archive ⌘4
Every run as a constellation. Eleven layouts on the picker: Timeline, Wall, Orbital, Cluster, Tower, Schematic, Galaxy, Sphere, River, Pyramid, Corridor. Filter by status, time and judge mode. Press Bring your work to import, Export to pack, Queue a run to start one.
Workers ⌘7
The helpers that read, judge and tag. Sub-tabs: Scribes · Judges · Methods · Skills · Mining · MCP · Analytics. Mining holds the proposals inbox. MCP lists tool servers the models may call.
Setup ⌘8
Models, keys, phone and preferences. Sub-tabs: Local models · Providers · Controls · Preferences · Data · Danger zone. The Web edition names the first tab Fleets and has no Data tab.
Find the right Setup tab
Open Setup in the top bar. Start with the tab that matches what you want to change.
Console is the plug icon in the top bar (Ctrl+5 on Windows, ⌘5 on Mac). It shows connection settings, apps, activity and proof.
04.2Keyboard shortcuts
| Keys | Action | Keys | Action |
|---|---|---|---|
| ⌘K | Scout: do anything | ⌘1 | Night |
| ⌘2 | Queue panel | ⇧⌘2 | Jobs board |
| ⌘3 | Monitor panel | ⌘4 | Archive |
| ⌘5 | Console drawer (endpoint, traffic, receipts) | ⌘6 | Lanes panel |
| ⌘7 | Workers | ⌘8 | Setup |
| ⌘E | Engineer mode on or off | [ ] | Step through clusters in the field |
On Windows and Linux, use Ctrl where this table shows ⌘.
04.3Hints and Simple view
DGXShort hints can appear next to controls as you use the cockpit. They are off by default. Turn them on, down or off in SetupPreferencesHints. Start over resets which hints you have seen.
◂ Simple view in the top bar switches to a one-box view. Use it when you only want to watch traffic flow through the endpoint and prove it works.
Give the box something to think with.
Nightshift needs at least one model source. Local models run on your GPU. Cloud models run on a provider's servers with your key. You can mix both.
Local models
GGUF files that llama.cpp loads on your GPU. Free per request. Private. Limited by your memory.
WebM1–M4 These editions run small models in the browser engine through WebGPU instead of llama.cpp.
Cloud models
OpenAI, Anthropic, Google AI, NVIDIA, xAI, OpenRouter, OpenCode Go, and media vendors. They cost money per request and the bytes leave your machine. A job with a local-only floor never reaches one.
05.1Start the local runtime
The runtime is the process that loads GGUF models. On the desktop editions it starts with the app. Check it here:
- Open the runtime card.
Go to SetupLocal models. Find the card Meterless Local Runtime. In the Web edition the tab is named Fleets.
- Read the status pills.
They show: running or stopped · meterlessd available · the number of GGUF models · backend · RAM · VRAM.
- Start it if it is stopped.
Press Start runtime. Use Detect hardware if the backend or VRAM reads unknown.
- Choose where models go (optional).
Press Choose models folder… to use another disk. Press Use default folder to go back. Open models folder shows the files.
DGXIf the card reads "Daemon not running", start the service from a terminal:
sudo systemctl start meterlessd
systemctl status meterlessdWindowsThe runtime keeps running when you close the window. SetupRuntime has Stop and Restart.
05.2Download a local model
The fastest way is a fleet: it downloads every model a crew needs (see Fleets). To add one model by hand:
- Open the catalog.
In SetupLocal models, scroll to Runtime model catalog · grouped by class.
- Pick a class.
Classes: C · Heavyweight, B · Workhorse, A · Fast & light, Embedding · Scribes, Companion · Feeders, and Media (Image, Video, Speech, Music, Transcription, 3D).
- Press Download optimized.
Download optimized picks the best quantization for your hardware. Download takes the listed file. A row marked Too large does not fit your memory.
- Wait for "ready".
The row goes through
downloading N%, thenverifying checksum…, thenready. Companion files (VAEs, encoders, vocoders) download with the model that needs them. - Seat it on a lane.
A model on disk is not a lane yet. Press Start to use, or add it in the Lanes panel. See Lanes.
Row states
missing GGUF · downloading N% · verifying checksum… · ready · downloaded · repair needed · too large for this machine · on disk
Row buttons
Download optimized Resume download Cancel Start to use Repair Delete Copy name
Optimized for Me
In SetupPreferencesLocal model selection. On by default. It hides quantization jargon and picks the best-fitting build.
Downloads come over HTTPS from Hugging Face only. Multi-file bundles are verified by hash and share common files between models. Media classes have opt-in licence toggles; read each one before you turn it on.
A media weight is never a chat model. A diffusion GGUF is refused as not_llama_gguf for chat and offered only as a generate lane.
Load your first local modelFind the download controls and confirm that a lane is ready.
Setup → Local models → Managed local runtime
- Check that the runtime is running. In the full Windows or Mac edition, the Runtime card has Restart runtime if it needs attention.
- Choose a model that fits. Leave Optimized for Me on to use the recommended build. Read the fit message before downloading.
- Press Download optimized. Wait for download and checksum verification to finish. Use Resume download if the row offers it.
- Load it. Use Start to use when offered, or activate a fleet containing the model. A downloaded file alone is not a running lane.
You’re ready when the model is installed and its lane reads ready in Lanes. For Web and Mac M1–M4, follow the on-device fleet notes below.
05.3Add a cloud provider key
- Open Providers.
Go to SetupProviders. Scroll to Cloud provider keys. The card reads "held by meterlessd · write-only · never logged".
- Get a key.
Press Get key ↗ on the provider's card. Create a key on the provider's site. Copy it.
- Paste and save.
Press Add. Paste the key. Press Save. The daemon checks the key with a cheap request that spends no generation tokens.
- Read the verdict.
A working key reads configured. Other verdicts:
invalid_key,insufficient_credit,forbidden,rate_limited(this one proves the key works),provider_error,unreachable.
| Provider | Key looks like | What it serves |
|---|---|---|
| NVIDIA | nvapi-… | Nemotron family on build.nvidia.com. A trial with credits, not unlimited. |
| OpenAI | sk-… | GPT family, GPT Image, Sora, embeddings |
| Anthropic | sk-ant-… | Claude family |
| Google AI | AIza… | Gemini family, Veo, Nano Banana images |
| OpenCode Go | — | Curated open coders on a subscription |
| OpenRouter | sk-or-… | Many models, eight of them free |
| xAI | xai-… | Grok family |
| Media vendors | varies | ByteDance Ark, Runway, Luma, ElevenLabs, Black Forest Labs, Stability, Ideogram, MiniMax, fal.ai, Replicate. Image, video, speech and music only. |
A saved key is write-only. The window never reads it back. Keys are never put in a backup. Only the daemon (or the app shell on Mac M1–M4) makes provider calls.
WebIn the Web edition, keys live in memory only and vanish when you reload. Bring-your-own-key is OpenRouter free models only. Shared relay models need no key.
05.4The privacy floor
Every job and every connected app has a floor. The floor decides which lanes may answer.
local-only
Nothing leaves the machine. Cloud lanes are not candidates. Imports always use this floor.
edge-only
Local lanes plus trusted edge sources. No frontier cloud.
cloud-ok
Routing may use any key you added. The receipt records what left and what it cost.
A floor can only tighten. A per-app rule cannot loosen the global floor. Auto plan-the-night cannot widen it. The check runs at the moment of dispatch, not only when you set it.
Set the global floor in SetupPreferencesPrivacy floor. The preset Most private sets it to local-only in one click.
Lanes are the crew.
A lane is one loaded model with a duty. The daemon admits a lane only when it fits in memory. Open the Lanes panel from the rail (⌘6).
06.1The duties
Each lane has one or more duties. The Lanes panel groups lanes into duty rows. You can edit Race, Vision, Judge, Verify and Prep. Create and Retrieve follow from what the lane runs.
01 Race
Explore. Several models compete on the task.
02 Vision
Answers attempts that carry images, screenshots or scans. Needs a model with a projector. Never judges.
03 Judge
Decides which direction is strongest. Scores the shortlist. Never races.
04 Verify
Checks the work against a rubric, a canon or a structural gate. Never races.
05 Prep
Writes the checklist and the angles a race reads. Never races, judges or curates.
06 Create
Produces the asset: stills, clips, speech, music, 3D. Also called Generate.
07 Retrieve
Reads text for search. Powers scribes, omnisearch, clustering and the cache. Also called Embed. Never races or judges.
Rule
Every night fleet keeps a dedicated non-racing judge. A tiny or "thinking" model never judges.
06.2Add a lane
- Open Lanes.
Press Lanes on the rail, or ⌘6. Stay on the Lanes & memory sub-tab.
- Press + Add lane.
The Add a lane sheet opens.
- Pick the job.
Choose a family: Language, Vision, Images, Video, Audio, 3D or Retrieval. Then a task, for example "Build & debug code", "Score different answers", "Generate an image" or "Search my information".
- Pick the model.
Models are ranked by what fits the free memory. Press 🎲 Autofit for the largest model on disk that fits. For a cloud lane press 🎲 Roll a cloud model.
- Wait for ready.
The card shows the state. If it reads
insufficient_budgetorlow_live_memory, the lane did not fit. See Troubleshooting.
Read and manage your lanesCheck memory, roles and model state in one place.
Night → Lanes → Wide → Lanes & memory
- Open Lanes on the left rail. Choose Wide to see the navigation beside the board.
- Read the memory gauge first. It shows the budget left for another lane. Choose a smaller model if there is not enough room.
- Find the lane by role or search. A race lane produces attempts; judge and verify lanes evaluate them. Open the lane’s controls to inspect or change it.
- Watch its state after a change. A cold model can take time to load. Wait for ready before troubleshooting it.
You’re ready when the lanes you need are ready and the memory gauge has room for the work.
06.3Lane card actions
Each card shows one highlighted next action. The rest sit under ⋯ All controls.
| Action | What it does |
|---|---|
| Start Stop Enable | Load or unload the model. Stopping with work in flight asks Stop anyway or Keep. |
| Restart (Force start) | Revives a lane that is retired, wedged or silent. It clears the crash counter. It is the only way past the five-crash limit. |
| ⇄ Change model | Swap the model on this lane. A running swap shows Swap now or Cancel while it drains. |
| Add {provider} key → | Shown on a cloud lane with no key. Opens the key sheet. |
| ▤ Log | Opens the lane's own log. Read it first when a lane fails. |
| Duty · Colour · Name | Edit the duties, give the lane a hue (Auto-colour gives every lane a unique one), rename it. |
| ✕ Remove | Removes the lane. The model file stays on disk. |
06.4How memory is budgeted
Two gates run when a lane starts. Both must pass.
Live pressure
Free memory must cover what the lane needs plus headroom. If not, the refusal is low_live_memory. Close other apps and try again.
The ledger
All reservations together must stay inside the allocatable total. If not, the refusal is insufficient_budget. Pick a smaller model or stop a lane.
Keep seated lanes at or under 75% of the ledger. Leave about 35 GB for desktop apps on a workstation. Calibration learns real footprints, so the same lane can reserve a different amount after a restart.
Open the ledger from the sticky left column of Lanes & memory: Open memory ledger. Mac M5+ A fleet larger than memory takes turns loading its models. A model that can never fit is greyed with Refactor fleet to fit.
Swap the whole crew in one click.
A fleet is a named set of lanes sized to your machine. The catalog ships about 200 fleets in 32 families, each in Lite, Core, Pro and Max sizes. You choose the outcome, not the file name.
07.1Pick a fleet from the catalog
- Open the atlas.
Go to LanesFleets. Switch between Atlas (a map by diversity and measured speed) and List. Featured fleets also appear at the top of SetupLocal models.
- Filter.
Use the chips. Needs download shows fleets with missing models. Browse by job: Site Builder, Show Runner, Research Review, Batch Converter, Campaign Studio, Security Review, Writers' Room, Knowledge Desk, Agent Desk, Night Studio, Build Shop, Document Desk, Visual Review, BI Desk, Tagging Swarm, Heavy Anchor, and more.
- Open the card.
Read the lane roster, the memory fit and the status line.
- Activate.
Press Download & activate if models are missing, or Activate if they are on disk. Lanes that changed stop and the new set cold-starts. If a switch is in progress you may see Switch anyway or Wait.
Only one fleet is active at a time. A fleet can mix local and cloud lanes. The Queue composer also suggests a fleet as you type: press Use this fleet to take it.
Choose a fleet for the workSwitch a whole crew without configuring every lane.
Night → Lanes → Wide → Fleets
- Choose Wide first. The Fleets entry appears in the Lanes panel’s left navigation.
- Pick the kind of work and a fitting size. Read the card’s lane roster, memory fit and any missing-model message.
- Press Activate or Download & activate. The latter downloads missing weights before loading the crew.
- Wait for the switch to settle. Return to Lanes & memory to watch the new lanes become ready. Switching changes the active crew.
You’re ready when the active fleet has the name you selected and its required lanes are ready.
07.2Sizes and claims
Lite
Small models, many attempts. Wins on volume.
Core
The balanced default for a mid-size box.
Pro
Larger racers and a stronger judge.
Max
The deepest models that fit. Wins on depth.
A fleet's claim to code is graded: strong, capable or assist. A card says it can code only when it seats a strong or capable coder. A model enters the local registry only when the pinned runtime can load it.
07.3Build your own fleet
- Start from what runs now.
In the Fleets toolbar press Save current lanes. This snapshots the lanes running right now as a custom fleet.
- Or start empty.
Press + New fleet. The editor opens. Press + Add lane for each seat and pick a duty and a model.
- Keep a judge.
Give every night fleet one non-racing Judge lane. Do not seat a tiny or "thinking" model as judge.
- Save.
Press Save fleet. Custom fleets get Duplicate, Edit and Delete. Reset to definition removes manual lane edits from the active fleet. Reconcile starts lanes that are stopped.
DGXCustom fleets are stored in /var/lib/meterless/fleets.toml. Fleet JSON can also be imported through the admin socket. See the self-made fleets document in the release folder.
07.4Three things a fleet is not
Not a model
A fleet is a staffing plan. Lanes are the crew. Changing the fleet changes who is on duty.
Not "Import from job"
Import from job is a bulk source: a past job's attempts become the items of a new bulk job. It does not build a fleet.
Not Cloud Mix (yet)
Fleets that explore locally and finish in the cloud are specified but not built. Today a fleet may hold cloud lanes, and a heal plan may continue on them when the floor allows.
Say what you want. Answer seven questions.
Open the Queue panel from the rail (⌘2). Switch Auto to let Nightshift answer the questions, or Manual to answer them yourself. Try the composer below.
Queue a first jobGive the machine a clear task and choose when it starts.
Night → Queue · Ctrl+2 on Windows / ⌘2 on Mac
- Write a small, concrete task. Include what to produce and what a useful answer must contain. Drop supporting files into the composer if needed.
- Leave Auto on to start. Review the suggested plan, privacy reach and fleet. Open the guided questions when you want more control.
- Choose the timing. Begin the night waits for the quiet window. Use Begin right now for an immediate first run.
- Open Jobs to follow it. Repeated submission creates another job, so inspect the existing one if it is taking time.
You’re ready when one job appears on the Jobs board with the timing you intended.
This is a practice composer. Nothing is submitted. The real one lives in the cockpit.
08.1Queue your first night, step by step
- Open Queue.
Press Queue on the rail. Leave the switch on Auto for your first night.
- Write the task.
Describe the work in plain words. Say what good looks like. Example: "Write a go-to-market memo for Ledgerly. Decision-ready, 900–1,300 words, with the arithmetic shown."
- Attach files (optional).
Drop a PDF, DOCX, spreadsheet, image or archive on the box. Every lane can read it. A scanned PDF with no text says so and goes to the document reader.
- Read the plan.
Under the box, Tonight's plan lists kind, attempt ceiling, diversity, budget, judge, window, residency and outcome. Auto labels each value: measured, estimated, default, carried, or your override.
- Take the fleet or change it.
The composer proposes a fleet. Press Use this fleet, or open Lanes and activate another.
- Begin.
Press ☾ Begin the night. Under quiet, the night waits for 22:00 and ten idle minutes. Press ⚡ Begin right now to start at once. On the Jobs board a waiting job has ⚡ Don't wait · run it now.
08.2The job kinds
| Kind | Use it when | What happens |
|---|---|---|
| ☆ best_of_n | You want the best answer to one task. | Many attempts race. Clusters form. Judges score the shortlist. Default 64 attempts, 16 for creative work. |
| ⚔ deliberate | You want one line of reasoning to go deep. | One chain, chunked and checkpointed. Forkable from any recorded state. |
| ⊞ batch | You have many prompts. | One run, one answer each. |
| ⧉ bulk | You have a folder, upload, URL list, search or prior job. | The same work on every item. Only changed items run on the second night. Can convert or transfer every file. |
| app_stream | An app is connected. | A standing job per app. Every request appends a turn. You cannot submit it by hand. |
08.3When it runs
tonight
Once, in the quiet window. The button reads ☾ Begin the night.
repeat
On a rhythm: an interval or a clock time. The button reads ⏱ Set the rhythm.
onchange
When a path, URL or HTTP response meets a condition. Minimum check every 5 minutes. The button reads ⌚ Save watcher.
Find a queued or running jobUnderstand a wait and open the work already in progress.
Night → Jobs · Ctrl+Shift+2 on Windows / ⇧⌘2 on Mac
- Look for the task you submitted. Use search and the status filters if the board is busy.
- Read the status before acting. Queued work may be waiting for its quiet window or compute. Running work is already producing attempts.
- Use the job’s controls. Open its field, Library or Morning to inspect it. For a quiet-window wait, use Don’t wait · run it now when you want an immediate start.
You’re ready when you can identify the job and tell whether it is waiting, running or completed.
08.4The Jobs board
Press Jobs on the rail (⇧⌘2). The list is on the left, the inspector on the right.
Status words
Queued · Running · Paused · Open stream · Completed · Cancelled · Errored · Sealed. RESULT shows yield: usable attempts over slots run. A quality run shows "met the bar" instead.
Inspector actions
↻ Rerun exact ⚙ Rerun with changes Load settings Copy prompt. Pause stops the job but keeps its work. Resume carries on from the last checkpoint. Star a night (★) and it leads every picker.
Schedules and watchers hide behind the {n} scheduled / watched toggle. Search the board by prompt, id, kind or judge.
Race. Cluster. Judge. Verify. Repair. File.
A night is a production chain, not one model call. Step through the stages below, or press play.
09.1A night that keeps itself running
Attachments fold to fit
If attached documents make a prompt too big for a lane, they fold: full → compact → clip → select → task. The task itself is never cut. If the task alone does not fit, the lane is dropped and the record says why.
Cut output is continued
A web app or document cut at the output limit is continued on the same lane, up to two rounds. The record says whether it ended whole or still cut.
A night that cannot run stops
When every lane has failed before landing anything, the race stops with lanes_exhausted. The night is marked partial. It does not spend the rest of its slots on the last lane standing.
Stuck lanes come back
Restart revives a retired, wedged or silent lane. A job can carry a heal plan: revive once, continue on cloud lanes if the floor allows, or propose a fleet swap for you to accept.
09.2Two postures: Swarm and Depth
☾ Swarm
The night gets the whole machine. Conditions: inside the quiet window (22:00–07:00 by default) and no interactive request for ten minutes.
☀ Depth
Returns on the first request to the endpoint, not on a timer. Running jobs drain to lane width 1. Media makes abort. No lane is evicted. Your app gets the box back at once.
The Monitor panel shows the posture: "swarm · full fleet" or "depth · new jobs wait for the quiet window". The change is written on the job's own timeline.
Open what survived. Not a scrollback.
In the morning you get an exposure of the night: the winner, the clusters, the checks and the outcome. Three places hold it: the Morning review, the Library and the field.
10.1The outcome word
Every required floor passed on recorded evidence. The winner met the bar you set.
A required floor failed. The record names which one and why.
A required floor never ran. A floor that never ran is never a pass. Run the check, then read the outcome again.
The floors: policy honoured · verifier verdict · artifact valid · tests pass · bar met · completed · proof. The outcome is a projection over the record. It never re-judges and never guesses.
10.2Read the morning
- Open Morning.
On Night, press the ☼ Morning sub-tab, or ☼ Morning review on a finished night. Panes: Exposure, Details, Suggestions.
- Read the answer.
Press 📖 Read the answer for the winner in full. Straight to the winning answer does the same from the Archive.
- Read the night report.
It reads across all clusters: the answer-space map, agreement and disagreement, minority positions, judging, unresolved questions, the answer to take forward and the next experiment. Each listed cluster links to its inspector.
- Watch the reel.
The highlight reel cuts the night into up to sixteen moments from the event ledger. It makes no model calls. Press Watch the night as a short reel.
- Export.
Press ⇩ Export to download the night as a zip. It asks before it includes your prompt.
10.3The Library
Every answer as a card. Eight view modes: small, medium, large, review, streams, timeline, storyboard and repair. Sort, compare and pick.
On a card
The full answer. Make builds something from it. Trace shows how it came to exist. The receipt shows model, tokens, cluster and cost.
cluster ↗
Every clustered attempt links to its members, insights and synthesis tools. Entries without a cluster say unclustered.
Select
Pick several answers to act on together: edit stills, animate, convert or combine.
Find and read an answerChoose a run, then use the Library’s views and filters.
Night → Library
- Select the run first. Use the job selector above the Library. “No job selected” means there is no run to browse yet.
- Pick a view. Start with small or medium cards to scan; use large or review for closer reading. Available views depend on the edition.
- Open a card to read it. Use the search and filters to narrow a large night. Clear filters if an expected answer is missing.
- Keep an answer you want to reuse. The saved library is a separate source from the current job; switch the source when looking for kept work.
You’re ready when you can open an answer from the intended run and find it again.
10.4Clusters, reports and cluster chat
Cluster report
Eight sections: shared conclusions, differences, minority contributions, evidence strength, gaps, best rendition, next action, references. Open a cluster's Insightsreport to write or rewrite it.
Score, bind & write
A judge scores only the shortlist. ✎ score, bind & write the report binds a curator, scores the unscored members (up to 64) and then writes the report.
Cluster chat
Talk to a cluster. Ask it for the next question worth asking, or ask it to make something. Continue for me runs several exchanges. Each turn is kept on the cluster.
At the end
The composer setting at the end controls automatic reports: report (default: cluster reports, then a night report), full (adds synthesized answers), or off.
Reports are written by a curator lane with at least 100k tokens of context. Auto deals different models across clusters. Use current lane models keeps to what is loaded. Manual pins your choice. Without a usable curator, a report is a clearly labelled deterministic summary.
10.5Continue, refine, compound
Continue run
On a settled night, press ▶▶ Continue · Night 2. A curator reads the clusters. Each cluster gets a synopsis: consensus, disagreements, open, artifacts, best. Tonight's attempts start from it. Add a goal and the pack leads with PREVIOUS BEST and MUST FIX.
Refine in place
Edit an artifact instead of regenerating it. Seven transforms: markdown, page, html, code, text, data, table. Aim at a selection. Past 6,000 characters it uses edit blocks, so untouched bytes stay identical. Undo and redo move a pointer.
Compounds
In the Archive, press Combine with… to join finished nights into one working job. Members are pinned, never followed. Ask for a working brief: every factual line ends in a source locator.
10.6The Archive and semantic zoom
The Archive shows every run as a light. Rank by yield, attempts, duration, clusters, score or recency. Filter by status, time and judge mode.
Zoom out of a night (press Pull back or scroll out past the edge) and its attempts fold into cluster cores, then into the job's Archive dot. Zoom in on a dot and it blooms back into the night. Press Watch this night again in the field to replay it.
Did it work? Say so on the record.
This is the part that separates a production system from a renderer. Every check writes what it did. A check that could not run says so. Nothing is quietly marked as a pass.
11.1The four judge modes
| Mode | Use it for | How it decides |
|---|---|---|
| accuracy | Questions with a right answer | Panel agreement, banded: 0.6 or higher is supported, under 0.35 is contradicted, between is split. |
| quality | Deliverables with a bar | A Markdown rubric frozen at submit, with eight executable check types. If nothing clears the must band, there is no winner. |
| creative | Ideas, names, concepts | An inverted selector. It reports spread and contrast. High agreement is a warning: the panel converged on a cliché. |
| consistency | Work that must match a canon | Checks against a canon you name. Fails closed without one. The composer blocks Next until a canon is set. |
Configure judges under WorkersJudges. The judge deadline (60 s by default) is in Preferences. A judge that runs out of time abstains. It never guesses.
11.2Validators and the sandbox
Static tier
Six validators: html, code, markdown, json, svg, csv. A kind with no validator is recorded unvalidated, never silently true.
Runtime tier DGX
A generated web app or SVG is opened in a headless Chrome with no network. Its buttons are pressed. The result is one of eight words: blank_render · uncaught_error · asset_missing · handler_missing · timeout · oom · crash · load_failed. Python and SQL also run there.
The sandbox uses the Chrome or Chromium already on the box. With none installed, the record says "not checked" and names the reason. Mac and Windows editions do not run the sandbox. Measured on the reference box: 35% of html artifacts that passed the static tier did not run.
Media checks
Stills must decode, match dimensions and not be uniform. Clips must parse with no frozen run, no black frames and no noise field. Narration is transcribed back and scored on word error rate.
Contradiction guard
A specialist checks claims against each other. The record names who judged, and whether the only reachable judge had also written one of the candidates.
11.3The Repair Queue
- Open the Repair view.
In the Library, choose the repair view mode. It gathers every answer that needs fixing. On DGX the
ns repair listcommand shows the same queue. - Read the issues.
Each recorded failure (validator, sandbox, test, judge or make evidence) becomes a typed issue with the cheapest action: recheck, repair or rerun. This diagnosis makes no model call.
- Read the plan.
The plan is shown under a hash before anything runs. One repair per lineage at a time, under a finite allowance.
- Run it, or let free time run it.
In SetupPreferencesRepair in free time set mode (mend · collect only · off), route (local lanes only · any lane) and promotion (when every check passes · I choose).
- Read the result class.
accepted repair · improved but not accepted · no change · regressed · unresolved · execution failed. Only a verified repair is promoted. A "done" row is never "accepted".
11.4Receipts and trace
Receipt
Every answer carries a signed compute receipt: the winning route, phases, usage, cost, cache status, privacy floor and reclaimed losers. Open the Console (⌘5) to see live receipts.
TRACE
Any attempt as an eight-link chain: origin, commission, assignment, context, execution, outcome, judgment, afterlife. Each link is marked recorded, partial, not recorded or not applicable.
One address. One key. Every app.
Nightshift is an OpenAI-compatible endpoint on your machine. Point your editor, your scripts and your agents at it. By day it answers them. By night it works your jobs. Not available in the Web and Mac M1–M4 editions.
12.1Find the endpoint and the key
- Open the endpoint card.
Go to SetupProviders. The Runtime endpoint card is at the top. The Console (⌘5) shows the same card.
- Copy the values.
Base URL
http://127.0.0.1:8088/v1. Press Reveal then Copy on the auth token. Default modelmeterless/auto. - Or copy a recipe.
Press Copy setup. Ten recipes are ready with the live URL and token filled in: curl, OpenAI SDK for Python and Node, Continue, Cursor, Cline/Roo, Zed, Open WebUI, LibreChat, and an experimental Anthropic SDK recipe.
- Test it.
Run the curl command below with your token. A JSON answer means the endpoint works.
curl http://127.0.0.1:8088/v1/chat/completions \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"model":"meterless/auto","messages":[{"role":"user","content":"Say hello in five words."}]}'# Python, with the official OpenAI SDK
from openai import OpenAI
client = OpenAI(base_url="http://127.0.0.1:8088/v1", api_key="YOUR_TOKEN")
r = client.chat.completions.create(
model="meterless/auto",
messages=[{"role": "user", "content": "Summarize today's PRs in 3 lines."}],
)
print(r.choices[0].message.content)The token is the security boundary. Without it every data route answers 401. Press Rotate to mint a new one. Apps using the old one stop working until they get the new one.
Connect an app to this computerCopy the endpoint recipe and verify a first request.
Setup → Providers → Runtime endpoint · full Windows / Mac M5+ / DGX
- Open Copy setup. Choose the recipe for your client. The base URL is
http://127.0.0.1:8088/v1. - Enter the runtime token in your app’s API-key field. Reveal and copy it locally when needed. This is the runtime token; cloud provider keys go in the separate Cloud provider keys section.
- Start with meterless/auto. Send one short request from the app. A 401 means the token is missing or no longer matches.
- Check Console → Apps. The plug icon opens Console from any screen. A client appears after it sends traffic, not merely after settings are saved.
You’re ready when the app receives an answer and its traffic appears in Console. Web and Mac M1–M4 do not expose this endpoint.
Driving Nightshift from a shell or a coding agent instead? See the ns command line ↗: every command, its JSON replies and exit codes.
12.2Modes: the model names your app sends
Treat Nightshift as a provider whose model IDs are modes. You can also send a real model id, for example gpt-5.5 or local-runtime/llama-3.1-8b-instruct, and routing pins to it.
| Model id | What it does |
|---|---|
meterless/auto | Adaptive default. One plan per request: easy prompts race one lane, hard prompts get best-of-n, synthesis and verification. |
meterless/fast | Ready models only. Lowest time to first token. |
meterless/deep | Frontier routes and second opinions. |
meterless/cheap | Free, local or subscription sources first. |
meterless/local | On-device only. No cloud, ever. |
meterless/fusion | A family-diverse panel plus a judge, merged into one better answer. |
GET /v1/models lists the modes, your configured cloud models and installed local models. Chat cannot carry images or speech: asking for one answers 400 class_carrier_unsupported and points at the jobs route. Supported: streaming, tool calling, structured outputs, embeddings, /healthz.
Check connected apps in ConsoleUse the same connection drawer from any screen.
Top bar → plug icon · Ctrl+5 on Windows / ⌘5 on Mac
- Connect holds the base URL, runtime token and model mode.
- Apps shows clients that have sent requests. Send a test request if the list is empty.
- Activity follows requests as they arrive. Proof shows the recorded receipts available for them.
You’re ready when you can trace a test request from your app into the runtime.
12.3What a connected app gets
It is identified
By header, SDK fingerprint or one of 29 User-Agent patterns. Cursor, Cline, Continue, Zed, Claude Code, Aider and Goose arrive as themselves.
It gets a standing job
One open app_stream job per app. Every request appends a turn with its lane, mode, tokens and receipt. Failed dispatches are recorded, never hidden.
You can bind it
Bind each app to a routing mode from the cockpit. The bind overrides what the client asked for, and records what it asked for.
Policy is enforced
Per app: privacy floor, race width, premium budget, lane allowlist. Pause an app and its next request gets a typed 429 before any lane is dialled.
12.4Hotspot mode: serve other devices on your network
- Turn it on, on the box.
Go to SetupPreferences. The first card is Hotspot mode. It is off by default. Switch it on. The switch only works from the computer that runs Nightshift. A request from the network to flip it gets 403.
- Open the firewall.
Allow TCP port 8088 on this computer's firewall, on your private network only.
- Copy a LAN address.
The endpoint card now lists Base URL · hotspot rows, for example
http://192.168.0.55:8088/v1. Use the same token. - Point the other device at it.
Press Show QR. A phone camera opens a page on the box itself with the base URL, the key and paste-ready snippets. The key rides after the
#, so it reaches no log.
The LAN connection is plain HTTP. The token crosses your network readable. Whoever holds the token can run nights and read them. Share it with your own devices only. Container bridges and link-local addresses are never offered.
A network source that keeps failing the token is held at 429 for a minute. The choice persists across restarts in hotspot.json. The ns command line stays loopback-only either way.
12.5Pair your phone
- Open Controls.
Go to SetupControlsPhone. Switch it on. Pairing runs on port 8089 while the cockpit is open, LAN only.
- Scan the QR.
Scan it from a phone on the same network, or type the code
RT-XXXX-XXXX. The link opens the live field, not a status card. Nothing is installed on the phone. - Choose what the phone may do.
Scopes:
status.read·jobs.read·queue.submit·job.write(pause, resume, cancel, review scribes) ·lane.write(force start, enable, disable, recolour). - Rotate when needed.
Rotate code invalidates the code for new pairs. Phones already paired stay until you revoke them.
A paired phone never holds provider keys or an admin token. Every write goes through the same path the Night rail uses.
12.6The ns command line DGXMac M5+Windows
ns talks to the daemon on this machine with the daemon's own token. It is read-mostly, loopback-only, and never touches lanes, fleets, models, keys or setpoints. Use it from scripts, CI and coding agents. On Windows it is %LOCALAPPDATA%\Nightshift\cli\ns.cmd.
ns discover # what this box can do right now
ns status --json # is the daemon reachable
ns route --prompt "refactor this module" # how it would route, no model call
ns generate -f brief.md --n 64 --privacy local-only --wait
ns job watch job_abc # live NDJSON of the night
ns job outcome job_abc # Accepted / Not accepted / Not yet decided
ns job report job_abc --format markdown # the night read across clusters
ns context get job_abc --view winner --format markdown
ns verify status job_abc # which generated apps ran in the sandbox
ns repair list job_abc --scan # what failed and what could fix it
ns import preview ~/chatgpt-export.zip
ns proposals list # the inbox of suggestions| Group | Commands |
|---|---|
| introspect | schema · discover · status |
| generate | generate · continue |
| job | list · get · watch · outcome · report · cancel · runs |
| context | search · get · cluster · attempt · lineage |
| import · source · compose | import preview|commit|status|list|undo · source get · compose preview|create|get|edit|undo|brief|dissolve |
| ocr · verify · repair | ocr status|extract|get · verify status|run|get · repair list|plan|submit|pool |
| mine · proposals · route | mine · proposals list|accept|dismiss · route |
Exit codes: 0 ok · 2 usage · 4 not found · 5 conflict · 6 unavailable on this box · 7 saturated · 8 unauthorized · 9 invalid · 12 daemon unreachable · 13 deadline · 20 partial. A retried generate creates a second job. --window quiet waits until 22:00.
12.7Tools the models can use (MCP)
Nightshift is an MCP client. Under WorkersMCP, 13 servers install in one click: memory, filesystem, github, sequential-thinking, fetch, time, git, playwright, sqlite, postgres, brave-search, slack, everything. The daemon owns them, so they keep working with the cockpit closed. Twelve native tools ship beside them: web search, browser reading, file access, HTTP fetch, cluster context and conversion. Tools run only inside a job.
Nightshift also consumes runtimes you already run. Ollama, LM Studio, llama.cpp, vLLM and Forge are probed and seated as lanes.
Stills, clips, speech, music, transcripts and 3D.
Media engines are a separate, optional package on the desktop editions. The Web and Mac M1–M4 editions have no local media. Cloud media models work anywhere a key is accepted.
| Output | Engine | Example models | Editions |
|---|---|---|---|
| Images | sd-server (sd.cpp) · meterless-imaged (diffusers) | FLUX.2 Klein, Z-Image Turbo, SD3.5 Large, Qwen-Image; SANA, PixArt-Sigma, Janus-Pro on diffusers | DGX, Mac M5+, Windows (diffusers is DGX only) |
| Video | sd-server | Wan 2.1 / 2.2, LTX, CogVideoX, HunyuanVideo, Mochi | DGX; Windows where the engine fits; Mac not confirmed |
| Speech | llama-tts · llama-tts-oute | Kokoro, OuteTTS, Qwen3 TTS, F5-TTS | DGX, Mac M5+, Windows |
| Music | ace-server | ACE-Step 1.5, YuE | DGX, Mac M5+, Windows |
| Transcription | whisper-server | Whisper Large v3, Turbo, Medium, Base | DGX, Mac M5+, Windows |
| 3D | meterless-meshd · 3D Paint | TripoSR, TripoSG, Hunyuan3D 2.1 | DGX only |
| Documents | PaddleOCR specialist | PP-OCRv4 on CPU | DGX, Mac M5+, Windows |
13.1Install the media engines
Run ./ADD-MEDIA.sh from the release folder. About 2.9 GB to download, 4.7 GB installed. The install checks offline that every library resolves. Reopen Nightshift.
Metal engines for speech, transcription, image and music ship inside the app. Download weights from the Media classes in SetupLocal models.
Vulkan builds of Whisper, Stable Diffusion, ACE-Step and OuteTTS ship inside the installer. A PC with no Vulkan driver reports runtime_unavailable. Update the GPU driver.
Weights are never in a package. Download each model in the app. A model with no adapter stays unavailable: downloading its weights does not invent one. When something is missing the error names it: runtime_unavailable and exactly what.
13.2Make something from an answer
- Open an answer.
In the Library or the field, click an attempt. Press Make.
- Pick a transform.
The MAKE menu has 11 transforms: a document, a deck, a page, a standalone web app, a still, a clip, animation, narration, music, a transcript, or a conversion.
- Wait for the lane.
A make leases an engine under its own token. Heavy image, video and music cores take turns. A make waiting on a busy lane starts the moment a fitting lane is free.
- Find it.
Makes appear beside the answer they came from. The field tracks makes apart from attempts. The Making pill on the Night bar lists what is being built.
Edit a still
An edit sends the source as a reference image, so the model follows the instruction. FLUX.2 Klein and Qwen-Image-Edit take up to three more reference images.
Convert for free
61 routes across document, table, image, audio, video and merge. No lane, no engine, no network. Engines found on the box are listed in SetupPreferencesConversion engines.
Mass edit and convert
In the Library, select stills and press ⇄ edit or ⇄ animate. In a bulk job, choose "transfer every file to" a target format.
A setting a model cannot honour is refused by name (unsupported_setting), never silently dropped. In Preferences, Seated media lanes make beside the race lets one make per media lane run while a night is still generating.
13.3Cloud media models
Image, video, speech and music generators reached over the network with an API key. No download, no lane, no VRAM. They spend money at the vendor and the bytes leave the box, so a job under a local-only floor never reaches one. Add keys under SetupProviders. The rows show Docs and Pricing, not Download.
A submission is written down before it leaves. An accepted task is polled and never resubmitted. A planner never auto-picks a vendor for you. Check the vendor's pricing before a bulk night.
Your past work is not a fresh start.
Import ChatGPT and Claude exports, markdown, text, JSON, pasted transcripts, scans and PDFs. Back up and restore the whole instance. Nothing leaves the machine.
14.1Import a conversation export
- Export from the other tool.
In ChatGPT: Settings → Data controls → Export data. In Claude: Settings → Privacy → Export data. You receive a zip by email. Claude Code logs also import.
- Open Bring your work.
On the Archive, press ⇪ Bring your work, or drop the file anywhere on that screen. Also under SetupDataImport AI history or files.
- Inspect the preview.
Nightshift lists the recognised sources. A ChatGPT export keeps its full branch tree. Unknown content is marked
opaquewith a warning. Choose what to import. - Commit.
Press Import. The commit refuses if the plan changed since the preview. Imports stream, so a 130 MB export commits without truncation.
- Use it.
Press Inspect sources › or Read it. Each exchange appears on the field as a historical attempt and in the Library. Ask for a working brief, or Combine with… other work and continue from it.
The guarantees
Nothing leaves the machine. Nothing is guessed. Nothing starts: import does not start jobs or install skills. It can be undone: ↶ Undo this import removes only what that batch created. Privacy can only tighten.
Re-imports
The same conversation gives the same revision id, bucketed unchanged. A newer version is flagged for review with the existing job named, instead of making a second copy.
Imported conversations are local-only. Refine, rerun, delete and rate stay off on a historical exchange. A scanned PDF arrives as a pending unit and goes to the document reader.
Export a night you can shareChoose whether to include the prompt before downloading.
Night → Library → Workbench → export
- Select the run to export. Open its Library, then Workbench → export. Some builds expose export directly on the toolbar.
- Read what the ZIP includes. It contains the attempts and artifacts; choose export with the prompt or export without the prompt. Cancel leaves without exporting.
- Wait for the download to finish. Extract the ZIP and open its included viewer to check the result. Review the contents before sharing: answers can repeat details from the prompt.
- For all jobs or a backup, use Setup → Data. Exporting a night, transferring all jobs and backing up the instance serve different purposes.
You’re ready when the downloaded ZIP opens and contains the intended run.
14.2Back up, restore and clear
Open SetupData. Backup, restore and clear run only when nothing is queued or running.
Transfer jobs
Export all jobs writes a jobs-only zip. Import jobs ZIP reads one. Existing ids are skipped.
Back up the instance
Back up instance data writes a streamed, verified pack: jobs, sources, library, methods, skills, evidence, world state, media and engine state.
Restore
Choose a zip. Review the preview. Type REPLACE DATA. Press Restore this backup. Afterwards press Apply saved preferences and reload. Restored jobs come back paused and schedules disabled.
Clear imported data
Type CLEAR IMPORTED AI DATA, then press Clear all imported AI data. Only imported sources and jobs go. Library and media stay.
A backup never holds keys, tokens, phone pairing, models, lane or fleet files, or external folders. Configure providers again on the destination. Saved operations are listed with Download and Delete.
Import, transfer or back up dataChoose the smallest operation that matches your goal.
Setup → Data · full desktop editions
- Import sources brings in ChatGPT or Claude exports and supported files.
- Transfer Nightshift jobs exports or imports a jobs-only ZIP. Use this to move runs between installations.
- Back up instance data preserves the broader workspace. Read the restore preview before confirming a replacement. Restore can replace existing data.
You’re ready when you have the right kind of file for the transfer or backup you intended.
14.3Folders the models may read
The default workspace is Documents/Nightshift. Add more folders from any drive under SetupPreferencesFolders and pick which is default. Tools and watchers can never reach beyond the folders you grant.
The box decides when to work. It yields the moment you touch it.
Nightshift runs unattended on a quiet window, on a rhythm or on a trigger. It always gives the machine back on your first request.
Quiet window
22:00 to 07:00 by default. A job set to tonight waits for the window and ten idle minutes, even on an idle box. Start it early with ⚡ Don't wait · run it now; the override is recorded with who did it.
Auto plan-the-night
The Auto switch in the composer. It answers class, capability, artifact, judge, fleet, size and reach. It sizes the night from your box's measured throughput when a prior night on that fleet exists, and says throughput_unmeasured when it is guessing.
Schedules
Choose repeat in question six. Set an interval or a clock time. Press ⏱ Set the rhythm. Find it later behind the scheduled / watched toggle on the Jobs board.
Watchers
Choose onchange. Pick what to watch (a folder path, a URL or an HTTP response), the condition (18 closed conditions, no expressions) and how often (5 minutes minimum). Watchers back off on failure and disable after ten failures in a row. A local-only job cannot ride a network watcher.
Route autopilot
One reading of every request before a lane is picked: mode, tools, eyes, coder, prompt size, tier hint. It can raise a tier, never lower one you chose. Preview it with ns route without waking a lane.
Media autopilot
Per generate lane: off, on, or watcher. In watcher mode a fleet carries a graph: when output K lands from producer P, consumer C makes D. 3D desks run as watcher graphs.
Adjust preferences without getting lostFind the policy or behavior you want to change.
Setup → Preferences
- Hotspot mode lets other devices reach the runtime. Leave it off for apps running on this computer.
- Local model selection contains Optimized for Me. Keep it on for simpler model choices.
- Routing, folders and library settings control how work runs and what it can read or retain. Expand the matching section instead of changing unrelated settings.
You’re ready when the setting you meant to change reflects your choice.
15.1Routing presets
Under SetupPreferences, four presets sit above every slider:
Save the most
Cheapest viable source first. Cache hard. Tiny premium budget.
Fastest
Widest race. First byte wins. Aggressive time budgets.
Most private
Local-only floor. Nothing leaves this machine.
Highest quality
Frontier-friendly budgets. Safety check always on. Adaptive compute lit.
Below them: latency target, quality target, cost ceiling, race width, premium budgets, cache aggressiveness, cross-check, answer fusion, answer judging, best-of-n on hard prompts, reasoning scaffold, adaptive compute, self-refine, scribe wave size, judge deadline, battery and memory thresholds.
Nights that build on nights.
The archive teaches the box. Successful search policies become Methods. Know-how becomes Skills. The miner reads what recurred and proposes the next job. Proposals land in an inbox, never as actions.
| Object | Question it answers | Where |
|---|---|---|
| Skill | How do I perform this kind of operation? A SKILL.md body plus files. Versioned and secret-scanned. | WorkersSkills. Type @ in the composer to name one. |
| Method | How did we decide this class of work should be searched and judged? Policy, not prompt text. | WorkersMethods. Keep one from a night that worked through the Keep flow. |
| Job | Do this work now. | Queue |
| Fleet | Which resources should perform it? | Lanes › Fleets |
| Artifact | What survived? | Library |
16.1Mining and the proposals inbox
- Mine a night.
On the Jobs board inspector, choose mine it for ideas. A finished night or an import yields a candidate Method and Skill. Keep or dismiss each candidate.
- Read the inbox.
Open WorkersMining. The Workers tab shows a ⛏ badge when proposals wait. A strip above the Queue composer shows them too.
- Accept or dismiss.
Kinds: a job draft, a schedule or watcher, a Method or Skill, a fleet swap, a heal. Accepting a job fills the composer; nothing is submitted. A fleet swap waits for current work to drain. Dismissed proposals stay quiet for a month.
- Turn on idle mining (optional).
A background mining pass ships disabled. It runs only when the box is idle and yields the moment traffic arrives.
A Method's promotion is gated by evidence receipts with four standings: untested · signal · tested · stale. A signal needs five nights before it counts. A kept Method can be replicated: its recipe becomes the defaults of your next submit.
16.2Scribes and Analytics
Scribes
Tiny local workers that read one attempt after it lands and write tags, a short summary, entities and how unlike its siblings it is. They run in waves, not continuously. An empty sky between waves is normal. Set wave size and timing in Preferences under Night scribes.
Analytics
WorkersAnalytics shows how the machine actually ran: time, tokens, lanes, attempts per accepted artifact, judge coverage, cache hits and reclaimed losers. Numbers exist only when the floors actually passed. A missing measurement is null, never zero.
Web Try a night in your browser.
Free. No account. The engine runs in the tab. Cloud models come through a shared relay. Small models can run on your GPU through WebGPU.
What it has
Six curated tasks or free text. A run is a best_of_n job of 16 attempts and finishes in about 40–70 seconds. The full cockpit: 120 text fleets, Library, Archive, import of ChatGPT and Claude exports, compounds, cluster reports, cluster chat, Continue, and the Night ↔ Archive zoom. Runs are saved in the browser.
What it does not have
No local media. No daemon, so no endpoint for your apps, no Hotspot, no signed receipts (they show as unsigned). Workers › Methods, Skills, MCP and Setup › Controls (phone) show "Only available in the full version". No mining, no OCR.
17.1Three ways to run models
Shared cloud (default)
Cloudflare Workers AI through the relay, behind a mostly invisible human check. Costs you nothing. 400 requests a day per browser, about 23 jobs, with a 12-hour session token.
On-device
WebLLM on WebGPU in desktop Chrome or Edge. Open SetupFleets and download a device fleet. Weights cache in the browser, not on disk. Without WebGPU the page says webgpu_unavailable and cloud lanes still work.
Your own key
Under Advanced. OpenRouter only, free models only. The key lives in memory and vanishes on reload.
17.2Things to know
- When the allowance runs out, Nightshift offers a labelled replay of a real recorded night, or your own key.
- A background tab is throttled. The field shows
tab_backgrounded. Keep the tab in front. - Demo runs and private windows are memory only. Clear site data and your runs are gone. Export a night you want to keep.
- Mobile browsers are not tested.
- The footer may still print "RUNTIME :8088". There is no runtime port in the Web edition.
M1–M4 The Web engine, in a Mac app.
For M1 to M4 Macs, especially those with 16 GB or less. A 30 MB native shell around the Web edition's engine. No daemon, no sidecars. Free.
What it adds over the Web edition
A stable origin on port 47321, so model weights and runs persist. WebGPU forced on. Your own cloud keys for OpenAI, Anthropic, Google, OpenRouter, OpenCode Go and xAI, encrypted on disk and used by the app shell. The app keeps the Mac awake while jobs run. Closing the window parks the app; the engine keeps working.
What it lacks
No media engines. No llama.cpp or GGUF models. No endpoint for other apps. No Hotspot. No phone. No ns. No mining, proposals, Continue, lineage, Archive zoom-out, favourites or Repair view. Methods, Skills and MCP show the full-version panel.
18.1How many models fit
| Mac memory | One model up to | Two or more | Lanes at once |
|---|---|---|---|
| 8 GB | 2.6 GB | — | 1 |
| 16 GB | 6.0 GB | 3.0 GB each | 2 |
| 18–24 GB | 9.0 GB | 6.0 GB each | 3 |
| 32 GB or more | 9.0 GB | 6.0 GB each | 3 |
WebKit stops the page, and every job with it, when its memory passes 8 GB on a Mac with 16 GB or less (16 GB above that). A model that cannot fit is refused with model_too_large_for_this_mac before any download starts. Under memory pressure the app drops to one lane.
18.2Which macOS
| macOS | Needs | On-device models | Cloud lanes |
|---|---|---|---|
| 11 Big Sur · 12 Monterey · 13 Ventura | Safari 16.4 or later from Software Update | No | Yes |
| 14 Sonoma | — | No in practice | Yes |
| 15 Sequoia · 26 Tahoe | — | Yes | Yes |
To reset the app: quit, then delete ~/Library/WebKit/ai.meterless.nightshift.m1m4/WebsiteData/. If port 47321 is taken the app falls back to 47322–47324, and that origin starts empty.
M5+ The full edition on Apple silicon.
A per-user runtime owned by the app. Metal llama.cpp lanes. Bundled Metal engines for speech, transcription, image and music. Hotspot, phone, ns. One perpetual licence, all 1.x updates included.
Unique to this edition
Starter kits for 16 GB and 32 GB Macs, picked automatically under 48 GB. Rotation: a fleet larger than memory takes turns loading its models. A model that can never fit is greyed with Refactor fleet to fit. Waits, not failures: "another app is using more memory" is treated as a wait. Power policy Quiet / Balanced / Max follows battery, Low Power Mode and heat.
Limits
No browser verification sandbox ("this Mac cannot contain the browser"). The CUDA-only image service (SANA, PixArt, Janus) is unavailable. Video generation is not confirmed. Qualified on 16 GB; 32 GB is derived and 128 GB is unverified. No start at login. No auto-updater. No Continue dock, Repair view or Morning share row yet.
19.1Mac-specific steps
- Install the verification pack.
In Setup press Install verification pack. About 490 MB plus 296 MB of models, about 25 seconds. It installs the OCR reader and the contradiction guard. No terminal needed.
- Put models on an external SSD (optional).
Press Choose models folder… on the runtime card and pick the SSD.
- Stop the runtime before you uninstall.
SetupRuntimeStop runtime, then drag the app to the Trash.
"admission paused" or waiting_for_memory on a busy 16 GB Mac is expected. Nightshift waits. The Mac is kept awake while work runs.
DGX The reference box. Everything, as a service.
Built and measured on a DGX Spark (GB10, 128 GB unified memory). The runtime is a systemd service. It survives logout and comes back on reboot. Your apps keep working with the cockpit closed.
Only here
The verification sandbox actually runs generated apps. 3D generation (TripoSR, TripoSG, Hunyuan3D, 3D Paint). The diffusers image service for SANA, PixArt-Sigma and Janus-Pro. The widest media set. The Continue dock, the Library Repair view and on-screen hints.
Measured on one Spark
Three local lanes resident with an embedder and a media server. About 9.7 tokens per second aggregate decode across three lanes, 424–596 tokens per second prefill. About 130 attempts in a 5 h 15 min night. Link two to four Sparks over ConnectX-7 for a wider night (projected).
20.1Operate the service
systemctl status meterlessd # is the daemon up
sudo systemctl restart meterlessd # restart it
journalctl -u meterlessd -n 200 # recent service log
tail -f /var/log/meterless/engine-0.log # the engine host
tail -f /var/log/meterless/lane-<id>.log # one lane| Path | What it holds |
|---|---|
/etc/meterless/config.toml | Daemon config, including models_dir and memory reserves |
/var/lib/meterless/models/ | GGUF and media weights; specialists under models/specialists/ |
/var/lib/meterless/lanes.toml · fleets.toml | The active lanes and custom fleets |
/var/lib/meterless/jobs/<id>/ | A job's attempts, artifacts and makes |
/var/lib/meterless/library/ | Kept items |
/var/lib/meterless/receipts.jsonl · evidence/ | Signed receipts and evidence receipts. They outlive job folders. |
/var/lib/meterless/proxy-token | The bearer token (0600) |
On the reference box the sandbox runs without its network namespace because AppArmor refuses it to the daemon's child. Egress is still blocked by a dead resolver and Chrome's own sandbox. Every record says netns: false.
3D generation once shut a GB10 down for heat. The 3D server now waits for a cool GPU and paces itself. Leave it room.
Windows CUDA, Vulkan or CPU. Chosen for you.
A port of the Mac edition for x64 PCs. Windows 10 1809 or later, or Windows 11. Hotspot, phone, ns and media engines on Vulkan. No sandbox, no 3D.
Unique to this edition
GPU backend choice between CUDA (NVIDIA GTX 10-series or newer, driver R525 or newer), Vulkan (AMD, Intel, older NVIDIA) and CPU, with every exclusion explained under SetupGPU. Spill: a model larger than VRAM can run partly from system RAM. Heat brake at the card's own thermal limit.
Limits
No verification sandbox. No 3D. No native Windows on ARM (x64 emulation only). No ROCm or SYCL. No auto-updater and no start at login. The build is unsigned, so SmartScreen warns once.
21.1Windows-specific steps
- Pin a GPU backend.
Open SetupGPU. Read the decision. Choose CUDA, Vulkan or CPU. Press Restart runtime.
- Install the OCR and contradiction pack.
Run
specialistd\install-windows.ps1from the install folder in PowerShell. - Move the models folder.
In SetupRuntime, choose another drive. The default is
%LOCALAPPDATA%\ai.meterless.runtime\models. - Stop the runtime.
SetupRuntimeStop, or run the command below.
meterlessd --stop
Advanced settings live in settings.json: "gpu" pins a backend, "gpu.spill": "off" refuses models larger than VRAM, and "heat": {"limit_c": N} can only lower the thermal line.
Symptom. Cause. Fix.
Type a word from your screen, or pick a category. Every entry names the cause before the fix. Entries tagged with an edition apply to that edition only.
"Daemon not running" · "Runtime needs attention" · ns exits 12
sudo systemctl start meterlessd. Windows Mac open SetupRuntimeRestart. The red banner clears when a lane is ready."another meterlessd already holds …lock"
meterlessd --stop. Mac quit the installed app fully first.Windows SmartScreen says "unrecognized app"
Windows Installed, but the Start-menu entry opens nothing
MacM1–M4 "cannot be opened because the developer cannot be verified"
M1–M4 The app offers Software Update and quits
WebM1–M4 webgpu_unavailable
Web "Allowance used" · a replay is offered instead of a run
Lane refused: insufficient_budget or low_live_memory
insufficient_budget means the ledger is full. low_live_memory means free memory is too low right now.low_live_memory: commit means the commit limit (RAM plus page file) is nearly full: let Windows grow the page file.A model row reads "Too large" or "too large for this machine"
model_too_large_for_this_mac; see the memory table in the edition guide.A model row reads "repair needed" or "missing GGUF"
A lane crash-loops, is wedged or goes silent
A cloud lane sits "unconfigured" or is demoted
invalid_key, insufficient_credit, forbidden. Fix the key or the account, then Restart the lane.NVIDIA or another provider answers insufficient_credit
A pinned NVIDIA lane says endpoint_not_deployed or endpoint_not_listed
A model released in September or October 2026 is not in the picker
model_gated; no other model answers in its place. This applies to Claude Opus, Sonnet and Haiku 5.5, GPT-6.1 Sol, GPT-6 Astra and Luna, Gemini 4 Argon, Gemini 3.8 Flash, the new OpenRouter routes, and the new local models (Nemotron 3.5 Bolt E4B and 74B, MiniCPM5 2B, LFM2.5 24B). Nemotron 3.5 Bolt E4B and Nemotron 3.5 Embed 1B on NVIDIA passed and show now.Windows Setup › GPU shows CPU on an NVIDIA PC
Mac "admission paused" · waiting_for_memory · "another app is using more memory"
After a fleet switch, a lane says runtime_model_missing
I pressed Begin, but nothing runs
The night stopped early with lanes_exhausted and is marked partial
The outcome says "Not yet decided"
The composer will not go past the judge question in consistency mode
Verification says "not checked" on a generated web app
ns verify run JOB_ID --wait. On other editions open the file yourself from the Library.The Live field is blank: no particles, no lane labels
"meterlessd did not answer within 12s" when switching streams
A large job opens empty, or the Library never loads
The field shows no scribes, or "0 active"
Backup, restore or clear refuses to run
My app gets 401 from the endpoint
ns exit 8, set METERLESS_TOKEN.Connection refused on 127.0.0.1:8088
GET /healthz. DGX read /var/log/meterless/engine-0.log if nothing listens.Another computer cannot reach the hotspot
403 when I try to turn on Hotspot from another computer
My app gets 429
400 class_carrier_unsupported
POST /v1/jobs/{id}/materialize. Text stays on chat.The phone cannot pair
runtime_unavailable on an image, video, speech or music make
./ADD-MEDIA.sh and reopen Nightshift. Windows install a Vulkan driver (vulkan-1.dll). Mac the engines ship with the app; download the weights.A downloaded model is refused as not_llama_gguf
A media make sits "parked" or "waiting"
unsupported_setting
A scanned PDF gives no text
specialistd\install-windows.ps1; DGX install from specialistd/. Then ns ocr extract JOB_ID --wait or let the job's pending unit run.22.1Reset things safely
Danger zone
SetupDanger zone: Clear chat history and Reset onboarding. Model files, learned routing and the cache belong to the daemon and are cleared by stopping it and clearing its state directory.
Softer resets
Fleets: Reset to definition. Hints: Start over. Imports: ↶ Undo this import or Clear all imported AI data. Everything: restore a backup.
Clearing the daemon's state directory deletes jobs, artifacts and receipts. Make a backup under SetupData first.
Questions people ask first.
Can I try Nightshift first?
Yes. The Web edition is free and needs no account. Open it in desktop Chrome or Edge and run a night. The Mac M1–M4 and Windows editions are also free downloads.
Will it work on my Mac?
Any Apple silicon Mac runs one of the two Mac editions. M1 to M4: the free M1–M4 edition. M5 or later with 16 GB or more: the M5+ edition. The M5+ edition is a preorder for $199 one-time, with all 1.x updates, delivery expected Q4 2026, and a full refund before release and for 14 days after your download link is sent.
Can I download the DGX edition today?
The DGX installer is available on request. Email partnerships@meterless.ai. Try the free Web edition while you wait.
Is there a subscription?
No. The Mac M5+ licence is one payment. Cloud providers you add bill you directly for their own usage.
Do I have to use the models in the catalog?
No. The catalog ships ready fleets. You can seat any GGUF the runtime can load, add any cloud model from a configured provider, and build your own fleet. Nightshift also seats Ollama, LM Studio, llama.cpp, vLLM and Forge if you already run them.
What is the difference between Nightshift and LM Studio or Ollama?
Those tools load and serve one model. Nightshift sits above them. It runs an unattended shift: competing attempts, clusters, judges, verification, repair, media and a morning review with an outcome. It will happily use their models as lanes.
How long does a night take?
As long as you give it. A best_of_n night of 64 attempts on three local lanes takes a few hours on a DGX Spark. A Web edition run of 16 attempts takes about a minute. A night can stop itself early when the search converges.
What does "Accepted" mean?
Every floor the job required passed on recorded evidence. It is not a score and not a feeling. "Not yet decided" means a required check never ran, so run it.
Why does Nightshift keep the losing attempts?
On hardware you own, six attempts cost the same watts as one. Losers are scored against the winner, tagged tied or reclaimed, and a reclaimed answer can take the crown. Clusters of losers show you where ideas disagree.
Can I use my computer while a night runs?
Yes. The first request to the endpoint, or any interactive use, switches the box to Depth: jobs drain to width 1 and media makes stop. The night resumes when the quiet window and ten idle minutes return.
Can I change the quiet window?
The default is 22:00 to 07:00. The cockpit has no editor for it at this version. Use ⚡ Begin right now or a schedule to run at other times.
How do I get a report instead of 64 answers?
Leave at the end on report. Cluster reports and a night report are written when the job completes. Open them in Morning or on the Jobs board. Choose full to add synthesized answers.
Can I talk to a cluster?
Yes. Open the cluster and use cluster chat. Ask it questions, ask for the next question worth asking, or ask it to make something. Each turn is kept on the cluster.
How do I run the same job every day?
In the composer, question six, choose repeat and set the rhythm. Or let a watcher start it when a folder or URL changes.
Can I control it from my phone?
On the Mac M5+, DGX and Windows editions, yes. Pair over your LAN with a QR code. The phone shows the live field and can queue, pause, resume and tend lanes within the scopes you allow.
Does local-only really mean no cloud calls?
Yes. The floor is enforced at three places: which models are candidates, which lanes are on the roster, and a dispatch chokepoint that throws before any outbound call. A local-only job cannot be widened by Auto, by a per-app rule or by a network watcher.
Where are my keys stored?
In the daemon's own store on your machine, write-only from the window and never logged. On Mac M1–M4, in an encrypted file the app shell owns. Keys are never put in a backup. The Web edition keeps keys in memory only.
What does a night cost?
On local lanes, electricity. On cloud lanes, the provider's price, shown on the receipt. Nightshift reports the cloud spend it avoided. It does not measure power draw or amortization, and it does not claim to.
Does importing my ChatGPT history send it anywhere?
No. The import path has no network code at all. Import does not start jobs and does not install skills. Imported conversations are local-only.
Is the hotspot safe to turn on?
On your private network, with devices you own. The token is required on every route, but it crosses the LAN as plain HTTP. Anyone with the token can run nights and read them. Do not expose port 8088 to the internet.
Which apps connect?
Anything that speaks the OpenAI chat API. Ready recipes: curl, OpenAI SDKs for Python and Node, Continue, Cursor, Cline/Roo, Zed, Open WebUI, LibreChat, Anthropic SDK (experimental). Claude Code, Aider and Goose are recognised by name.
Can my app ask for an image through chat?
No. Chat carries text. Asking for an image or speech answers 400 class_carrier_unsupported with the route to use: a job plus materialize. /v1/models says which classes chat can carry.
Does Nightshift work with OpenRouter-style settings?
Yes. Model suffixes, a fallback chain, sort and max_price as a hard per-request cap port over.
Can Nightshift be an MCP server?
Not at this version. It is an MCP client with 13 one-click servers. Server mode is specified but not built.
Why is a new model not in the local catalog?
A local row exists only when the pinned llama.cpp build can load it. A release that needs a newer runtime is offered as a hosted row where a provider serves it, or waits.
What are Methods and Skills?
A Skill says how to perform a kind of operation. A Method says how a class of work should be searched and judged. Both are versioned, secret-scanned objects. Keep them by hand or mine them from nights and imports.
Can I link several DGX Sparks?
Two to four Sparks over ConnectX-7 are projected from the one measured box: each runs its own lanes and pooled memory holds bigger models. Those numbers are projections, not measurements.
Words, defined once.
One answer from one model to one task. A night keeps every finished attempt.
Every run the box has made, shown as a constellation. Also where you import work.
A file that survived: a page, a document, a still, a clip. Artifacts are write-once and keep their receipt.
Nightshift deciding for you: Auto plan-the-night, route autopilot, media autopilot.
What a usable result must satisfy. Set by the judge mode and the rubric.
Attempts that say the same thing. Clusters form as attempts land.
Several finished nights joined into one working job. Members are pinned.
A new night that starts from a finished night's clusters.
A lane with at least 100k tokens of context that writes cluster and night reports.
The runtime process (meterlessd). It owns lanes, memory, keys, receipts and the endpoint.
The posture when you are using the machine. Jobs drain to width 1.
A lane's role: Race, Vision, Judge, Verify, Prep, Create, Retrieve.
The OpenAI-compatible API on port 8088 that your apps use.
The WebGL view of a night: lanes, attempts, clusters and scribes.
A named set of lanes sized to the machine. One is active at a time.
Two meanings. A privacy floor limits where work may go. An outcome floor is a check that must pass.
Serving the endpoint to other devices on your network.
Durable work: best_of_n, deliberate, batch, bulk or app_stream.
One loaded model, local or cloud, with duties.
The memory budget the daemon may allocate to lanes.
Every answer as a card, in eight view modes.
Something built from an answer: a document, a still, a clip. Makes are tracked apart from attempts.
A kept search-and-judgment policy for a class of work.
A model id your app sends: meterless/auto, fast, deep, cheap, local, fusion.
The review of a finished night: winner, report, outcome.
A finished or running job, as seen on the field.
A hashed object stamped at submit that says what a usable result is and which floors must pass.
A suggestion from the miner: a job draft, a schedule, a Method, a fleet swap, a heal. Never an action.
22:00 to 07:00 by default. When the night may take the whole machine.
A signed record of how an answer was made: route, usage, cost, cache, floor.
Recorded failures turned into typed issues with the cheapest fix.
A tiny local worker that reads one attempt and tags it. Not a model.
The ⌘K box: do anything.
Versioned instructions for a kind of operation.
A leased, loopback-only resident that is not a lane: the OCR reader, the contradiction guard, the sandbox.
The posture when the night has the whole machine.
A trigger over a path, URL or HTTP response that queues a job.
Usable attempts over slots run. The Jobs board's RESULT column.
Still stuck? Ask.
Type your question. This page searches itself first. If nothing matches, send it to us by email with one click.
admin@meterless.ai for help. partnerships@meterless.ai for the DGX edition.
GitHub
github.com/meterless ↗ for the open-source engines, issues and releases.
Before you write
Note your edition and version (Setup shows it), the lane or job id, and the exact error word. Attach the last lines of the daemon log.