Dr. Claw
아이디어부터 논문까지 AI 에이전트와 함께하는 풀스택 연구 작업공간
연구자를 위한 오픈소스 사전 검증: 표절·AI 작성 패턴·인용·문법을 검사하고 결과마다 증거와 한계를 표시
Open-source pre-publication checks for researchers: plagiarism, AI-writing patterns, citations and grammar, with the evidence and limits shown for every result.
교육TypeScript · PythonGitHub @Knsravan온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기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.