{"slug": "show-hn-a-cursor-like-workspace-for-your-latex-papers", "title": "Show HN: A Cursor-like workspace for your LaTeX papers", "summary": "A developer released Papilot, an open-source, locally run workspace that lets researchers annotate LaTeX paper PDFs and have an AI agent apply the edits in LaTeX, with each change returned as a before-and-after typeset diff that must be accepted before it touches the paper. Papilot uses SyncTeX to map a selected sentence or circled equation to the exact LaTeX lines, runs Codex, Claude (via the Claude Agent SDK with an ANTHROPIC_API_KEY) or Antigravity as the editing agent, and gives each task its own Git worktree, up to two at once. It requires Node.js 22.22+, Git and a full TeX distribution, installs via `npm install -g papilot`, listens only on 127.0.0.1:7274 by default, and never reads, stores or forwards user credentials.", "body_md": "**A Cursor-like workspace for your papers: annotate and review PDFs directly without ever touching LaTeX.**\n\nEnglish · [简体中文](https://github.com/cu1ch3n/papilot/blob/main/README.zh-CN.md)\n\nYou read and mark up the PDF the way a supervisor marks up a draft. An AI agent makes the edits in LaTeX, and every change comes back to you as a before-and-after of the typeset page. Nothing touches your paper until you accept it.\n\n|   [Select a sentence or circle an equation and say what should change. SyncTeX hands the agent the exact LaTeX lines.](https://github.com/cu1ch3n/papilot/blob/main/docs/assets/feature-note.png)  |   [Each edit comes back as a typeset diff. Accept, reject or comment on it, and undo any decision.](https://github.com/cu1ch3n/papilot/blob/main/docs/assets/feature-review.png)  | \n|   [Jump to any section from the contents, search every page and zoom in sharply. Selecting text picks exactly the printed words.](https://github.com/cu1ch3n/papilot/blob/main/docs/assets/feature-contents.png)  |   [Diff files and commit the ones you choose, with a commit message an agent writes. Pull and push, or merge a coauthor's changes and let an agent resolve the conflicts.](https://github.com/cu1ch3n/papilot/blob/main/docs/assets/feature-git.png)  | \n\nAlso: ✨ **skills** such as Polish, Proofread and Check math, one `/` away, plus your own · 🤖 **Codex, Claude or Antigravity**, each with your own login · 🌳 **every task in its own Git worktree**, up to two at once · 🌗 **light and dark** · 📱 **runs on your computer**, and you can open it from your phone.\n\nNote\n\nYou need **Node.js 22.22+**, **Git** and a full **TeX** distribution ([MacTeX](https://www.tug.org/mactex/) or [TeX Live](https://www.tug.org/texlive/)). Revising also needs one [signed-in agent](#-agents).\n\n```\nnpm install -g papilot\npapilot demo\n```\n\nOpen **[http://127.0.0.1:7274](http://127.0.0.1:7274)** and choose **PDF** in the sidebar. The demo adds an example paper to revise: a 26-page LaTeX paper about Papilot itself, full of equations. When you are ready, run `papilot` and choose **Add paper** to add any LaTeX project in a Git repository.\n\n| Agent | Sign in once | How Papilot runs it | \n|---|---|---|\n| **Codex** | `papilot codex login` | Through the Codex app server, in its workspace sandbox. Papilot uses your `codex` if you have one, or installs it on first start. | \n| **Claude** | Start `papilot` with`ANTHROPIC_API_KEY` set | Through the Claude Agent SDK, downloaded the first time. The SDK does not accept a Pro or Max subscription login. | \n| **Antigravity** | Install Antigravity and sign in to `agy` | `agy -p` , one process per turn, editing files only. If your region needs it, set`PAPILOT_AGY_PROXY` . | \n\nPapilot never reads, stores or forwards your credentials. An agent that isn't installed or signed in shows as unavailable.\n\nHaving trouble getting started? Run `papilot doctor` for environment checks and fixes, or `papilot doctor --repo /path/to/paper` to check a paper too. Add `--json` for a machine-readable report. Diagnostics do not install software, start the server or change your paper. See the [diagnostics guide](https://github.com/cu1ch3n/papilot/blob/main/docs/guide.md#diagnostics) for what is checked.\n\n## **⚙️ Options and remote access**\n\n```\npapilot --port 4400            # another local port\npapilot --data ~/papilot-data  # keep state somewhere else (default ~/.papilot)\npapilot service install        # macOS: start after login, restart if it exits\nnpm uninstall -g papilot       # remove it; your state stays in ~/.papilot until you delete it\n```\n\nPapilot listens only on `127.0.0.1`. To use it from another device, publish it on your tailnet with Tailscale Serve and set `PAPILOT_PUBLIC_ORIGIN` and `PAPILOT_TAILSCALE_LOGIN`. Papilot then checks the host, the browser origin and the Tailscale identity of every request. The [guide](https://github.com/cu1ch3n/papilot/blob/main/docs/guide.md#remote-access-with-tailscale) has the steps.\n\n## **🛠️ Develop**\n\n```\ngit clone https://github.com/cu1ch3n/papilot && cd papilot\nnpm ci && npm run setup:review\nnpm run build && npm start\n```\n\nRun `npm run typecheck`, `npm test` and `npm run test:ui` before sending a pull request.\n\nThe **[guide](https://github.com/cu1ch3n/papilot/blob/main/docs/guide.md)** covers every part of the workspace, the configuration variables, recovery after restarts, and development. The example paper in [`examples/papilot-paper`](https://github.com/cu1ch3n/papilot/blob/main/examples/papilot-paper) explains the design in depth, with proofs. What changed in each release is in the [changelog](https://github.com/cu1ch3n/papilot/blob/main/CHANGELOG.md).\n\n- 💡 **Questions and ideas** :[Discussions](https://github.com/cu1ch3n/papilot/discussions)\n- 🐛 **Something broke** :[open an issue](https://github.com/cu1ch3n/papilot/issues/new/choose)\n- 🤝 **Want to help** : pick a[good first issue](https://github.com/cu1ch3n/papilot/labels/good%20first%20issue) and read[CONTRIBUTING.md](https://github.com/cu1ch3n/papilot/blob/main/CONTRIBUTING.md)\n\nIf Papilot saves you time on a paper, a ⭐ helps other researchers find it.\n\n[MIT](https://github.com/cu1ch3n/papilot/blob/main/LICENSE) © 2026 Cui Chen. The bundled review engine in [`vendor/latex-review`](https://github.com/cu1ch3n/papilot/blob/main/vendor/latex-review) is also MIT-licensed.", "url": "https://wpnews.pro/news/show-hn-a-cursor-like-workspace-for-your-latex-papers", "canonical_source": "https://github.com/cu1ch3n/papilot", "published_at": "2026-10-29 05:39:46+00:00", "updated_at": "2026-10-29 06:14:24.453317+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "developer-tools", "large-language-models"], "entities": ["Papilot", "Codex", "Claude", "Antigravity", "SyncTeX", "Node.js", "Git", "TeX Live"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/show-hn-a-cursor-like-workspace-for-your-latex-papers", "markdown": "https://wpnews.pro/news/show-hn-a-cursor-like-workspace-for-your-latex-papers.md", "text": "https://wpnews.pro/news/show-hn-a-cursor-like-workspace-for-your-latex-papers.txt", "jsonld": "https://wpnews.pro/news/show-hn-a-cursor-like-workspace-for-your-latex-papers.jsonld"}}