live-agentic-html-editor

agent
Guvenlik Denetimi
Uyari
Health Uyari
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 5 GitHub stars
Code Uyari
  • fs module — File system access in docs/features/20260928.04_trim_the_drain/measure_drain.js
Permissions Gecti
  • Permissions — No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

Quit switching windows and stay in flow. Lahe injects any agent into any HTML document or website on your machine.

README.md

Live Agentic HTML Editor (Lahe)

We've graduated from MD to HTML for many of our docs. Or maybe you just want to edit your homepage in place. Lahe is injectable into any HTML on your machine, and provides direct editing, as well as threaded conversations for agentic updates.

License: MIT
Node
Runtime dependencies: none
Agents: Claude Code, Codex, Gemini CLI, Antigravity
Formats: HTML and Markdown

The Steady Thread home page under review, with a threaded exchange in the rail: a reviewer note, the agent's question, the answer, and the agent's fix

Why

We're now spending a significant amount of our time reviewing and editing documentation, prompts, and HTML pages. It's not fast enough to copy a paragraph and bring it back to paste into your agent and ask for edits.

Lahe adds a live review layer to any HTML that's on your machine (including pages that are composed of many underlying files). Select a sentence and comment on it, or press an edit key and rewrite it in place.

No matter how many files were used to create the HTML page, Lahe knows how to edit the underlying source. And if you asked a question, don't let the answer get lost in the neverending chat flow. Threaded sidebar conversations mean the answer is always easy to find.

Features

Leaving feedback

  • Comment for an agentic rewrite. Select a passage, say what is wrong, and let the agent write the fix.

  • Comment on any object, not just text. Press Cmd-Shift-C with nothing selected to pick an element: hover to outline it, click to comment. Diagrams, images, charts, a whole section.

  • Edit to use your own words. Type the correction into the page. Your exact words reach the source file, not a paraphrase with added em dashes.

  • Write new text in place. Add paragraphs, headings, and bulleted or numbered lists after any block, or start a notes page from nothing with lahe write notes.md. A long piece gets a proofreading question, and your words are placed as you typed them.

  • Ask questions and get threaded answers. Ask a question and the answer arrives on the same card, no need to go back to the chat window. An exchange from ten minutes ago is threaded and easy to find, not lost in the neverending scroll of the chat window.

  • Drafted until sent. A half-typed thought is private to your browser until you hit Cmd-Enter.

  • Zoom into big diagrams. Hover a graph or a large image and click the magnifier at its corner. It opens full screen: scroll to zoom toward the pointer, drag to move around, Esc to close. Graphs stay sharp at any zoom.

  • Hotkeys for speed. Comment, edit, and send without reaching for the mouse.

  • Save as PDF. A button in the rail asks your agent to turn the page into a PDF, in one click.

  • Hand-made edits are protected. If a doc-wide change would clobber your carefully crafted text, it stops at text you placed by hand and asks. If an edit gets reverted anyway, the item reopens itself.

Working with the source

  • Many source files, one page to review. A page built from templates, includes, or partials is reviewed as a single built page. The agent edits the underlying files.
  • Markdown or HTML. A .md file (or multiple) is rendered for editing, diagrams included. Your prompt is assembled from multiple underlying modular files? No worries, live edit the rendered output as a single page and let your agent edit the underlying template files.

Many reviews, many agents

  • One agent, many reviews. A single agent can handle multiple review sessions, each with their own conversations.
  • A review can follow you across pages. Click through a site and each page shows only the edits you left on that page. The agent keeps all of it across pages.
  • Several agents at once, without collisions. Every review has a session owner. Three agents on three documents never see each other's items, and a watcher only ever wakes for its own session.
  • Clean handovers. Just ask a different agent to take over a live or a closed session. Start with Claude and switch to Codex, no problem.

Staying in sync

  • Local server, hot updates. The agent lands a change and the page updates itself.
  • Smart reloads wait for you. A reload holds while you are typing a comment or mid-edit, then swaps the page and puts your outstanding work in when you're in between comments.
  • Live status. The rail shows at a glance that your agent is connected, and when feedback goes unanswered it says how long and offers to export it.
  • Unread answers are pointed out. The agent flags replies you should actually read, so a routine confirmation stays quiet and a real answer does not.

