Sno Station
Sno Station is your agents' workstation: open-source software that turns the AI agents you already run into one squad on your own machine. Two heads are better than one, and they get better with every
Audit-grade fact-checking API for AI-drafted text: verdicts from a five-stage adversarial pipeline with a full citation trail.
PluginsJavaScript · HTMLGitHub @lenzhqOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Lenz Fact-Checking for Google Docs: check the factual claims and citations in a Doc against independent sources, from a sidebar. Apps Script add-on.
Taken from the repository README
Loading the full README.
Read the full README ↗Lenz checks factual claims against evidence from multiple independent sources. This repository is the source of its Google Docs add-on: an Apps Script sidebar that sends the open tab to Lenz and shows the findings next to the words they are about.
The add-on will be listed on the Google Workspace Marketplace; the listing is coming. Until then you can build and deploy your own copy (below). Either way you need a Lenz account (create one); checks use credits from it.
Privacy. The add-on asks for access to one Doc at a time: the first time you check a Doc, Google's file picker asks you to allow Lenz to read that Doc, and nothing is sent before you do. Lenz receives the tab's text to check it and keeps the check in your Lenz account; deleting your account deletes it. Details: lenz.io/privacy#google-docs.
Docs REST API ──► serialize.js ──► review text + map ──► api.js ──► POST /api/v1/review
(active tab) (the Doc as text, every piece (idempotent submit, GET /api/v1/reviews/{id}
mapped to its Doc index) polling, errors) │
▼
Docs batchUpdate ◄── Code.js ◄── place.js ◄──────────── view.js ◄──────── the review body
(Apply, guarded by (glue) (finds each finding's (sidebar model:
requiredRevisionId) words again, even order, coverage)
after co-authors typed)
documents.currentonly (the open Doc, for the
selection) and drive.file (files you allow it, one by one), not for all your Docs. Until you
pick the Doc in Google's file picker, the Docs REST API answers "not found" and the add-on sends
nothing to Lenz. Google keeps the permission, so each Doc is asked about once.serialize.js keeps an interval map between the two, including the
characters it adds itself (paragraph breaks, [words](url) for links).place.js finds each passage again
by its words and their surroundings, and refuses when the passage was not unique in the checked
text or is not unique now, so an edit never lands on another copy of the same sentence.documents.batchUpdate (insert the new words after the old ones, then delete the
old ones, so the replacement keeps their formatting) with writeControl.requiredRevisionId: any
change in between makes Google refuse the write, and the add-on re-reads and retries once.Idempotency-Key and exact request body are
stored before the request goes out; a lost reply is replayed byte for byte and returns the same
review. Check this Doc on an unchanged Doc shows the last results again.CONTRACT.md describes the modules and their interfaces. The pure modules use no
Apps Script globals, so the same files run in Node for tests and in Apps Script unchanged.
Requirements: Node 20+ and clasp 3.x, a Google Cloud project
and a Lenz account.
npm test # all suites, no network
cp config/flavours/internal.example.json config/flavours/internal.json # then fill in your own values
bash scripts/build.sh internal # dist/internal
bash scripts/clasp-create.sh # once: create the Apps Script project
bash scripts/deploy.sh # test, build, push, version, deploy
docs/deploy.md covers the two builds (internal for your own copy and testing,
public for Lenz's Marketplace listing), the Google Cloud setup, signing clasp in, test deployments
and a listing.
src/ the Apps Script code (scripts/build.sh assembles what clasp pushes)
config/ per-build settings and the shared manifest base
test/ node --test suites; fakes for Google Docs, Apps Script and the Lenz API
scripts/ build, clasp create/deploy, live smoke, spike and trial reports
docs/ deployment, live smoke, trial log and the store listing
Questions and problems: lenz.io/contact. Vulnerabilities: see
SECURITY.md.
MIT, Copyright Lenz IO.