obelus
Health Warn
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 6 GitHub stars
Code Pass
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
This tool provides an offline, local-first review surface for AI-assisted academic papers. It allows users to highlight and annotate documents, and then optionally apply those suggested revisions back to the source files using an AI plugin.
Security Assessment
The overall risk is Low. The application is explicitly designed to run completely offline, meaning it does not make external network requests, transmit telemetry, or phone home. The code scan confirmed the absence of hardcoded secrets or dangerous patterns. It does not request excessive system permissions. While the Claude Code plugin applies revisions to source files (like LaTeX or Markdown), it requires explicit user confirmation before making changes, keeping the developer in control of file modifications.
Quality Assessment
The project has excellent foundational health. It is licensed under the permissive and standard MIT license, and the repository is highly active with pushes as recent as today. The primary concern is its low visibility; with only 6 GitHub stars, the tool is clearly in its early stages and has not yet been widely adopted or battle-tested by a large open-source community.
Verdict
Safe to use, though keep in mind that it is an early-stage project with minimal community oversight.
Offline, local-first peer review surface for AI-assisted papers. Web and desktop.
Obelus
Mark what you doubt.
An offline review surface for AI-assisted papers — paired with a Claude Code plugin that applies your review back to the source.
In medieval manuscripts, scribes drew a small mark — the obelus,
÷— in the margin of any passage they judged doubtful. When most of a paper is generated by a model, writing is cheap and review is expensive. Obelus is a tool for marking doubt.
A project by 4gentic.
What it does
- Open the web or desktop app. Drop a PDF, Markdown (Beta), or HTML (Beta) paper.
- Highlight passages, write margin notes, categorize each mark, thread comments, apply a per-paper rubric.
- Export a review bundle — a single JSON file with enough context to locate every passage in your source.
- In your paper's repo, run
/apply-revision <bundle>. The plugin detects your source format (.tex(Beta) /.md/.typ/.html), plans a minimal-diff fix, and — on your confirmation — applies it.
The apps never see the network at runtime. No telemetry, no analytics, no counters — your draft never leaves the device.
Use cases
- The advisor. Marks weak arguments and unclear paragraphs in a student's AI-drafted Markdown chapter. Hands back a bundle; the student runs
/apply-revisionand reviews the diff. - The peer reviewer, offline. Drops a conference PDF on a plane. Returns with a structured Major/Minor reviewer's letter generated by
/write-review. - The co-author team. Writer renders LaTeX (Beta) to HTML preview; reviewer marks the HTML; writer accepts diffs hunk by hunk in the desktop app.
- The triage stack. A reading list of arXiv PDFs lands in a desktop "desk" — quick passes per paper, one consolidated bundle, per-paper write-ups out the other side.
Why it's different
- Offline by construction. PDFs in OPFS, annotations in IndexedDB. No network at runtime. External assets in HTML/Markdown papers are stripped before the DOM loads them.
- Source-anchored marks. Selections carry their origin: PDF bbox, Markdown line/col, HTML XPath — not screenshots, not page numbers.
- Format-agnostic. PDF · Markdown (Beta) · HTML (Beta) on the review side;
.tex(Beta) ·.md·.typ·.htmlon the apply side. - Editorial surface. Three columns: paper · 220px margin gutter · review pane. Margin notes align vertically to their source line.
- Plugin is optional. The bundle is plain JSON; the exported Markdown is self-describing. Use any coding agent.
- Not a cloud service, not a PDF editor, not a collaboration tool — by design.
Install
Web app — visit obelus.4gentic.ai. Installable as a PWA, fully functional offline after first load. PDF, Markdown, and HTML review; bundle export.
Desktop app — Tauri v2 build. Adds source editing in CodeMirror, a git-style diff review pane, project folders, managed Typst and Tectonic (Beta) engines, and Claude Code in-app. Downloads land under Releases once the v1 pipeline ships.
First launch notes. Desktop builds are unsigned in v1. macOS will refuse the first launch with "cannot be opened because it is from an unidentified developer" — right-click the app → Open once, and macOS remembers. Windows SmartScreen shows "Unrecognized app" — click More info → Run anyway. Linux AppImages run directly. Signed releases are planned post-v1.
Claude Code plugin — in your paper repo:
/plugin marketplace add 4gentic/obelus
/plugin install obelus@4gentic
Skills: /apply-revision, /apply-fix, /write-review, /fix-compile. See packages/claude-plugin/README.md.
Repo layout
apps/
web/ Vite + React + TypeScript. Landing + PWA.
desktop/ Tauri v2 app (Rust + React renderer).
packages/
bundle-schema/ The bundle contract (Zod + JSON Schema).
bundle-builder/ Pure builder: Repository + ids → Bundle.
anchor/ PDF/source/HTML anchoring primitives.
pdf-view/ PdfDocument + PdfPage + SelectionListener.
md-view/ Markdown adapter (line/col anchors).
html-view/ HTML adapter (shadow-DOM, XPath anchors).
source-render/ remark/rehype pipeline; OPFS asset rewriter.
review-shell/ Three-column layout + DocumentView contract.
repo/ Repository interface, Dexie (web), SQLite (desktop).
categories/ Default categories + per-project overrides.
claude-sidecar/ Desktop-only: Rust spawn + TS event contract.
claude-plugin/ The .claude/ shipped to users.
design-tokens/ tokens.css + TS constants.
brand/ Marks, favicons, OG image.
Develop
pnpm install
pnpm dev # web app on :5173
pnpm --filter desktop dev # desktop app (requires Rust toolchain)
pnpm verify # lint + typecheck + test + network-guard + build
Releasing
Maintainer-facing. See docs/RELEASING.md for the tag-driven release flow, updater-keypair setup, and signing-secret checklist.
Security
Report vulnerabilities privately to [email protected] or follow the process in SECURITY.md. Do not file a public issue for a security report.
Contribute
Read CONTRIBUTING.md first. Open issues tagged good-first-mark are scoped for a first contribution. The aesthetic invariants and code conventions in CLAUDE.md are not negotiable; the persona charters in .claude/agents/ say which area owns what.
If Obelus is useful to you, star the repo.
License
MIT. Brand assets are MIT too — use the wordmark freely when linking back.
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found