尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Lantern: a personal AI for gamers. Ask anything about your games and get answers from each game's own wiki, cited and spoiler-safe. NVIDIA Nemotron on Nebius Token Factory + Tavily.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗A personal AI that knows what you own and watches for safety recalls. Tell Lantern about your car, car seat, crib or space heater. Every day it checks the official U.S. recall lists, tells you in plain words what's wrong and how serious it is, and helps you get the free fix. Everything it remembers is a plain file you can see, edit, delete and download.
Recall apps tell you a recall exists. Lantern tells you what it means for you, and helps you get it fixed.
Built for the Nebius x NVIDIA Global AI Hackathon. All AI runs on NVIDIA Nemotron models through Nebius Token Factory.
Try it: https://lantern-976584717995.us-central1.run.app. Tap See a demo household (made-up people, real recall data), or type your own car. No sign-up. On a phone, add it to your Home Screen to use it like an app.
Built in public. Lantern pivoted from a gaming assistant to a recall watch on 24 Oct 2026; the earlier code is in the git history. Backlog: GitHub Project.
Telling owners directly makes them roughly 8× more likely to act. A personal AI that knows what you own is that direct notice.
| Feature | |
|---|---|
| 1 | Your things, as visible memory. Cars (by VIN, or year, make and model) and household products, one Markdown file each. Say or type everything at once in the What do you own? box ("our 2018 Civic, a Graco stroller and a crib"): Nemotron Nano picks out each car and product. Also saved from chat, or added one at a time in the app. |
| 2 | Build the list from receipts. Nobody types an inventory of their home, but most people have order emails. In My stuff, Add from receipts or order emails: paste order confirmations, upload an order-history file (a CSV keeps only its product-name column; HTML and .eml emails keep only their text, all in your browser), or take a photo of a paper receipt (read by Nemotron Super VL, which copies the item lines and skips prices and card details). Nemotron Super picks out the things that can be recalled (baby gear, toys, appliances, heaters, chargers, car seats…) and skips food, medicine, books and gift cards; up to 25 at once. A brand, model number or product the text never mentions is dropped. Or tap the camera in any "What do you own?" box and photograph the product's label, its box or a receipt: the photo's text is copied, each line is read the same way, and the result goes into the box for you to check before anything is added. |
| 3 | Watch things for someone you look after. "My mom drives a 2012 Toyota Camry", typed or said, or "Whose is it?" in the add forms. It gets its own file with owner: Mom, and Lantern says "Mom's 2012 Toyota Camry" everywhere: on Home, in alerts and check-ins, and in chat ("Is my mom's car safe to drive?"). Tell Mom shares the recall as a message written to her ("Hi Mom, Lantern found a safety recall that may affect your 2012 Toyota Camry…"). The person who will act on a recall is the one who hears about it. The demo household's Tucson belongs to Mom. |
| 4 | Daily recall watch. Every day Lantern checks NHTSA (vehicles, child car seats and tires) and the CPSC (household products) for everything you own. Home shows what needs attention in plain words: "Don't drive the 2006 Ford Ranger until it's repaired" comes first. Mark each recall fixed or not mine. |
| 5 | Is mine affected? A recall covers models; you own one unit. Tap Is mine affected? and Lantern says where to look (from the notice: "Model BYL001 on a label inside the mattress cover"). Type what your label says, or take a photo of it: NVIDIA Nemotron Super VL reads the label, and Nemotron Super compares it with the official notice and answers , or , quoting the sentence of the notice that decides it. "Not included" is only ever said with a quote that appears word for word in the notice. For cars, it walks you through NHTSA's own VIN check (with your VIN ready to copy) and records what it showed. The result is saved in the item's file; you still close the recall yourself. |
What Lantern can't know: NHTSA lists recalls by make, model and year. Whether your car's recall has already been repaired is only shown on nhtsa.gov/recalls by VIN, which has no public API. Lantern says "your model is covered by this recall", links that official check, and never claims a specific car is fixed or unfixed.
All free and public, with no API key needed (checked live on 24 Oct 2026):
| Source | Used for |
|---|---|
NHTSA Recalls API (api.nhtsa.gov/recalls/recallsByVehicle) | Vehicle recalls by make, model and year, including "park it" and "park outside" flags |
NHTSA vPIC (vpic.nhtsa.dot.gov/api) | Decoding a VIN into make, model and year |
NHTSA Complaints API (api.nhtsa.gov/complaints/complaintsByVehicle) | Owners' safety complaints by make, model and year (with crash, fire, injury and death flags), for "What other owners report". Shared per model and refreshed weekly |
NHTSA recall dataset (data.transportation.gov/resource/6axg-epim.json) | Child car seat and tire recalls (NHTSA equipment recalls aren't in the vehicle API): the last 10 years, fetched once a day for everyone and matched like household products. Includes NHTSA's completion rate ("24% of these have been fixed so far") |
CPSC Recalls API (saferproducts.gov/RestWebServices/Recall) | Household product recalls. Lantern fetches the recent list once a day for everyone and matches it against each person's things locally |
| Tavily | Reading the makers' own pages (see below), and finding authorized dealers near the user for "Book the free fix" |
Official recall notices say that there is a free remedy. The maker's own pages say how to get it, and answer everyday questions about the things you own. Lantern reads those pages with Tavily (app/maker_pages.py):
include_domains to the carmaker's sites and nhtsa.gov (which hosts the owner letters) finds the page first. Nemotron Super then writes numbered steps using only what the pages say, with the sources linked. Each recall's steps are shared by everyone and kept for 14 days.include_domains), then the best two pages are read with Extract, and the answer cites them. A product's maker site is found once with one search and saved in that product's file as sources, where you can see and change it. If the maker's sites have nothing, Lantern searches the wider web and says so.Every LLM call goes to the Nebius Token Factory OpenAI-compatible API. Lantern routes each job to the smallest model that does it well:
| Model | Used for |
|---|---|
Nemotron 3 Nano (MODEL_FAST), thinking off | Reading each message first: pulling out the things you say you own and deciding whether to check recalls; confirming that a CPSC recall really matches a product you own; small talk |
Nemotron 3 Super (MODEL_BALANCED), thinking off | Writing answers from the official recall data it was given; rewriting each recall notice in plain English (once per recall, shared by everyone, cached); for "Is mine affected?", working out from each notice how to tell recalled units apart (shared per recall) and comparing your label with it; a plain title and sentence for each group of owner complaints (shared per model, weekly); picking out the recallable things in pasted receipts and order emails |
Nemotron 3 Ultra (MODEL_REASONING) | Only when you tick "Take more time to think" in Ask (capped per person and site-wide) |
Nemotron 3.5 Super VL (MODEL_VISION), thinking off | Reading the photos you take: a product label for "Is mine affected?" (model numbers, dates, lot codes), a paper receipt for "Add from receipts" (item lines only, no prices or card details), or whatever you photograph with the camera in the "What do you own?" box. Photos are sent once and never stored or cached |
Reasoning is switched per call with chat_template_kwargs.enable_thinking. Every call is logged with its model and token counts (data/logs/llm_usage.jsonl).
Hosting: the web app runs on Google Cloud Run. Cloud Run only serves the app; all inference runs on Nebius Token Factory.
Requires Python 3.11+.
python -m venv .venv
# Windows: .venv\Scripts\activate macOS/Linux: source .venv/bin/activate
pip install -e ".[dev]"
cp .env.example .env # then fill in your keys and model IDs
Check the Token Factory connection, then run the app and open http://127.0.0.1:8000:
python scripts/smoke_llm.py
uvicorn app.main:create_app --factory --reload
# or: docker build -t lantern . && docker run --env-file .env -p 8000:8000 lantern
Run the tests (mocked, no tokens or credits spent). Live tests are opt-in:
pytest
RUN_LIVE_TESTS=1 pytest tests/test_live.py
Try the recall clients against the live government APIs:
python -c "from app.tools.recalls import RecallClient; c=RecallClient(); v=c.decode_vin('1HGCM82633A004352'); print(v, len(c.vehicle_recalls(v.make, v.model, v.year)), 'recalls')"
Turn on push notifications locally by generating a key: python -m app.push, then put the output in .env as VAPID_PRIVATE_KEY.
Deployment (Cloud Run, Cloud Storage for user data, Secret Manager, a daily Cloud Scheduler job): see deploy/README.md.
data/users/<id>/, and tests/test_isolation.py proves users can't see each other's data.Everything Lantern can do is a reusable skill with its own SKILL.md in app/skills/
(agentskills.io-style front matter: name, description, plus metadata for the agent tools it owns, the services it
uses and exactly what it sends out of the app). The menu's Skills page lists them, shows each file, and lets you
turn any of them off. Off really means off for your account: the skill's chat tool answers that it's turned off, its
endpoints refuse, its buttons disappear and its reminders stop. Your choices are saved in your own profile.md
(skills_off).
| Skill | What it does |
|---|---|
| Recall watch (always on) | Checks your cars and things against the official U.S. recall lists every day, in plain words |
| Is mine affected? | Tells you whether your one is in a recall, from its label (typed or photographed) or NHTSA's VIN check |
| What other owners report | Owners' complaints to NHTSA for your car model, flagging problems no recall covers yet |
| The maker's own pages | Answers questions and gives the steps to get the free fix, from the maker's own site, cited |
| Book the free fix | Finds authorized dealers near you and drafts the booking message for you to send |
| Follow-ups until it's fixed | Checks in by notification until a recall is actually fixed |
| Add from receipts and photos | Adds things from order emails, order history, or a photo of a receipt or a label |
| Check before you buy | Checks something secondhand for recalls before you buy it |
ToolRegistry) with a timeout and an audit log entry in data/users/<id>/logs/audit.jsonl.Lantern is a public demo on the developer's own accounts, so every way of spending money has a daily cap. All reset
at midnight UTC and are set in .env (0 = no cap):
| What | Cap |
|---|---|
| Model spending, all of it (chat, photos, the daily job) | Each call is priced from Token Factory's list prices in the model router; the site stops calling models for the day at SITE_MODEL_DOLLARS_PER_DAY ($2 on the hosted demo). The recall lists keep working |
| Messages (anything that calls a model) | 30 per guest, 100 per signed-in user, 100 per network (so one person making many guests can't use up everyone's day), 600 site-wide on the hosted demo |
| "Take more time to think" (Ultra) | 10 per guest, 20 per signed-in user, 40 site-wide |
| Tavily credits | 150 site-wide (cached answers are free) |
| New guests and accounts | 30 guests and 5 accounts per network, 300 guests and 100 accounts site-wide |
| Sign-in attempts | 5 failures per username per 10 minutes, 100 attempts per network |
| Things per person | 50 cars and 50 products |
| Request size | 9 MB (a shrunk photo); larger requests are refused |
Hosting has its own backstop: deploy/killswitch/ is a Cloud Run function on a Google Cloud
budget that takes the app off the public internet if the month's hosting bill reaches $5, so a flood of traffic
can't run up a bill. A security review on 27 Oct 2026 also added security headers (a content security policy,
no framing), and stopped one person's edited sources from changing the fix steps everyone sees.
NVIDIA OpenShell, NemoClaw, Hermes Agent and Nebius Serverless were each checked against their official docs: see docs/track-tools-evaluation.md. We kept our own agent loop (multi-user isolation and per-fact visible memory) and borrowed Hermes's memory actions (add, replace, remove).
MIT
The fonts in app/web/fonts/ (Geist and Instrument Serif) are under the SIL Open Font License 1.1; their licence files are next to them. Lantern serves them itself, so no third-party font service is contacted.
| 6 | What other owners report (early warning). Recalls come late: owners complain to NHTSA first, and NHTSA opens investigations from those complaints. For each car, Lantern reads NHTSA's complaint database for that model, groups the complaints by part, and flags the ones no recall covers: "2019 Hyundai Tucson: engine stalls or loses power. 201 complaints, 43 in the last year, 8 fires. No recall for this." Counts, crashes, fires, injuries and whether a recall covers it are computed from the data; Nemotron Super writes the plain title and one sentence from the latest reports. Labelled as owners' reports, not verified findings, with a link to report a problem to NHTSA. |
| 7 | Check before you buy. Buying secondhand? Paste the listing link or say what it is ("a used 2014 Jeep Cherokee", "a Snuga swing from a yard sale"), in the Home box or in chat. Lantern reads the listing with Tavily, Nemotron Nano picks out what's for sale (only what the message or listing names: an unreadable link alone is never guessed at), and it gets the same recall check and owner-complaint summary, without being added to your list. The advice is fixed text: in the U.S. it's illegal to sell a recalled product; used cars can legally be sold with open recalls, so check the seller's VIN before you pay. "I bought it: watch it" adds it in one tap. |
| 8 | Alerts on your phone or computer. Turn on notifications and Lantern tells you when a new recall affects your things. Standard browser push: no phone number, no app store. Appearance follows your device (light or dark), or pick one in the menu. |
| 9 | Follow-through until it's fixed. Announcing a recall is where most recall tools stop, and most recalls then stay unrepaired. On each recall, tap I've contacted them or Repair booked (or "I've contacted them" after sending the booking message). The daily watch then checks in by push, at most once a day and the same reminder at most once a week: an urgent recall with nothing booked after 3 days ("The fix is free: tap to see how to get it"), no reply 7 days after contacting them, and "Was it repaired?" 14 days after booking. Progress is saved in the item's file (fix_progress: booked 2026-10-26); only you record it, and marking a recall fixed ends the check-ins. |
| 10 | Book the free fix. Recall repairs are free at any authorized dealer for your car's brand. Lantern finds dealers near you and drafts the booking message (car, VIN, every recall number, "please confirm the parts are in stock"). You send it yourself by email, text or WhatsApp; Lantern never sends anything for you. |
| 11 | Ask, by typing or talking. "Is my car safe to drive?" Answers come only from the official recall data, with links. "Where is the VIN on my Ranger?" or "How do I fold the stroller?" is answered from the maker's own website (and nhtsa.gov / cpsc.gov), with links to the pages used. If that thing has an urgent recall, the answer says so first. Tap the mic to talk, and turn on "Read answers aloud". |
| 12 | How to actually get the fix. "Show me how to get the fix" on any recall reads the maker's own recall page and turns it into numbered steps (where to register, what they send, what to do meanwhile), with the source linked. Notices say a remedy exists; this says how. |
| 13 | Plain English, with the official text one tap away. NVIDIA Nemotron rewrites each recall notice in everyday words ("Driver air bag may explode", "Park outside and away from buildings until the free repair is done"), once per recall for everyone, using only what the notice says. |
| 14 | Learn. Short, sourced answers: what a safety recall is, whether the fix is free (and the 15-year rule), what "Do not drive", "Park outside" and "Stop using" mean, where to find your VIN, what happens to your data. |