For the love of code
Case study

AGIW Suite

A monitor for local models

Mac monitor for local model observations, resource readings and deliberate controls.

Apple silicon · macOS 13+1.0.0 (7)

ProjectPublished case study
Built withSwift · macOS · Local AI
GitHub release · 1.0.0 (7)

Understand local model state
on your Mac.

Inspect model observations, resource pressure and recorded routes. Check when a reading was collected, keep missing information visible, and deliberately request supported model or recovery actions.

ASAGIW Suite
Fresh activityRecorded routesExplicit recovery

Show what the evidence supports.
Keep unknown and stale state visible.

DistributionGitHub · 1.0.0 (7)
PlatformApple silicon · macOS 13+
FocusLocal model monitoring and controls
Inside the public release · 1.0.0 (7)

Inspect the model. Trace the signal. Choose the action.

AGIW Suite brings model details, evidence sources, and deliberate controls into one Mac view.

Inspect

Browse models with resource context

Core 6 filters to pinned model IDs; All discovered shows the full Mac inventory. Memory pressure, best-effort GPU readings, and a load headroom estimate help you decide what to keep resident.

Read the release details ↗ (opens in a new tab)

Diagnose

Check each evidence source

Feeds & evidence labels each source as live, recorded, or stale and shows its detail. Old readings lose their live status, so a quiet graph is not mistaken for a current signal.

See the feed rendering ↗ (opens in a new tab)

Follow recorded clients and routes

The map shows client model identities, saved choices, and available route receipts. Their age is visible in the inspector; a recorded choice is not presented as live generation.

Read the map’s explanation ↗ (opens in a new tab)

Act

Check readiness, then request recovery

Check readiness inspects route evidence without calling a model. A separate Fix inference action checks configured Mac, Nisi, and Windows states in order; route recovery may send one short Windows probe.

Read the action boundaries ↗ (opens in a new tab)

Control a model deliberately

Request load or unload through the local lms CLI and inspect the resulting job state. Automatic unloading is off by default and, when enabled, protects an established resident Nisi pair.

Read the model controls ↗ (opens in a new tab)

Extend

Explore bundled Nisi

The release includes Nisi 0.2.0’s engine, journal, and CLI. Its native fixed self-check runs offline with zero model calls; the local-model JSON example uses separately configured models.

Read the Nisi scope ↗ (opens in a new tab)

Connect optional Jev

A signed helper stores your TypeSafe key in the login Keychain. An explicit connection check sends one fixed synthetic request over HTTPS to test connectivity; coding-task routing is configured separately.

Read the Jev scope ↗ (opens in a new tab)
Inside the system · public 1.0.0 (7)

Follow the signals.
Choose the action.

AGIW makes local evidence visible and exposes deliberate controls. These diagrams show how observations reach the app and how a model action travels back to the local tools.

01 / Observation & control

Conceptual flow
ObserveLocal evidence → a readable view
  1. Source

    Local evidence

    LM Studio inventory and reported activity.

    Optional input: recorded route receipts
  2. Collect

    Local observer

    Collects bounded observations and serves local snapshots.

    127.0.0.1
  3. Inspect

    AGIW dashboard

    Shows model state, evidence sources, and observation age.

    Swift + WebKit
ActExample: an explicit model load or unload
  1. Choose

    Your request

    Select a model and request load or unload.

    User action
  2. Check

    Observer boundary

    Checks Host, Origin, and action input size and shape.

    Request validation
  3. Execute

    Local model tools

    The local CLI handles the requested model operation.

    lms · job state

Inspect the result. The app exposes the action’s job state including whether it completed or failed.

Arrows show logical data and action flow. Router and PC-worker services own their separately configured task execution. Public release & controls ↗ (opens in a new tab)

02 / Read the state correctly

Evidence guide

A model is loaded

It is resident in memory. Request activity needs its own evidence.

Memory state

Fresh, validated
busy signal?

Yes

Observed activity

Read the reported work and its evidence source.

No

Activity unknown

A loaded model alone cannot establish active generation.

Recorded or stale observations retain their context and age; an old reading does not establish current work. This is a reading guide, not live telemetry. Read the map’s explanation ↗ (opens in a new tab)
Project milestones

From workflow to working tools.

The coding workflow provides the context; Nisi and AGIW have their own public releases. Dates below mark those releases.

  1. Workflow

    Initiate online code mode

    A local coding setup for checking available routes and coordinating bounded work. It supplies the workflow context for the two software projects.

    Workflow context · separately configured
  2. Nisi 0.2.0

    The public Node.js CLI and library give an application a bounded draft, check, test, review, and repair workflow. The CLI includes fixed demonstrations.

    Explore the Nisi case study
  3. AGIW Suite 1.0.0 (7)

    The Mac monitor makes local model and route evidence visible, provides explicit model controls, and includes Nisi’s fixed offline self-check.

    View the AGIW release ↗ (opens in a new tab)

Historical inference records

Read the work behind the numbers.

These examples use different workloads and timing definitions. Read each date and method with its result. They do not measure an AGIW speed improvement or a Mac-versus-PC ranking.

MacBook Pro M5 Pro · 10 Aug 2026Repeated full-request measurements

Median effective completion rate for seven completed requests in each task. Completion tokens are divided by the entire streaming request duration, including time spent waiting or reasoning.

  1. Generation72.302 tokens/s
  2. Coding72.842 tokens/s
  3. Reasoning72.240 tokens/s

72.482 tokens/s overall median across all 21 requests. One warmup was excluded; output correctness was not graded.

See all 21 trial values → (opens in a new tab)
Windows worker · 26 Sep 2026Historical layout tests

