✍︎ Signs of AI Writing
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
**Are you a teacher? Start here →** — what this does and what it cannot do, in plain language, with the error rate drawn rather than tabulated. No badges, no interval notation, nothing to install. English & Spanish.
**Try the live demo →** — English & Spanish, runs in your browser. No signup, and the analysis uploads nothing.
**Use it in your editor →** — an agent skill for
Claude Code, Codex, Gemini CLI and Cursor, in one line: npx skills add peopleworks/SignsofAI -g.
It edits by the same rules this engine scores by, and it never invents a number.
**Download the Windows app →** — the same tool in a window. An installer that needs no administrator rights, with the .NET runtime bundled; a .zip too, if you would rather not.
Real recording of the live demo — the score updates as you type, and every highlight comes with a suggested fix.
**Rather watch than read?** The two-minute explainer:
**English** · **Español**
A free, privacy-first toolkit for **academic and writing integrity**. It does two things:
1. **De-AI-ify linter** — flags the tells of AI-generated writing (overused vocabulary, rhetorical
crutches, robotic sentence rhythm) and, for **every** finding, tells you *how to fix it*.
2. **Originality checker** — *"did they write it, or copy it?"* Compares documents against each other
and surfaces the passages they share — verbatim copies, **reworded paraphrases** (even across
languages), and a whole-cohort overview — as **evidence a human judges**. Not a black-box verdict.
> 🔒 **The analysis runs entirely in your browser, and nothing is uploaded to run it.** No account, no
> telemetry, no server that sees your text.
>
> Four features can send text off the device, and **not one of them runs unless you turn it on**, each
> disclosed in the interface at the moment you choose it: the **paraphrase check** and the
> **perplexity measurement** (both call a server you or we host), the **live rewrite** when you supply
> your own API key — the key stays on your device, the text goes to the provider you picked — and the
> optional **web spot-check** for a distinctive phrase, which exists only if the operator configured a
> search provider.
>
> Everything else — every rule, the score, the character scan, the citation cross-check, the writer
> baseline, the report — is computed locally and stays there. In the desktop app, the perplexity
> measurement is local too.
>
> The Windows app can also **check whether a newer version has been published**, because it has no
> auto-update and never will. That is not one of the four: it sends no text, no account and no
> identifier — one request to GitHub's public release list, the same one a browser would make. It
> **asks before its first check**, at most one a day, and it never downloads or runs anything for
> you.
Built with **.NET 10** and **Blazor WebAssembly** by **Pedro Hernández (PeopleWorks)**, Microsoft MVP for .NET — for the .NET and Microsoft developer community, *por y para la comunidad educativa*.
Repo: https://github.com/peopleworks/SignsofAI
English and Spanish are supported in two **independent** ways:
- **The interface** switches EN ⇄ ES instantly from the toolbar — no page reload, remembered per
browser, and it follows your browser's language on a first visit. Translations are plain JSON files
anyone can contribute: see *Translating the interface*.
- **The analysis** runs against a per-language rule-pack, auto-detected or selectable. The Spanish
rule-pack is an original derivation of AI-writing markers for Spanish.
The two are separate on purpose, so findings stay in the language of the *text being analyzed*: advice
about English prose is given in English even when the interface is in Spanish, because that's the
language the advice is about.
---
How often is it wrong about a human?
Every AI detector gets asked this and almost none of them answer. **Docs/CALIBRATION.md
is the answer**, measured against 296 texts written before 2022 — open-access
research articles, pre-2022 encyclopedia revisions in both languages, and **206 classroom essays by
adult learners of English**, one per student, from a corpus collected between 2006 and 2012.
At a threshold of **30/100 it flags 2 of them**: an observed 0.7%, with a 95% interval reaching 2.4%.
The recommendation is made from the uncertain end of the interval rather than the flattering one, so
it stays cautious while the corpus is small, and it follows the data in whichever direction they