Skip to content

Repository files navigation

r3 logo

r3: Render. Review. Refine.

View AI-generated artifacts. Give precise feedback.
HTML pages, Markdown documents, and code from any coding agent.

npm version license: MIT platforms: macOS, Linux live demo

r3 is a tool for reading, using, and discussing agent output. Open an interactive page, read a document, or inspect code changes. Select an element or passage to leave feedback and continue the conversation with your agent.

Agents publish artifacts through a CLI or HTTP API. r3 works with any agent that can run the CLI.

Try the browser demo to explore HTML, Markdown, and diff feedback with a scripted agent. It uses bundled examples; production preview protection is not simulated.

Numbered workflow showing a human asking an AI agent to create an artifact on r3, reviewing it, sending feedback, and reviewing the agent's revisions and replies.

Screenshots

Screenshot What it shows
Reviewing an HTML UI proposal Review a UI improvement proposal and leave comments directly on HTML elements.
Exploring a library through an interactive demo Learn how a library works internally through an interactive demo.
Codex receiving feedback from r3 Codex receives a direct message from r3 when you ping the agent from the web page.

Get started

Install globally to make the r3 command available on your PATH:

npm install -g @hyperlogue/r3
# Or: bun add -g @hyperlogue/r3

Or run it without installing r3 on your PATH:

npx @hyperlogue/r3@latest

Ask your agent to run r3 guide and publish an artifact. The guide explains how to publish, listen for feedback, and reply. Open the artifact URL from your agent, or visit http://127.0.0.1:8791/ for the full list.

Local Claude Code and Codex publications set up feedback delivery automatically, so you can send feedback from the artifact page. When no agent is listening, click Use in agent to copy r3 feedback fetch <artifact-id>. Run it with ! in your agent harness to load new feedback and replies into context. Fetching acknowledges the snapshot only after stdout succeeds, then registers supported agents as listeners for future updates. A failed read or output leaves feedback pending; an acknowledgment failure can repeat already printed feedback on retry. --all reads history without acknowledging it or registering a listener.

Paste or attach images to notes and replies, including messages without text. For HTML artifacts, the Capture area camera icon beside Comment mode in the navbar shares the current tab, freezes the preview, and lets you crop a screenshot before attaching it. Edit image adds pen, arrow, and rectangle drawings with color, stroke width, and undo/redo controls. Optimize image also offers PNG resizing with the exact output preview, dimensions, file size, and an actual-pixels view before you accept it. Oversized PNG conversions open this preview automatically; no resizing happens without acceptance. Where browser capture is unavailable, the icon is hidden; paste or upload a screenshot instead. Attaching an image inserts a spaced [image1] reference in the message; pasting places it at the cursor. Labels match the thumbnails and agent output and renumber when an earlier image is removed. Messages accept up to four images, each at most 5 MiB and 20 megapixels. Agents can use r3 feedback fetch <artifact-id> --attachments-dir ./feedback-images to save images before acknowledging feedback.

Artifact types

r3 supports three kinds of artifacts:

Artifact What you can do Examples
HTML pages Interact with a page and leave feedback on specific elements or text Prototypes, dashboards, interactive tutorials
Documents and files Read rendered Markdown, browse related files, and discuss specific passages or lines Design proposals, research reports, generated project files
Code changes See what changed and discuss it beside the affected lines Bug fixes, refactors, feature reviews

HTML artifacts open as pages; files artifacts have a file browser; diff artifacts show captured code changes.

For ideas on using HTML for plans, reports, and interactive explanations, see Anthropic's The unreasonable effectiveness of HTML.

Local and remote access

r3 runs locally by default. The CLI lazily starts a background daemon when a command first needs the server. The daemon serves the browser UI and stores artifacts and feedback. It listens only on loopback; local browser access works without a login unless you enable one.

For remote access, use an HTTPS reverse proxy or tunnel, such as Tailscale Serve, pointing to http://127.0.0.1:8791/. Forward the whole application, including /__r3_preview/, and set X-Forwarded-Proto: https at the proxy. Previews use the same address; no wildcard DNS or separate preview port is needed.

Set your public URL and explicitly require login before exposing r3. Replace the example URL below with your proxy address:

r3 config set publicUrl https://reviews.example
r3 config set requireLogin 1
r3 restart
r3 auth create-token --label browser

Use the generated login token to sign in. Browser sessions and login tokens are revocable. r3 is a single-owner tool: a valid login grants access to all artifacts on that instance, with no per-artifact sharing permissions.

Login tokens expire after 14 days without a successful login or cookie-authenticated request. Never-used tokens age from creation. Expiry invalidates their browser sessions; inactive or revoked token rows and their sessions are removed on server startup. To change the inactivity period (a positive whole number of days):

r3 config set authTokenIdleDays 30
r3 restart

R3_AUTH_TOKEN_IDLE_DAYS overrides this setting. r3 auth list-tokens --json includes each active token's lastUsedAt timestamp. Cookie activity is saved in batches once a minute and on graceful shutdown.

Your agent can publish from a different machine: it uploads the artifact's files, so the machine running r3 does not need a copy of your project. See the security model for authentication and preview isolation details.

About

Review coding agents without arguing through chat. Comment directly on plans and diffs, let the agent revise them live, and track every issue to resolution.

Topics

Resources

Stars

39 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages