尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Combination of "veri" (truth, verify) and "tome" (a scholarly book).
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Open-source pre-publication checks for researchers. Look for overlap with published work, AI-style writing patterns, shaky references and grammar slips in your manuscript before a journal or reviewer does. Every flag comes with its evidence and an honest note on how sure it is.
| Tool | What it does | What it cannot do |
|---|---|---|
| Plagiarism (full check) | Finds copied and reworded passages using exact-phrase search of arXiv, Europe PMC full text, Wikipedia, CORE full text (free key), OpenAlex, Crossref and Semantic Scholar, optional Brave or Serper web search, and your own documents, then compares matched papers in full where a free copy exists. Also catches disguised text (look-alike letters, invisible characters, hidden text), paraphrasing-tool phrases ("counterfeit consciousness"), text translated from English sources, reuse of your own earlier papers (ORCID or name), and problems in pictures (the same picture twice, even flipped; figures matching a source; copied text inside pictures, read by OCR). Runs the AI, citation and grammar checks in the same report, shown on the paper in its original layout. | Cannot see paywalled full texts, theses or student-paper databases, and cannot reverse-search pictures across the web. Heavy rewriting can slip through. A low score is not proof of originality. |
| AI writing patterns | A classifier trained on about 90,000 labelled human and machine texts, calibrated so roughly 1 in 100 human texts or fewer is flagged. Undoes evasion tricks (lookalike letters, invisible characters), scores long documents section by section, and shows the wording behind the score. | Cannot prove who wrote a text. Catches about half of machine text in testing; paraphrased text and new models are often "inconclusive". |
| Humaniser | Revises stiff, formulaic prose while citations, maths, URLs and numbers stay locked. Shows the pattern score before and after. | Does not make text human-written. Disclose AI assistance where your publisher asks. |
| Paraphraser | Academic, simple, concise or expanded rewrites with the same protections and checks. | Meaning can drift in ways a number check cannot catch. Read every rewrite. |
| Citations | Verifies each reference against Crossref, OpenAlex, DataCite and arXiv; flags retractions, wrong DOIs and mismatched details; cross-checks in-text citations; finds papers for uncited claims; formats in six styles and BibTeX. | "Not found" is not "fabricated": books and reports are often missing from these databases. Suggested papers may not support your claim. |
| Compare papers (coming soon) | For teachers: compares a class's papers with each other in the browser (nothing uploaded), with a heatmap and side-by-side shared passages; assignment text can be left out. | Finds passages shared word for word (with small edits), not reworded or translated sharing. |
| Grammar (coming soon) | High-precision academic-style rules, common misspellings and readability scores, plus LanguageTool when connected. Fixes apply in place. | The built-in rules are not a full grammar parser; readability formulas are rough guides. |
The Plagiarism check is the full report: it runs every check on a whole paper (paste it, or upload .docx, .pdf including scanned PDFs, .tex, .md or .txt), shows every finding underlined on the paper in its original layout, and exports PDF, Markdown or JSON. Word and PDF files are read in the browser; only the text is sent for checking.
No plagiarism checker or AI detector is 100% accurate, commercial ones included. Veritome is built to show its evidence, give every score a range, and say what each check cannot see. Measured on text it never saw in training, the AI-pattern check wrongly flagged 0.2% of 1,387 human passages and caught 46% of 2,261 machine-written ones (86% for Llama-3, about half for GPT-4o). In a small live plagiarism test, every copied sentence taken from two well-known papers. Read docs/ACCURACY.md for the method, numbers and caveats before relying on any result.
OPENALEX_API_KEY, CORE_API_KEY and
CONTACT_EMAIL for better searches, and LLM_BASE_URL, LLM_MODEL, LLM_API_KEY for real rewriting.
For Google Gemini: LLM_BASE_URL=https://generativelanguage.googleapis.com/v1beta/openai,
LLM_MODEL=gemini-3.8-flash, LLM_API_KEY=<your Gemini key>, and optionally LLM_REASONING_EFFORT=low.UPSTASH_REDIS_REST_URL and
UPSTASH_REDIS_REST_TOKEN from an Upstash database you made yourself works too.On Vercel, uploads are limited to about 4 MB (Vercel's request limit) and each check can run for up to 5 minutes.
The shared document library (LIBRARY_DIR) is not available there; users can still attach their own documents.
Vercel's free Hobby plan is for non-commercial use.
git clone https://github.com/Knsravan/Veritome.git && cd Veritome
cp .env.example .env # optional: add CONTACT_EMAIL, LLM settings, API keys
docker compose up -d # http://localhost:3000
Add the optional services with profiles:
# Local LanguageTool for grammar (set LANGUAGETOOL_URL=http://languagetool:8010 in .env)
docker compose --profile languagetool up -d
# Local language model with Ollama (set LLM_BASE_URL=http://ollama:11434/v1 and LLM_MODEL=llama3.1:8b in .env)
docker compose --profile ollama up -d
docker compose exec ollama ollama pull llama3.1:8b
Put earlier papers in ./library (.txt, .md, .tex, .docx or .pdf) and every plagiarism check compares against
them too. The folder is mounted read-only.
All settings are environment variables and all are optional; see .env.example for the full list.
| Variable | Purpose |
|---|---|
LLM_BASE_URL, LLM_MODEL, LLM_API_KEY | Any OpenAI-compatible endpoint for the paraphraser, humaniser and optional detector opinion. Without one, rewriting falls back to light rule-based edits and says so. For Gemini use https://generativelanguage.googleapis.com/v1beta/openai with a Gemini API key. |
LLM_REASONING_EFFORT | Optional reasoning_effort for thinking models. Set low for Gemini so thinking does not use up the short detector reply. |
ALLOW_CLIENT_LLM, ALLOW_PRIVATE_LLM | Let visitors bring their own model from Settings (off by default). Their URLs pass an SSRF guard; cloud metadata addresses are always refused. |
LANGUAGETOOL_URL | A LanguageTool server for broader grammar and spelling checks. |
CONTACT_EMAIL | Sent to Crossref and OpenAlex for their polite pools. Recommended. |
OPENALEX_API_KEY | Free and effectively required: without it OpenAlex shares a tiny daily budget across your server's IP address. |
CORE_API_KEY | Free: lets plagiarism checks search the full text of 30+ million open-access papers. |
SEMANTIC_SCHOLAR_API_KEY | Higher rate limits and full-text snippet search for plagiarism checks. |
BRAVE_API_KEY, SERPER_API_KEY | Optional web search for plagiarism checks. |
LIBRARY_DIR | Folder of documents every plagiarism check also compares against. |
SITE_URL | The public address, for the sitemap, canonical links and link previews. On Vercel the production domain is used automatically; set it for your own domain or when self-hosting. |
RATE_LIMIT_PER_MINUTE, TRUST_PROXY | Abuse protection. Only trust X-Forwarded-For behind a proxy you control. |
UPSTASH_REDIS_REST_URL, UPSTASH_REDIS_REST_TOKEN | Shared rate-limit counts across server instances (needed on Vercel). KV_REST_API_URL and KV_REST_API_TOKEN from Vercel's Upstash integration also work. |
Check that every configured service is reachable with node --env-file=.env scripts/smoke-sources.ts.
Requires Node.js 22.18 or newer (the engine tests run TypeScript directly with node --test).
npm install
npm run dev # http://localhost:3000
npm test # engine (node --test), server and web (Vitest) tests
npm run typecheck
npm run build
npm run e2e # Playwright smoke test with axe accessibility checks (after build)
node scripts/evaluate-detector.ts data.jsonl --neural # measure the AI detector (as on the site) on labelled text
The checking engine in src/core has no dependencies and runs in Node or the browser. See
docs/ARCHITECTURE.md for how the pieces fit and CONTRIBUTING.md for
how to help. Labelled evaluation data for the AI-pattern check is the most valuable contribution.
MIT. See LICENSE.