Mightling

Fast AI coding on your desk.
About 69% on SWE‑bench Verified.

68 of 100 SWE-bench Verified tasks, resolved offline on one DGX Spark, at about 47 tokens a second. A coding agent, a chat assistant and a desktop app, running entirely on your own GB10. No cloud. No account. No API bill. No telemetry. How it was measured

$ curl -fsSL https://github.com/dreamference/mightling/releases/latest/download/install.sh | bash
$ ling-admin server start      # downloads the model once (~20 GB), then serves it
$ cd ~/your-project && ling    # that's it

Works on the NVIDIA DGX Spark and every GB10 machine. The script verifies every download against the release's checksums and prints each sudo command before running it. Read it first if you like.

Mac and Linux clients

Your other computers use the GB10's model over the local network. On a Mac or another Linux machine, the same command above installs the ling client; it finds the GB10 by itself.

From 1.7.2 it also puts the desktop app in Applications on a Mac, ready to open (--no-app leaves it out).

Windows client preview

> irm https://github.com/dreamference/mightling/releases/latest/download/install.ps1 | iex

In PowerShell. It installs without administrator rights (from 1.7.2 the desktop app too), then Windows asks once to set up the agent's sandbox. Not signed yet, so Smart App Control must be off. Read the script.

68/100SWE-bench Verified tasks, offline on one DGX Spark
~48 tok/sgeneration on agent work, single stream
0phone-home connections, verified by the egress audit
$0per token, forever

New in 1.7: the desktop app on a Mac, Linux and Windows

Mightling 1.7.0's desktop app holds Ask and Work in one window. Work is a full workbench for agent sessions: a composer with files, skills and commands, a review pane to stage, revert and commit, worktrees, terminal tabs, and a file tree and file tabs beside the thread. On your other computers it is a client of your GB10, which it finds on the local network.

macOS preview

From 1.7.2, the install command puts Mightling in Applications beside ling, and it opens like any other app. Apple silicon and Intel, macOS 12 or later. ling update updates it.

Linux

On the GB10, mightling_1.7.0_arm64.deb installs the app, its launcher entry and the ling-app command, with the sandbox profile it needs:

$ sudo apt install ./mightling_1.7.0_arm64.deb

Then open it from the application menu, or with ling app. More.

Windows 11 preview

From 1.7.2, the PowerShell line installs the app as well, for you alone and without administrator rights, with a Start menu entry; Settings → Apps removes it; ling update updates it. Smart App Control must be off.

Other ways to install

The release page also carries the Mac dmg (Mightling-<version>-arm64-preview.dmg, or x64 for Intel) and the Windows installer (Mightling-Setup-<version>-x64.exe, or arm64). They are unsigned previews: downloaded in a browser, they are stopped the first time. Check each against the release's signed SHA256SUMS first.

  • macOS 15 and later: drag Mightling to Applications and open it once, then System Settings › Privacy & Security › Open Anyway. On macOS 14 and earlier, Control-click the app › Open.
  • Windows: SmartScreen › More info › Run anyway. Smart App Control must be off.

Also in 1.7.0: Night Shift can try a task several times and keep the best attempt (/night add --best-of N), one machine can run several Signal bridges, and a client chooses between two nodes on one network without losing the one it knows. Release notes and downloads.

SWE-bench Verified, measured on one DGX Spark

On 2026-10-08, Mightling 1.5.1's agent with Qwen3.8-27B resolved 68 of 100 SWE-bench Verified tasks on one DGX Spark, offline: a fixed sample of 100 tasks, one attempt per task, default mode. Scaled to all 500 tasks, that is an estimated ≈69% (95% band 63.9–73.4%). This is our own measurement, on our own machine and on a subset, not a leaderboard entry.

