hyperlogue/r3

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.

TypeScript

31

600 commits

updated Sep 26, 2026

See the code

See what people are saying

SourceMessageScoreDate

Show HN: r3, A local alternative to Claude Artifacts

1

Sep 26, 2026

README

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

ScreenshotWhat it shows
Reviewing an HTML UI proposalReview a UI improvement proposal and leave comments directly on HTML elements.
Exploring a library through an interactive demoLearn how a library works internally through an interactive demo.
Codex receiving feedback from r3Codex 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.

Artifact types

r3 supports three kinds of artifacts:

ArtifactWhat you can doExamples
HTML pagesInteract with a page and leave feedback on specific elements or textPrototypes, dashboards, interactive tutorials
Documents and filesRead rendered Markdown, browse related files, and discuss specific passages or linesDesign proposals, research reports, generated project files
Code changesSee what changed and discuss it beside the affected linesBug 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.

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.

ai-coding
ai-pair-programming
claude-code
code-review
codex
grok-build
localhost

Contributors

rickye26

582 commits

dependabot[bot]

11 commits

hyperlogue/r3

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.

TypeScript

31

600 commits

updated Sep 26, 2026

See the code

See what people are saying

SourceMessageScoreDate

Show HN: r3, A local alternative to Claude Artifacts

1

Sep 26, 2026

README

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

ScreenshotWhat it shows
Reviewing an HTML UI proposalReview a UI improvement proposal and leave comments directly on HTML elements.
Exploring a library through an interactive demoLearn how a library works internally through an interactive demo.
Codex receiving feedback from r3Codex 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.

Artifact types

r3 supports three kinds of artifacts:

ArtifactWhat you can doExamples
HTML pagesInteract with a page and leave feedback on specific elements or textPrototypes, dashboards, interactive tutorials
Documents and filesRead rendered Markdown, browse related files, and discuss specific passages or linesDesign proposals, research reports, generated project files
Code changesSee what changed and discuss it beside the affected linesBug 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.

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.

ai-coding
ai-pair-programming
claude-code
code-review
codex
grok-build
localhost

Contributors

rickye26

582 commits

dependabot[bot]

11 commits

Languages

TypeScript

94.4%

Nix

3.7%

CSS

1.0%