Skip to content

Releases: LocalKinAI/sckit-go

v0.1.0 — Pure-Go ScreenCaptureKit bindings

Choose a tag to compare

@localkin localkin released this 23 Apr 02:22

Initial public release

Pure-Go binding to macOS ScreenCaptureKit. No cgo. Sub-20ms frame latency.

Highlights

  • 5 capture targets: Display, Window, App, Region, Exclude (all via a sealed Target interface)
  • Streaming (NewStream) + one-shot capture (Capture)
  • sckit CLIlist / capture / stream / bench / version
  • No cgo, no Makefile for users — ObjC dylib (universal arm64+x86_64) embedded via //go:embed and auto-extracted to ~/Library/Caches/sckit-go/
  • 43 unit + 19 integration tests, 78.8% coverage
  • staticcheck + golangci-lint (9 linters) — 0 warnings
  • Context.Context on every blocking call
  • Requires macOS 14+ (Sonoma); universal binary ships arm64 + x86_64

Install (library)

go get github.com/LocalKinAI/sckit-go

Install (CLI)

go install github.com/LocalKinAI/sckit-go/cmd/sckit@latest
sckit bench

Benchmarks (M-series, 1920×1080, macOS 26.3)

Operation p50 p95
Stream NextFrame @ 60 fps 17.4 ms 18.2 ms
Stream NextFrame @ 30 fps 34.0 ms 41.0 ms
NewStream cold open 81 ms 85 ms
Capture(Display) one-shot 132 ms 225 ms

Full change history: CHANGELOG.md
Design rationale: docs/API_DESIGN.md