中文版:我用 Jev 给 X 做了一副“透镜”:看清时间线里的 AI、灌水和软广
Scrolling through X, I kept running into the same question: is this post worth my attention?
Some replies sound polished but say very little. Some posts begin as personal recommendations and gradually turn into sales pitches. Others seem AI-generated—but may still contain something useful.
I built X Lens, a small Chrome extension, to make those distinctions easier to notice.
It reads the visible text of posts and replies, evaluates it with Jev, and adds small labels beside the Grok button. You keep scrolling and decide what deserves a closer look.

Six Labels for Different Questions
X Lens evaluates each post with five independent checks, plus a Normal fallback:
| Label | What it indicates |
|---|---|
| AI · Purple | The text may have been generated by AI. |
| slop / 垃圾 · Red | The content may be low-value filler, spam, or engagement bait. |
| Ad / 广告 · Blue | The text contains a direct sales pitch, offer, discount, or call to action. |
| Marketing / 营销 · Orange | The text is intended to build awareness, preference, or demand for a brand, product, service, event, or campaign. |
| Soft Ad / 软广 · Pink | Promotion is presented as an organic recommendation, personal experience, tutorial, or lifestyle post. |
| Normal / 正常 · Green | None of the five evaluated categories crossed the threshold. |
The five evaluated categories are independent and may appear together. Normal is derived locally when none of them crosses the threshold.
AI-generated writing can be useful. Human-written replies can be spam. A thoughtful product recommendation can still be promotional.
A post can therefore receive one or several classification labels, or a single Normal label. The interface shows the category labels bilingually as slop / 垃圾 and Ad / 广告; AI already works in both languages.
The labels are small enough to sit alongside the post without taking over the page. Clicking one shows that post’s classification scores in the status display at the top right.
Why I Made It Simpler
An earlier version was more ambitious.
When it found a suspicious post, it offered to block the author. That became distracting, so I added an account-level check: visit the author’s profile, review several recent posts, and only show a prompt if they all looked like slop.
It added background tabs, extra requests, and more waiting.
After trying that approach, I returned to the problem I actually wanted to solve: understanding the post in front of me.
By default, the current version evaluates visible content and adds labels. It does not visit author profiles or block accounts. Automatic blocking prompts are now available as an optional setting, turned off by default.
That makes it a quieter companion to browsing.
Blocking Prompts Are Optional
Sometimes I only want quiet labels. Other times, I would like a nudge when a post looks like slop. X Lens now has an automatic blocking prompt switch in its settings, turned off by default. In the current Chinese interface, it is labeled 自动弹出屏蔽提示.
With the switch off, the extension only labels the current post or reply. With it on, a slop result can trigger a prompt asking whether to block the author. An AI or Ad label alone does not trigger it, and the extension does not visit the author’s profile for a second check.
To limit interruptions, each account is prompted only once per page, with at least 30 seconds between prompts. Choosing “Not now” dismisses the prompt. This deduplication applies to the current page and resets when the page is refreshed.
Choosing to block only opens X’s native confirmation dialog. The final confirmation is still mine to make. Turning the switch off and saving returns the extension to quiet labeling.
Replies Are Included
X Lens works on visible timeline posts and text replies beneath individual posts. As you scroll, newly visible content is picked up for evaluation.
The status display shows how many posts have been checked and how many received each label. This helps distinguish “nothing has crossed the threshold” from “the extension hasn’t started processing.”
How It Works
X Lens uses TypeSafe’s Jev to evaluate five questions in a single API request: likely AI authorship, low-value content, and promotional intent.
Each result is compared against a configurable threshold. The default is 65%.
A higher threshold produces fewer labels. A lower threshold makes the extension more sensitive. These scores are model judgments—not a measured accuracy rate for the extension.
The extension uses Chrome Manifest V3, processes classification requests sequentially, and keeps a limited in-memory cache to reduce repeated requests.

Concept illustration, not a screenshot of the extension.
Try It
X Lens is available on GitHub:
- Download the extension ZIP from Releases.
- Extract it into a folder you intend to keep.
- Open
chrome://extensionsand enable Developer mode. - Select Load unpacked and choose the extracted folder.
- Open the extension settings, enter your TypeSafe API key, enable detection, and save.
- Refresh X.
It is currently installed manually and is not listed in the Chrome Web Store.
What the Labels Can—and Cannot—Tell You
Text alone cannot prove that someone used AI. A promotional label does not prove that a post was sponsored. The model can misclassify both.
X Lens currently analyzes displayed text, not images, videos, linked pages, or hidden replies. It also depends on X’s page structure, which can change.
When detection is enabled, visible post and reply text is sent to TypeSafe for evaluation. This may incur API charges. Your API key is stored locally in the extension, and X login cookies are not sent to Jev.
The project is still evolving, and I have not published an accuracy benchmark.
My aim is modest: give readers a few useful signals while leaving the decision about what to read, trust, or ignore in their hands.
Comments