TL;DR

BenchLocal v0.2.2 vừa thêm in-app self-update qua GitHub Releases. Ngay trong ngày 23/04/2026, tác giả Steven Lei (@stevibe) release tiếp v0.2.3 để kiểm tra updater — và nó đi qua trót lọt. Từ đây về sau, mọi bản vá lỗi đều tự rơi vào app thay vì phải download installer thủ công trên GitHub.

What's new

Theo release notes v0.2.2, đây là các thay đổi chính:

  • In-app self-update support — app kiểm tra GitHub Releases, tải bản mới và restart từ trong UI.
  • Update status + restart controls hiển thị ngay trong BenchLocal UI.
  • Verifier prep có thêm tuỳ chọn cancel và Docker cleanup.
  • Trên macOS, đóng cửa sổ chính = exit app (thay vì ẩn dưới dock).

Riêng v0.2.3 — release đầu tiên đi qua updater — mang thêm:

  • Model registry filter theo provider, group, và text search trong Settings.
  • Fix model alias editing không cho gõ dấu cách.
  • Stable column highlighting trong result-table khi chạy parallel.
  • Fix OrbStack Docker detection cho bản mới.
  • Fix Bench Pack install trên Linux có temp và home tách riêng.

Why it matters

Với một app desktop indie, ship auto-update là một milestone đau đầu hơn mọi người tưởng. Mỗi OS có một bộ luật riêng: macOS cần code-sign + notarize qua Apple, Windows cần code-signing certificate để tránh SmartScreen báo đỏ, Linux thì phải host AppImage + update metadata. Trên cả 3, app phải check updater feed, download delta hoặc full installer, verify signature, swap binary, rồi restart mà không làm user mất state đang chạy. Một lỗi nhỏ ở khâu signature verification là cả installed base mất đường nhận update.

Steven Lei ship xong chuỗi đó, rồi verify end-to-end bằng cách dùng chính feature đó để đẩy bản tiếp theo trong cùng ngày. Đó là dogfood đúng nghĩa — không phải test nội bộ xong đẩy lên, mà là để production user (những ai đã upgrade lên v0.2.2) trở thành kênh verify thực tế cho updater pipeline.

Quan trọng hơn với người dùng: tần suất release sẽ tăng. Trước đây mỗi patch phải quay lại GitHub Releases tải DMG/NSIS/AppImage thủ công — rào cản đủ lớn để nhiều user skip vài version. Từ v0.2.2 trở đi, update rớt thẳng vào app kèm nút restart. Với một công cụ benchmark phụ thuộc nặng vào việc sync Bench Pack schema, scoring logic, và provider adapter, giữ user ở bản mới nhất là rất quan trọng cho tính reproducible của score.

Technical facts

Thuộc tínhChi tiết
StackElectron + TypeScript (87.1% TS)
LicenseMIT
PlatformmacOS (signed + notarized), Windows (NSIS), Linux (AppImage)
Providers hỗ trợOllama, LM Studio, OpenAI API, Anthropic, llama.cpp
Updater sourceGitHub Releases với verified updater metadata
Assets per release15 file (installer cho 3 OS + metadata)
Stars / forks158 / 11 (tại thời điểm v0.2.3)

So sánh với các release trước

VersionNgàyĐiểm nhấn
v0.1.02026-04-13First public beta, Apple Silicon only
v0.1.12026-04-14Thêm Windows + Linux build
v0.2.02026-04-15Host-managed inference endpoints cho Bench Packs
v0.2.12026-04-16Resumable runs + replay
v0.2.22026-04-23In-app self-update + UI restart
v0.2.32026-04-23Bản đầu tiên đi qua auto-updater

So với các tool cùng loại (LM-Studio-Bench, benchllama, llama-benchy), BenchLocal đang ở vị trí khác — không phải CLI-only mà là desktop app signed, notarized, có auto-update. Đóng gói gần với LM Studio hoặc Ollama Desktop hơn là script benchmark truyền thống.

Use cases

  • Dev chạy Ollama / LM Studio / llama.cpp ở máy local muốn benchmark score có thể reproduce, không cần tự viết eval harness.
  • Team so sánh model OpenAI / Anthropic head-to-head với model local trên cùng một set prompt.
  • Bench Pack author xuất bản suite chuẩn (ToolCall-15, BugFind-15, DataExtract-15, InstructFollow-15, ReasonMath-15, StructOutput-15, HermesAgent-20) và có một runner chung.
  • Người dùng cũ không muốn vào GitHub mỗi lần có patch — update tự về.

Limitations & pricing

  • Phải upgrade tay một lần: user đang ở v0.2.1 trở xuống phải tải v0.2.2 thủ công. Từ v0.2.2 trở đi mới auto.
  • Auto-update phụ thuộc GitHub Releases — nếu GitHub down thì update không về.
  • Desktop-only. Không có web/mobile.
  • Pricing: chưa có trang giá công khai. App MIT license, hiện tại miễn phí.

What's next

Shipping friction đã được gỡ — nghĩa là nhịp release sẽ nhanh hơn. Model registry filter trong v0.2.3 gợi ý catalog model đang lớn dần và user cần công cụ lọc thay vì scroll tay. Luồng update giờ đã tested end-to-end trên cả 3 OS, với chính tác giả là người verify. Cadence từ v0.1.0 (2026-04-13) lên v0.2.3 (2026-04-23) chỉ mất 10 ngày — cho thấy dự án đang ở giai đoạn ship rất căng, ưu tiên vòng feedback ngắn hơn là batching feature lớn.

Để ý v0.3.x trong vài tuần tới — khả năng cao sẽ có thêm Bench Pack mới (hiện đã có 7 suite chính thức: ToolCall-15, BugFind-15, DataExtract-15, InstructFollow-15, ReasonMath-15, StructOutput-15, HermesAgent-20) và mở rộng provider list. Với auto-update đã hoạt động, mỗi Bench Pack version bump không còn cần user can thiệp — host-managed inference endpoint (giới thiệu ở v0.2.0) kết hợp self-update tạo ra một vòng phân phối khá sạch cho công cụ benchmark local.

Nguồn: Tweet gốc, Release v0.2.2, Release v0.2.3, benchlocal.com.