wezzard/jlens-qwen36 — explained in plain English
Analysis updated 2026-05-18
Inspect which concepts a local LLM is internally activating layer by layer while it generates a reply
Manually edit a model's internal representations and see how its final answer changes
Search for an internal edit that makes the model produce a specific alternate reply
| wezzard/jlens-qwen36 | kadevin/ilab-gpt-conjure | tencent-hunyuan/hy3d-bench | |
|---|---|---|---|
| Stars | 343 | 339 | 336 |
| Language | Python | Python | Python |
| Setup difficulty | hard | moderate | hard |
| Complexity | 5/5 | 2/5 | 4/5 |
| Audience | researcher | vibe coder | researcher |
Figures from each repo's GitHub metadata at analysis time.
Needs an Apple Silicon Mac with about 24GB free RAM, model and lens weights download on first run.
J-lens Qwen3.6 is a visual debugging tool for looking inside a large language model while it is generating text. It runs against a local copy of the Qwen3.6-27B model on Apple hardware and shows, layer by layer, which words the model seems to be leaning toward internally, even if those words never make it into what the model actually says out loud. There is also a hosted, read only version of the tool at jlens.wezzard.com that anyone can try in a browser without installing anything, and each conversation there gets its own shareable link. The tool builds what it calls a Jacobian lens, a mathematical shortcut that lets it peek at the model's internal state at any layer and translate it into a guess about which words that state is pointing toward. The main view is a grid with token position along one axis and model layer along the other, where each cell shows the top word the lens detects there. In the project's example, a model given a tricky, ethically loaded prompt writes a calm, compliant reply on the surface, while the layer by layer grid reveals words like blackmail and threatening still active underneath, showing that a concept can be present in the model's internal thinking without ever appearing in its final answer. Beyond just reading the model's internal state, the tool also lets a user edit it. A person can click a cell in the grid and manually replace, add, or erase a concept there, then rerun the model to see how the final answer changes, with a side by side comparison against the original run. There is also a search mode where a user can pick a word in the reply and ask the tool to find an edit somewhere in the model's internals that would make it say something different instead. Running this requires an Apple Silicon Mac with about 24 gigabytes of free memory, since the model and its custom Metal graphics code run entirely on device. A ready made lens file can be downloaded to skip the fitting step, or a user can fit their own lens from a larger set of example prompts for better quality. The project only works with this specific model architecture and is released under the Apache 2.0 license.
A visual debugging tool that reveals which words a large language model is internally leaning toward at each layer, even when those words never appear in its output.
Mainly Python. The stack also includes Python, MLX, Apple Silicon.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly researcher.
This repo across BitVibe Labs
double-check against the repo, no cap.