No lost work!

  • Several fallbacks for saving your feedback. Save to browser storage on every keystroke. Queue in an outbox that survives a reload or a hard kill. Retries with backoff while the helper is away. Append to a durable event log on disk. And "Copy review" and "Export review to file" if nothing else is working or you want to carry it out by hand.
  • Session restarts. Prior sessions can be revived or picked up after a crash, without losing what is unanswered.
  • Multi-tab detection. You have 10^1000 tabs open and you opened the same page twice? The second tab says so, and lets you move control to the tab you are actually using.

Under the hood

  • No service in the middle. There is no Lahe account, no Lahe server, and no telemetry. Your feedback goes to the agent you already use, the same place it would go if you pasted it into the chat, and nowhere else.
  • Zero model tokens while you are quiet. A push model taps agents only when you send a comment, so a document left open overnight doesn't burn your tokens on no-ops.
  • Your app keeps working normally. Highlighting a passage does not add anything to your page, so your own buttons, layout, and scripts behave exactly as they did.
  • Clone and go. Clone the repo and ask your agent to finish the setup. All the instructions are packaged within.

Document styles

Every page an agent writes for review, and every Markdown file Lahe renders, uses a full document style with ready-made components: stat tiles, callouts, tables, step sequences, badges, pull quotes, image layouts, and more. Your agent reaches for them instead of writing bare paragraphs, so a plan or a report reads like a finished page from the first render, with no styling work.

A one-page report in Lahe with the Document style panel open, switching through seven styles: International Style, Field Guide, Folio, Ledger, Poster, Schematic and Textbook

Switch the whole style from the rail. Click the swatch button at the top of the rail to open Document style. One click previews any installed style on the page you are reviewing, fonts and layout included. Like one? "Ask the agent to use it" writes it into the document, so it stays. International Style ships free with Lahe. More styles, the Lahe Styles, install with lahe style add <folder>.

Stat tiles in the free International Style: bordered, tinted, and one large number

Image cards, two and three across, each showing the same report in a different Lahe Style

The full list of components, with the markup for each, is in vendor/stclair-doc-style/COMPONENTS.md.

The Library

Every review and document on your machine is listed on one page, the Library. Run lahe library and open the address it prints. Reviews are grouped by agent session, with the ones that have unanswered comments at the top.

The Lahe Library: reviews grouped by agent session, each row showing the document's title, its file, how many comments are waiting, and Open and Hand to agent buttons

From a row you can:

  • Open the document, even if its server has stopped.
  • Star it, or rename it by clicking its name.
  • Hand it to an agent: have your attached agent pick it up, or launch a new one on it.
  • Search titles, files, folders and sessions, or narrow the list to one project.

The Library reads only files on disk and talks only to the helper on your machine. A rename or a star is never sent to an agent.

Addresses that stay put

Every document gets one address for good: its folder and two parent folders as
the name, then the file, as in
http://docs.features.my-plan.lahe.localhost:1483/brief.md. Bookmark it, and
your unsent drafts come back when you open it again. Run lahe install once and
the address loads after a session ends and after a reboot, with nothing to start
first. On macOS, lahe install --port-80 drops the :1483, and
lahe install --lahe-names adds a short <name>.lahe alias. Both are optional.
See docs/INSTALL.md.

Quickstart

Clone it, and hand the rest to your agent:

git clone https://github.com/kenxle/live-agentic-html-editor

Set up Live Agentic HTML Editor from ./live-agentic-html-editor, following its AGENTS.md, then use it to review path/to/page.html.

Your agent installs the command, opens the review, and starts watching. Open the URL it prints, select some text, and press Cmd-Shift-C. It works each item as you commit it and answers on the card.

If your agent already has the Lahe skill installed, that first line is all it needs:

Use Lahe to review path/to/page.html.

Or set it up yourself

cd live-agentic-html-editor
npm run install-cli                       # writes ~/.local/bin/lahe
lahe review path/to/page.html             # or path/to/notes.md
lahe write notes/today.md                 # a blank notes page to write into
lahe install                              # optional: keep addresses working after sessions end and reboots
brew install pandoc                       # optional: draws ::: fenced divs in Markdown (or see pandoc.org/installing.html)

