{
  "schema": 1,
  "release": "2026.10.22-win.12",
  "platform": {
    "id": "win",
    "name": "Nightshift for Windows",
    "edition": "Windows Edition",
    "os": "windows",
    "arch": ["x86_64"],
    "channel": "WIN"
  },
  "brand": {
    "installerName": "Nightshift Setup",
    "pill": "WINDOWS",
    "headline": ["Your PC has a day job.", "Give it a night shift."],
    "lead": "Queue the outcome, leave, and wake up to finished work. Many models race every task on your own GPU; the answers they agree on win.",
    "cta": "Install & start the night",
    "machineVerb": "Your rig",
    "doneHeadline": ["The night shift", "is on duty."],
    "accent": "#8b7bff",
    "accent2": "#5b8cff"
  },
  "remote": {
    "base": "https://meterless.ai/Nightshift/",
    "manifest": "manifest.json",
    "timeoutMs": 1500
  },
  "requirements": {
    "minRamGb": 8,
    "recommendedRamGb": 32,
    "minDiskGb": 12
  },
  "locations": {
    "models": "{localAppData}/ai.meterless.runtime/models"
  },
  "components": [
    {
      "id": "nightshift",
      "name": "Nightshift",
      "tagline": "Cockpit + meterlessd runtime",
      "description": "The desktop app, the local runtime daemon, llama.cpp (CUDA 12.9 / Vulkan / CPU) and the Whisper, Stable Diffusion, ACE-Step and TTS engines. Installs per-user — no admin prompt.",
      "kind": "app",
      "required": true,
      "priority": 10,
      "artifacts": [
        {
          "file": "Nightshift_1.2.3_x64-setup.exe",
          "method": "nsis",
          "size": 653990786,
          "sha256": "0679114b9096c6a2c787cad893802ed8be75cee867fabb07ea42ceab6b78b008",
          "label": "Nightshift 1.2.3 · x64"
        }
      ],
      "ui": {
        "lane": "anchor",
        "highlights": ["CUDA 12.9 · Vulkan · CPU", "OpenAI-compatible API on :8088", "Media engines included"]
      }
    },
    {
      "id": "starter-brain",
      "name": "Starter brain",
      "tagline": "Llama 3.2 1B — first answer in seconds",
      "description": "A small, fast local model that lands first, so Nightshift can work the moment it opens — even offline.",
      "kind": "models",
      "default": true,
      "prefetch": true,
      "priority": 20,
      "artifacts": [
        {
          "file": "Llama-3.2-1B-Instruct-Q4_K_M.gguf",
          "method": "store",
          "dest": "{models}",
          "size": 807694464,
          "mirrors": ["https://huggingface.co/bartowski/Llama-3.2-1B-Instruct-GGUF/resolve/main/Llama-3.2-1B-Instruct-Q4_K_M.gguf?download=true"],
          "label": "Llama 3.2 1B Instruct · Q4_K_M"
        }
      ],
      "ui": { "lane": "swift" }
    },
    {
      "id": "memory-index",
      "name": "Memory index",
      "tagline": "nomic-embed v1.5 — recall across runs",
      "description": "Embeddings for H-MEM, so what one night learns the next night remembers.",
      "kind": "models",
      "default": true,
      "prefetch": true,
      "priority": 21,
      "artifacts": [
        {
          "file": "nomic-embed-text-v1.5.Q8_0.gguf",
          "method": "store",
          "dest": "{models}",
          "size": 146146432,
          "mirrors": ["https://huggingface.co/nomic-ai/nomic-embed-text-v1.5-GGUF/resolve/main/nomic-embed-text-v1.5.Q8_0.gguf?download=true"],
          "label": "nomic-embed-text v1.5 · Q8_0"
        }
      ],
      "ui": { "lane": "verifier" }
    },
    {
      "id": "workhorse-35b",
      "name": "Qwen 3.6 35B-A3B",
      "tagline": "Mixture-of-experts flagship · 20 GB+ VRAM",
      "description": "The strongest local lane for a 24 GB card. Streams in the background; Nightshift is usable before it lands.",
      "kind": "models",
      "group": "workhorse",
      "default": true,
      "prefetch": true,
      "background": true,
      "minVramGb": 20,
      "minRamGb": 32,
      "priority": 40,
      "artifacts": [
        {
          "file": "Qwen3.6-35B-A3B-UD-Q4_K_XL.gguf",
          "method": "store",
          "dest": "{models}",
          "approxSize": 22850000000,
          "mirrors": ["https://huggingface.co/unsloth/Qwen3.6-35B-A3B-MTP-GGUF/resolve/main/Qwen3.6-35B-A3B-UD-Q4_K_XL.gguf?download=true"],
          "label": "Qwen3.6 35B-A3B · UD-Q4_K_XL"
        }
      ],
      "ui": { "lane": "reasoner" }
    },
    {
      "id": "workhorse-20b",
      "name": "gpt-oss 20B",
      "tagline": "Open-weight reasoner · 14 GB+ VRAM",
      "kind": "models",
      "group": "workhorse",
      "default": true,
      "prefetch": true,
      "background": true,
      "minVramGb": 14,
      "priority": 41,
      "artifacts": [
        {
          "file": "gpt-oss-20b-MXFP4.gguf",
          "method": "store",
          "dest": "{models}",
          "approxSize": 12110000000,
          "mirrors": ["https://huggingface.co/ggml-org/gpt-oss-20b-GGUF/resolve/main/gpt-oss-20b-MXFP4.gguf?download=true"],
          "label": "gpt-oss 20B · MXFP4"
        }
      ],
      "ui": { "lane": "reasoner" }
    },
    {
      "id": "workhorse-14b",
      "name": "Qwen 2.5 14B",
      "tagline": "Strong generalist · 9 GB+ VRAM",
      "kind": "models",
      "group": "workhorse",
      "default": true,
      "prefetch": true,
      "background": true,
      "minVramGb": 9,
      "priority": 42,
      "artifacts": [
        {
          "file": "Qwen2.5-14B-Instruct-Q4_K_M.gguf",
          "method": "store",
          "dest": "{models}",
          "approxSize": 8990000000,
          "mirrors": ["https://huggingface.co/bartowski/Qwen2.5-14B-Instruct-GGUF/resolve/main/Qwen2.5-14B-Instruct-Q4_K_M.gguf?download=true"],
          "label": "Qwen2.5 14B Instruct · Q4_K_M"
        }
      ],
      "ui": { "lane": "generalist" }
    },
    {
      "id": "workhorse-8b",
      "name": "Llama 3.1 8B",
      "tagline": "Reliable workhorse · 5.5 GB+ VRAM",
      "kind": "models",
      "group": "workhorse",
      "default": true,
      "prefetch": true,
      "background": true,
      "minVramGb": 5.5,
      "priority": 43,
      "artifacts": [
        {
          "file": "Meta-Llama-3.1-8B-Instruct-Q4_K_M.gguf",
          "method": "store",
          "dest": "{models}",
          "size": 4920739232,
          "mirrors": ["https://huggingface.co/bartowski/Meta-Llama-3.1-8B-Instruct-GGUF/resolve/main/Meta-Llama-3.1-8B-Instruct-Q4_K_M.gguf?download=true"],
          "label": "Llama 3.1 8B Instruct · Q4_K_M"
        }
      ],
      "ui": { "lane": "workhorse" }
    },
    {
      "id": "workhorse-3b",
      "name": "Llama 3.2 3B",
      "tagline": "Light workhorse · any GPU or CPU",
      "kind": "models",
      "group": "workhorse",
      "default": true,
      "prefetch": true,
      "background": true,
      "priority": 44,
      "artifacts": [
        {
          "file": "Llama-3.2-3B-Instruct-Q4_K_M.gguf",
          "method": "store",
          "dest": "{models}",
          "approxSize": 2020000000,
          "mirrors": ["https://huggingface.co/bartowski/Llama-3.2-3B-Instruct-GGUF/resolve/main/Llama-3.2-3B-Instruct-Q4_K_M.gguf?download=true"],
          "label": "Llama 3.2 3B Instruct · Q4_K_M"
        }
      ],
      "ui": { "lane": "workhorse" }
    },
    {
      "id": "voice-pack",
      "name": "Voice & ears",
      "tagline": "Whisper + OuteTTS — speak to it, hear it back",
      "description": "Speech-to-text (Whisper base.en) and a natural voice (OuteTTS 0.2 + WavTokenizer) for the bundled media engines.",
      "kind": "models",
      "default": true,
      "prefetch": true,
      "background": true,
      "priority": 55,
      "artifacts": [
        {
          "file": "ggml-base.en.bin",
          "method": "store",
          "dest": "{models}",
          "approxSize": 148000000,
          "mirrors": ["https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.en.bin?download=true"],
          "label": "Whisper base.en"
        },
        {
          "file": "OuteTTS-0.2-500M-Q8_0.gguf",
          "method": "store",
          "dest": "{models}",
          "size": 536666752,
          "mirrors": ["https://huggingface.co/OuteAI/OuteTTS-0.2-500M-GGUF/resolve/main/OuteTTS-0.2-500M-Q8_0.gguf?download=true"],
          "label": "OuteTTS 0.2 500M · Q8_0"
        },
        {
          "file": "WavTokenizer-Large-75-F16.gguf",
          "method": "store",
          "dest": "{models}",
          "size": 130186688,
          "mirrors": ["https://huggingface.co/ggml-org/WavTokenizer/resolve/main/WavTokenizer-Large-75-F16.gguf?download=true"],
          "label": "WavTokenizer Large 75 · F16"
        }
      ],
      "ui": { "lane": "vision" }
    }
  ],
  "launch": {
    "label": "Launch Nightshift",
    "windows": [
      "{localAppData}/Nightshift/Nightshift.exe",
      "{localAppData}/Nightshift/meterless-runtime.exe",
      "{localAppData}/Programs/Nightshift/Nightshift.exe"
    ]
  },
  "keys": {
    "providers": [
      { "id": "nvidia", "label": "NVIDIA", "hint": "nvapi-…", "color": "#76B900", "note": "build.nvidia.com hosted trial endpoints — credits + a per-minute cap, not unlimited" },
      { "id": "anthropic", "label": "Anthropic", "hint": "sk-ant-…", "color": "#D97757" },
      { "id": "openai", "label": "OpenAI", "hint": "sk-…", "color": "#10A37F" },
      { "id": "google", "label": "Google Gemini", "hint": "AIza…", "color": "#4285F4" },
      { "id": "openrouter", "label": "OpenRouter", "hint": "sk-or-…", "color": "#B07BFF" },
      { "id": "xai", "label": "xAI", "hint": "xai-…", "color": "#E8E4DA" },
      { "id": "opencode-go", "label": "OpenCode Go", "hint": "key", "color": "#FFB86B" }
    ],
    "stores": [
      { "format": "mkfe", "dir": "{localAppData}/ai.meterless.runtime", "label": "Nightshift key store (encrypted)" },
      { "format": "claude-code", "optIn": true, "label": "Claude Code" },
      { "format": "opencode", "optIn": true, "label": "opencode" }
    ]
  },
  "mission": {
    "api": "http://127.0.0.1:8088/v1/jobs",
    "health": "http://127.0.0.1:8088/health",
    "tokenFile": "{localAppData}/ai.meterless.runtime/proxy-token",
    "window": "quiet",
    "file": "{localAppData}/ai.meterless.runtime/first-mission.json"
  },
  "engage": {
    "missions": [
      "Benchmark every model on my GPU and tell me which wins at coding",
      "Read my project folder overnight and write me a briefing",
      "Draft three landing-page variants and judge them against each other",
      "Turn my ChatGPT export into a searchable knowledge base"
    ],
    "facts": [
      "Every task is raced by several local models at once — consensus wins, not the loudest guess.",
      "The runtime speaks the OpenAI API on 127.0.0.1:8088, so your own tools can use these models too.",
      "Partial downloads resume. Close this window anytime and reopen it to pick up where you left off.",
      "Models land in %LOCALAPPDATA%\\ai.meterless.runtime\\models — move them to a bigger drive in Settings."
    ]
  }
}