SystemSame 100
tasks
All 500
tasks
Mightling 1.5.1 + Qwen3.8-27B (NVFP4), one DGX Spark, offline168/100≈69% estimated
Mightling 1.5.1 + Qwen3.8-27B (NVFP4), refine mode, one DGX Spark, offline169/100≈70% estimated
Qwen3-Coder-480B-A35B (OpenHands)268/10069.6%
GLM-4.6 (Z.ai's agent)368/10068.2%
Kimi K2.5, high (mini-SWE-agent)470/10070.8%
DeepSeek V3.2, high (mini-SWE-agent)570/10070.0%
Claude Opus 4.5, four agents677–80/10076.8–79.2%
Gemini 3 Pro (live-SWE-agent)779/10077.4%
Smaller open models (20–40B parameters)
Qwen3-Coder-30B-A3B (EntroPO + R2E), test-time scaling860/10060.4%
Qwen3-Coder-30B-A3B (EntroPO + R2E), single attempt856/10052.2%
Devstral Small 2512 (mini-SWE-agent)957/10056.4%
Coding-agent products, as their vendors publish them
GitHub Copilot agent mode (VS Code), with Claude 3.7 Sonnet10not published56.0%
Claude Code11not publishednot published
Cursor12not publishednot published

Read it as company, not a ranking. On the same 100 tasks Mightling resolved as many as Qwen3-Coder-480B and GLM-4.6, models many times its size, but every row uses a different agent, different hardware and, for the leaderboard rows, the official x86 test images, where ours ran on community arm64 images. In refine mode a first session studies the task without changing anything and a fresh session does it: it resolved one task more than the default (69 against 68, each arm winning tasks the other lost), at about 2.2 times the time per task, so it stays opt-in (ling --refine).

How the ≈69% is estimated

100 tasks are a fifth of Verified, so the full-set figure is an estimate. A one-parameter item-response (Rasch) model is fitted on the per-task results of all 175 public Verified submissions: every task gets a difficulty and every system an ability. Mightling's ability is the one that explains 68 resolved on these 100 tasks; ≈69% is that ability's expected score on all 500 (a plain regression on the published scores agrees to within a point). To check it, every public submission was scored on these 100 tasks alone and its overall score predicted the same way: the error was 2.4 points (RMSE), and the band above is ±1.96 times that. Every number in the table is reproduced by scripts/swe_bench_compare.py from the public per-task data of SWE-bench/experiments.

The 100 tasks are spread across Verified's repositories in proportion to the full set, among the tasks whose test environment runs and validates on arm64 (the gold patch passes, an empty change fails). Published systems score 1.0 to 1.5 points lower on these 100 than on all 500, so the sample is not an easy one. It is not a leaderboard entry: those are graded by the SWE-bench team on their own infrastructure.

  1. Mightling: 100 tasks, one attempt each; one DGX Spark (GB10, 128 GB), model served locally, no cloud; default mode measured 2026-10-08, refine mode 2026-10-09. Estimate from the SWE-bench experiments per-task data.
  2. 500 tasks, one attempt; hardware not stated. Source: experiments, 20250805_openhands-Qwen3-Coder-480B-A35B-Instruct. The same model with mini-SWE-agent: 57/100, 55.4%.
  3. 500 tasks, one attempt, agent undisclosed; hardware not stated. Source: experiments, 20250930_zai_glm4-6.
  4. 500 tasks, one attempt; hardware not stated. Source: experiments, 20260217_mini-v2.0.0_kimi-k2-5-high.
  5. 500 tasks, one attempt; hardware not stated. Source: experiments, 20260217_mini-v2.0.0_deepseek-3-2-high.
  6. 500 tasks each; hardware not stated. Four submissions: OpenHands (80/100, 77.6%), live-SWE-agent (80/100, 79.2%), Sonar Foundation Agent (77/100, 79.2%), mini-SWE-agent, high (79/100, 76.8%). An earlier mini-SWE-agent run scored 74/100, 74.4%.
  7. 500 tasks, one attempt; hardware not stated. Source: experiments, 20251120_livesweagent_gemini-3-pro-preview. The same model with mini-SWE-agent: 72/100, 74.2%.
  8. The best published 20–40B model on the leaderboard. 500 tasks; test-time scaling uses two or more attempts per task; hardware not stated. Sources: test-time scaling, single attempt.
  9. 500 tasks, one attempt; hardware not stated. Source: experiments, 20251209_mini-v1.17.2_devstral-small-2512.
  10. GitHub's own figure, April 2025: "agent mode achieves a pass rate of 56.0% on SWE-bench Verified with Claude 3.7 Sonnet". Number of tasks, attempts and hardware not stated; not on the leaderboard. Source: GitHub blog.
  11. Anthropic publishes SWE-bench Verified for its Claude models, run in a simple scaffold of its own (a bash tool and an edit tool), not for the Claude Code product. Sources: Claude Code, Anthropic's SWE-bench method.
  12. Cursor publishes results on its own benchmark, Cursor Bench, not SWE-bench Verified. Source: Cursor blog, Composer.

All leaderboard numbers: swebench.com and the SWE-bench/experiments repository; "same 100 tasks" is each submission's published per-task results restricted to the tasks Mightling ran.

Try these first

$ ling "explain this repository to me like I'm new on the team"
$ ling "the tests are failing: find out why and fix them"
$ ling "add input validation to the signup form, with tests"

Or queue work for tonight with /night add <task>: Mightling works through the queue while you sleep, each task on its own git branch, and you review the branches over coffee.

Your code never leaves your desk — and you can prove it

Cloud coding agents send your source code to someone else's servers. Mightling sends it nowhere: the model runs on your GB10, and nothing in Mightling phones home. No usage analytics, no metrics, no sign-in, no "anonymous" crash reports. That makes it usable for code you're not allowed to upload: client work, regulated data, unreleased products.

One command runs a real Mightling session under strace and lists every network connection it made:

$ ling-admin audit egress
✔ Egress audit: pass
Network destinations:
   127.0.0.1:8000     29x  model server
   127.0.0.1:8767      1x  Gmail search service
DNS queries: none
Networked git commands: none

Everything stayed on 127.0.0.1. Not one DNS lookup.

Need a hard guarantee?

Type /airgapped on and every command the agent runs gets an empty network namespace from the Linux kernel. It isn't a polite request to the model: there is simply no network to reach. Full Access, which would bypass the sandbox, is refused at the same time.

What can leave, and when

Only what you or the agent asks for: a web search (through a private SearXNG on your own machine), a page fetch, a read-only request to a Google account you connected, or an update check. At /airgapped on, none of it.

Why Mightling

🔒 Confidential

The model, your code, your prompts and your answers stay on the machine they're on.

  • No account, no telemetry
  • Egress audit you can rerun
  • /airgapped on, enforced by the kernel

⚡ Fast, with no bill

Agent work~48 tok/s
Code69 tok/s
JSON84 tok/s
Prose32 tok/s
Reading code~1,800 tok/s
Context262K

Single stream on a GB10 with speculative decoding. Agent work is measured over real agent sessions; code, JSON and prose by kind of output, with greedy decoding. Run four agents at once: no quota, no "please wait".

✨ Nothing to configure

  • No tuning: model, context, kernels and speculative decoding are chosen for the GB10.
  • It won't freeze your machine: the host is checked and memory pressure watched during the load.
  • Your other machines find it on the local network.
  • Updates are one command: ling update.

What you get

🖥️ ling, the terminal agent

Reads your repository, runs commands and tests, edits code, and asks before anything risky.

🌙 Night Shift

/night add <task> before bed; each task done on its own git branch by morning. Nothing is merged or pushed without you.

🔎 Web search and fetch

Through a private SearXNG on your own machine: no search account, no API key.

🧭 A code index

Definitions, callers and impact across your repository, so the agent finds code instead of grepping for it.

🧩 Your existing skills

Skills you already wrote for Claude Code, Gemini CLI, OpenClaw or Hermes work unchanged.

💬 Ask, in a browser

Questions with web search, image search and dictation, and your agent sessions, from this machine or a paired phone, on the same local model.

🪟 Desktop app preview

Ask and Work in one window, on the GB10, a Mac, Linux or Windows: agent sessions with approvals, a review pane, worktrees and undo. New in 1.7.

📬 Gmail, Drive, Calendar preview

Read-only, through a sign-in that stays on your machine. Switched off entirely at /airgapped on.

Mightling and cloud coding agents

Cloud coding agentsMightling
Where your code goesTheir serversNowhere
Account neededYesNo
Cost per tokenMeteredZero
Rate limitsYesNo
Works with the network unpluggedNoYes
You can verify what leavesNoling-admin audit egress

Runs on every GB10

  • NVIDIA DGX Spark
  • Acer Veriton GN100
  • ASUS Ascent GX10
  • Dell Pro Max with GB10
  • Gigabyte AI TOP ATOM
  • HP ZGX Nano
  • Lenovo ThinkStation PGX
  • MSI EdgeXpert

They share the chip, the 128 GB of unified memory and DGX OS 7, so one installer covers them all. Mightling is developed and tested daily on the ASUS Ascent GX10; the others are covered by tests.

Paper

Architecting Local, Air-Gap-Capable Desktop Clients for Agentic AI Pair Programmers: Protocol Compatibility, Process Isolation, and Host Memory Safety

dgxcoder · October 2026

We present the architectural design, formal capability model, and empirical evaluation of Mightling Desktop, an open-source desktop environment that speaks the same app-server protocol as the upstream vendor's desktop client, keeps Codex-compatible defaults, runs inference on the user's own hardware, and confines every sandboxed command to the workstation when the user turns /airgapped on.

Read the paper (PDF)

FAQ

Do I need a GB10?

Yes, to run the model. Your other computers use it as clients: Linux (Arm or x86) and macOS with the same install command, Windows (Arm or x86, preview) with the PowerShell line.

I installed Puffin. Is this it?

Yes: Puffin was renamed Mightling in 1.5. Run puffin update once, then puffin one last time. It moves your sessions, settings and links over, and from then on the command is ling.

Is it really free?

Yes. Mightling is open source under the AGPL, and the model's weights are free. Your only running cost is the electricity.

What do I need besides the machine?

The OS it ships with (DGX OS 7, or Ubuntu 24.04 where the vendor offers it), Docker with the NVIDIA Container Toolkit, Python 3 and Git. On plain Ubuntu, ling-admin host check tells you what's missing.

Does anything ever reach the internet?

Only what you or the agent asks for, such as a web search through SearXNG on your own machine, and the first-time downloads. /airgapped on turns all of it off.

Which model does it run?

Qwen3.8-27B in NVIDIA's 4-bit NVFP4 format, served by SGLang with a DFlash2 drafter, chosen and tuned for the GB10. About 20 GB of weights; roughly 38 GB of the machine's memory stays free while it serves.

Keep your code on your desk

If you believe code should stay on the desk it was written on, star the repository: it's how other GB10 owners find Mightling.