intern-decision-mlx
Runs Intern-Decision-0.8B on Apple Silicon behind a local /v1/systemone endpoint that accepts screenshots for agent decisions.
Overview
intern-decision-mlx packages Shanghai AI Lab's Apache-2.0 Intern-Decision-0.8B vision decision model for Apple Silicon through mlx-vlm. It adds the parts that make it a decision model: the typed readout, temperature calibration with the lab's T = 2.7478, and a local POST /v1/systemone endpoint that also accepts images. It is aimed at agents that look at screens and need a cheap first pass: classify the screen, check a condition, or pick the next click, escalating to a bigger model when unsure.
The README reports 0.9 s per decision on a 1080p screenshot downscaled to 1024 px on an 8 GB M2 MacBook Air, using 2.1 GB of memory at no per-call cost, and answers matching the lab's PyTorch reference (the yibie list cites 67 of 67 fields). It runs one forward pass with no generation, computing the output head only on the needed rows for a 1.2-1.4x speed-up with identical probabilities, which tests assert. Requirements are an M1 or later Mac on macOS 14+, Python 3.10+, about 750 MB of dependencies and 1.7 GB of weights.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which button pursues the user's goal? | delete_account · contact_support |
| Yes / no | Does the screen show an error? | yes · no |
| Choice | What kind of screen is this? | — |
How it works
- Agent captures a screenshot and states the goal
- Decider runs one forward pass on the downscaled image
- Readout softmaxes per-field logits and applies calibration
- Agent acts on confident answers and escalates the rest
Strengths
- Runs offline on an 8 GB Mac at no per-call cost
- README reports answers matching the PyTorch reference
- No generation or sampling, so outputs are deterministic
- Same request shape as Jev plus images
Caveats
- Apple Silicon only
- 0.8B model is a first pass, not a replacement for a large model
- Large initial download (about 1.7 GB weights)
Getting started
`pip install intern-decision-mlx` then `intern-decision-mlx decide --brief` (first run downloads weights).At a glance
- Type
- Service
- Status
- beta
- Language
- Python
- Runtime
- MLX on macOS, local HTTP server
- Has code
- yes
- Has tests
- yes
Use cases and integrations
How curated lists describe it
Local runtime: serves Shanghai AI Lab's open Intern-Decision-0.8B vision decision model on Apple Silicon behind a `/v1/systemone`-shaped endpoint that also takes screenshots, so an agent can threshold the calibrated `Choice`, `Score` and `Noul` answers and escalate the rest — 0.9 s per 1080p screenshot downscaled to 1024 px on an 8 GB M2 MacBook Air, and the same answers as the lab's PyTorch reference on 67 of 67 fields.
yibie/awesome-jev
Frequently asked questions
What does it decide?
Typed questions about a screenshot, such as what screen it is, whether there is an error, and which button to click next.
Does it need an API key?
No. It runs Intern-Decision-0.8B locally on Apple Silicon.
How fast is it?
The README reports 0.9 s per 1080p screenshot on an 8 GB M2 MacBook Air.
Related projects
Docker service exposing local Laya, Von, a CLM head or hosted Jev through one TypeSafe-compatible HTTP and MCP endpoint.
MCP serverbetaPythonConverts open Jev reproductions (Laya, Kev, NanoJev, PlayJev) to INT8 ONNX for offline CPU decisions at about 15.6 ms per question.
ServicebetaPythonNative Go runtime serving Gemma 4 12B as a Jev-like decision model with hand-tuned PTX kernels and no CGo or CUDA toolkit.
ProjectbetaGoGo harness for System One models: hosted Jev, open Kev in-process via llama.cpp, and Cloudflare Clef, with typed helpers and a CLI.
ServicebetaGoGo gateway exposing the Jev /v1/systemone contract over ordinary LLM backends by reading single-token label logprobs.
ServicebetaGoTypeScript library for one-line local decisions with open models (kev-0.6b, kev-4b, open-jev), no API keys or cloud.
ProjectbetaTypeScript