Jev directory
CommunityJev Agents & MCP
X Feed Pilot
Early-stage macOS app and Chrome extension that steers X's For You feed by browsing, reading, and interacting with posts. Posts without images are judged by Jev; posts with attached images go to Luna. Reading history stays on the local machine.
- Stars
- 1
- Reading time
- 2 min
- Published by
- Community
- Added
- Oct 2026
Highlights
- Chrome extension drives a signed-in X account; the local service listens on 127.0.0.1:47831.
- Posts without images are judged by Jev; posts with their own attached images go to OpenAI's gpt-6-luna Decisions API.
- Each session runs up to 10 minutes or 80 posts, with limits of 8 likes and 4 bookmarks.
- Decisions use a 15-second timeout, no retry, and no model switching; three consecutive failures stop the session.
- Records are stored in data/pilot.sqlite, which Git ignores; reading history stays on the user's computer.
Questions about this entry
Short answers drawn from the linked project or page.
It needs macOS, Google Chrome, Node.js 20+, Python 3, and Clang with access to Apple's Vision framework. From the project root run npm install, copy .env.example to .env and add both API keys, then npm run build and npm start. Load dist/extension/ as an unpacked extension in chrome://extensions.
TYPESAFE_API_KEY and OPENAI_API_KEY, both required to start a session. They can be placed in .env or supplied through the environment variables of the same names; a nonempty value in .env takes precedence.
Reading history stays on your computer. Records are stored in data/pilot.sqlite, which Git ignores. Image bytes stay in memory only for the decision and follow-ups, and temporary crop files are removed.
Each session runs for up to 10 minutes or 80 posts, with limits of 8 likes and 4 bookmarks. Collection and the session timer pause when the Chrome training tab loses focus. Starting again after stopping creates a new session, and restarting the service ends any unfinished session.
Posts with their own attached images go to OpenAI's gpt-6-luna Decisions API, and posts without images go to Jev. Both use your preferences and evidence from links or mentioned accounts visited as needed.
Each decision makes one request with a 15-second timeout, no retry, and no switching between models. Three consecutive failed decisions stop the session. Posts marked as ads are skipped.
Only the main post's own images are evaluated; images inside quoted posts and video frames are excluded. Up to four full attachments are downloaded, and videos without captions may lack sufficient evidence. Automating likes and bookmarks may violate X's rules and restrict the training account.
Reactions & coverage
Posts, threads, and videos about this entry from around the web.
X: Text-to-screenshot (Malay Vasa)
X: Google's MediaPipe Decision Maker, tested in the browser
X: Playwright CLI + Jev vs Playwright MCP
X: jev-ultrafast splits every browser decision into operation, target and value. JEV passed 18,000 stars in its…
From the Jev guides
Original write-ups on what this entry is for.
From the Jev AI model community
Posts from builders shipping with Jev right now.