Which agents this works with

Each host wakes an agent differently, so each gets its own instruction. The agent reads this from the review itself, so you do not have to remember it.

Agent How it keeps up
Claude Code Runs lahe monitor with Bash in the background, and runs it again after each batch of work. A Stop hook that npm run install-skills adds stops the agent from ending a turn while its watcher is down.
Codex Runs lahe monitor --codex, which returns after starting a local watcher. Real feedback queues a follow-up to the same conversation with codex queue; idle reviews make no model calls. Requires the local shared Codex daemon.
Gemini CLI Finds the skill in the shared Agent Skills folder and runs lahe monitor in the foreground.
Antigravity Runs lahe monitor as a background terminal task. Task completion wakes it.
Anything else Runs lahe monitor in the foreground after warning you it owns the chat.

An idle review costs no model tokens on any of them. The watcher is a small local process, never a scheduled model wakeup.

The gestures

Gesture What it does
Cmd-Shift-C with text selected Comment on the selection
Cmd-Shift-C with nothing selected Pick an element: hover to outline, click to comment, Esc to cancel
Cmd-Shift-E Edit the block under the cursor. Press Enter at the end of it to write a new paragraph after it
Cmd-Shift-E with the cursor in no block Edit state with nothing open: click a thin "+ Write here" line between blocks or below the last one to start writing there
The block menu in the edit bar, or its hotkey Change the block under the cursor: Paragraph, Heading, Subheading, Small heading, Bulleted list, Numbered list. Typing ## , ### , #### , - , or 1. at the start of a block does the same
Cmd-Enter in a comment box This comment is ready, send it to the agent
Cmd-Enter, Esc, or a click outside an edit Commit the edit and give the block back to the page
The box at the foot of the rail A note about the page, tied to nothing in particular
The magnifier on a graph or large image Open it full screen. Scroll or pinch to zoom, drag to pan, Esc to close
Clicking a card, anywhere but its buttons Scroll the page to the passage that card is about

The rail also shows these as hints, so you do not need this file open to work them out.

When something goes wrong

  • The helper is not running. The page still opens, the rail says the helper is away, and your work is kept in the browser. It posts when the helper comes back.
  • The agent rebuilds the page while you are typing. The reload waits until you finish the sentence, then swaps the page and puts your outstanding work back on it.
  • An agent stops listening. The rail says so: it shows whether an agent is watching, working, or gone, read from the helper's own files rather than from anything the agent claimed.
  • An agent undoes an edit you made by hand. Handled edits are carved out of doc-wide sweeps, and an edit that gets reverted anyway reopens itself on the next page load.

Requirements

  • Node 18.2 or later. No npm runtime dependencies: the two Markdown packages are vendored in the repo, so a clone works with no install step.
  • Optional: pandoc 3 or later. With it, Markdown pages render through pandoc, so pandoc fenced divs (::: callout-req, ::: stat) draw as styled panels, the way the feature-forge and research-report builds draw them. Without it, LAHE renders with its vendored Markdown package and those blocks show as plain text.
  • A current Chrome, Edge, Safari, or Firefox.
  • macOS or Linux for the install-cli wrapper. On Windows, run node bin/lahe.js from the clone or work in WSL.

Docs

  • AGENTS.md: how each agent host connects to the tool. Point your agent here.
  • skills/lahe/SKILL.md: the instructions an agent follows during a review.
  • docs/UPGRADING.md: what to do when upgrading, including moving older documents to stable addresses (0.2 to 0.3).
  • docs/INSTALL.md: install details, the CLI wrapper, starting at login with lahe install, and dev-server setup.
  • docs/CLI.md: every command and flag.
  • docs/ongoing/FREE_WRITING.md: how writing new paragraphs, headings, and lists works, for the next builder.
  • docs/ongoing/STYLES.md: how installed document styles work: the folder, the checks, serving, and Markdown.
  • docs/CONTRACTS.md: the wire protocol, the record shape, and the review file format.
  • docs/: the build history, including the brief, architecture, plan, and reviews.

License

MIT. See LICENSE.

Yorumlar (0)

Sonuc bulunamadi