Server-reported decoding rate for one fixed JavaScript task per layout. Each request recorded 106 prompt tokens and 141 completion tokens; the backend, context capacity, and offload settings varied.

  1. A Existing layout18.5 tokens/s
  2. B GPT-OSS on CPU · earlier pass12.3 tokens/s
  3. C GPT-OSS on CUDA111.4 tokens/s
  4. D CUDA; Qwen on CPU106.0 tokens/s

A, C, and D came from one pass; B came from an earlier pass. One request per layout gives no repeated-trial uncertainty estimate.

See original layout chart → (opens in a new tab)

The Mac chart measures completion tokens over the full request; the Windows chart measures only server decoding. The figures do not establish a platform comparison or an AGIW Suite speedup. A matched AGIW on/off study has not been run.

Read the source data and methods ↗ (opens in a new tab)
Security & architecture

Clear boundaries for local work.

The app keeps the dashboard, local observer, model services, and optional integrations in separate components. Here is where they connect and which controls apply.

Native app

Swift + WebKit

Menu-bar shell and bundled dashboard. The browser view does not hold the optional Jev key.

This Mac · loopback

Python observer

Serves snapshots on 127.0.0.1. Checks the request’s Host and Origin, then validates the size and shape of action inputs.

  • Configured locally

    LM Studio + lms

    Inventory and activity evidence enter the observer; model load or unload needs an explicit request.

  • Bundled package

    Nisi 0.2.0

    An external Node runtime runs the fixed offline self-check. It makes zero model calls and does not run arbitrary repository work.

  • Optional · opt-in

    Signed Jev helper

    Optional service credentials stay in the login Keychain. Its connection check uses a fixed HTTPS request; task routing is configured separately.

  • Separately managed

    Router + PC workers

    The monitor reads bounded observations and offers supported guarded recovery. The external systems own task assignment and execution.

Conceptual trust-boundary map of the public Build 7 application; it is not a live topology or a security certification.

What the controls establish

Loopback binding, request checks, and input limits constrain browser-origin actions. Local processes remain a separate trust boundary. The public release is Developer ID signed and Apple-notarized; those checks verify distribution and do not certify the entire system’s security.

Read the architecture (opens in a new tab)Read security reporting and limits (opens in a new tab)
GitHub release · 1.0.0 (7)

Download AGIW for Mac.

The current public download is on GitHub for Apple silicon Macs running macOS 13 or later. The release page includes a Developer ID signed, Apple-notarized ZIP, a checksum file, and installation instructions.

Get the GitHub release (opens in a new tab)Read the source and documentation (opens in a new tab)
AGIW MCP · unreleased source checkout

Connect an agent.

AGIW MCP gives a coding assistant a readiness check, a Nisi workflow on your local models, and optional advisory Jev checks before and after a task.

TransportLocal stdio
RequirementsPython 3.10+ · Node.js 22+ for Nisi

The setup guide describes unreleased changes and instructs installation from the reviewed source checkout. Its package version remains 0.1.0; that version alone does not identify these changes. Install the pinned checkout below, then register it with your assistant. For Claude Code:

git clone https://github.com/louiscalata/agiw-mcp.git
cd agiw-mcp
git checkout --detach 7fa6d53821aa8bec755351f954eb0a676541bfc0
pipx install .
claude mcp add agiw-mcp -- agiw-mcp

Configure a local OpenAI-compatible model server and two different models for Nisi: one author and one reviewer. Follow the pinned source setup guide, then ask your assistant to “initiate online code mode.” READY covers the local prerequisites. Optional Jev readiness is reported separately in jev.status (READY or NOT_READY) with its consent and key checks. agiw_nisi_run works without Jev; key lookup is skipped until consent is recorded. Record the checkout commit and any local diff when reporting issues.

Jev is optional and needs your own TypeSafe key. Before using it, inspect the disclosure with agiw-mcp consent show; you grant consent yourself in a terminal with agiw-mcp consent grant. Your assistant cannot grant it. Jev sends the supplied task or report text to TypeSafe, so leave secrets out.

Read the pinned source setup guide (opens in a new tab)See the Apache-2.0 source checkout (opens in a new tab)
Interface archive · 9 October 2026

An earlier view of AGIW.

These screenshots, taken on 9 October 2026, document TestFlight build 0.1.0 (22). That build has a different, older interface than the downloadable AGIW Suite 1.0.0 (7) build.

There is no App Store release. The GitHub release (opens in a new tab) is the current public download.

View the archived TestFlight screenshots
Archived TestFlight model inspector for a loaded Devstral model, showing reported size, capabilities, and context while inference activity remains unknown (opens in a new tab)
Model inspector · loaded model, activity unknown · archived build 0.1.0 (22)
Archived TestFlight setup view showing LM Studio running, one model loaded, available memory, and Nisi controls needing setup (opens in a new tab)
Local readiness · Nisi still needs setup · archived build 0.1.0 (22)
Archived TestFlight observation map showing 11 local models, one loaded model, and inference activity unknown (opens in a new tab)
Model map · observation links, not task routes · archived build 0.1.0 (22)
Archived TestFlight exploration

A local coding advisory form.

The earlier build included a form for requesting a bounded proposal from a selected local LM Studio model through Nisi. This screenshot shows the setup form before any task was submitted. It does not demonstrate code execution, completed checks, or a feature of the public GitHub build.

Archived TestFlight coding-advisory setup form awaiting a model refresh; no task has run (opens in a new tab)
Advisory setup · no task submitted · archived build 0.1.0 (22)
How the projects connect

A monitor and a workflow engine.

AGIW shows the state of local model services on a Mac. Nisi coordinates bounded coding work through adapters supplied by its host application. Each project has its own public GitHub release.

Continue exploring

Nisi

Explore the workflow engine behind bounded drafts, separate checks and reviews, and inspectable reports.

Read the case study

Next project

Old Phone OS Interface