open
Open an HTML file in hotedit so the person can watch and edit it in their browser. Returns the page URL. Call this before outline/read/edit when the page isn't open yet.
file必填browser
io.github.Thewhey-Brian由 GitHub 账号 Thewhey-Brian 发布v0.5.0更新于 Oct 30, 2026
Open HTML reports in the browser and edit them live while the person watches, or by hand.
在用户浏览器中打开本地 HTML 文件,让助手列出元素、读取源码并就地修改,改动即时显示。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
参照 仓库 中的启动说明。
Edit any HTML file in your browser — text, styles, layout and charts — and save the changes straight back into the file. Built for the HTML reports that AI assistants write.
▶ Watch the narrated 95-second tour (MP4, sound on) · or try it yourself: npx hotedit demo
AI assistants produce a lot of HTML: reports, dashboards, summaries. They look great, but fixing a typo, renaming a chart title or moving a section means digging through thousands of lines of generated markup, or asking the AI again. hotedit opens the page in your browser so you can click what you see and change it. Only the bytes you changed are rewritten, so the file stays clean, diff-friendly and yours.
It doesn't change what your AI makes. Let it write the report exactly as it normally would, at the same quality and with the same charts, design and depth. hotedit only adds the ability to edit it afterwards. Nothing is simplified or re-generated, and nothing is added to the file.
You need Node.js 18+. Then:
Your browser opens the page. Click ✎ Edit (or press ⌥E / Alt+E), click any text and type.
Changes are saved into report.html as you go, ⌘Z / Ctrl+Z undoes them, and ✓ Done
(top right, always in the same place) saves anything still open and stops editing. Hover any
button to see its shortcut: they are all ⌥ / Alt + a key (⌥E edit, ⌥A ask AI, ⌥S style,
⌥I add, ⌥D duplicate, ⌥⌫ delete, ⌥↑/↓ move), so plain keys never trigger anything and
typing is never affected.
Just want to see it? Open a sample report (charts, maths, diagrams) in a throwaway copy:
Not sure which file? Run it with no file and click one from the list:
To install it permanently, so you can just type hotedit:
Things that are generated by the page's own scripts, such as KaTeX maths, Mermaid output or tables built in JavaScript, are never saved as rendered output. hotedit opens their source instead.
Click ✨, say what you want ("make this shorter", "turn the bars orange", "add a row for March"), and press Do it. The AI reads the page, makes small edits in the file and each one shows up in your browser straight away, without reloading. Connect it once with ⚙, using an AI you already have:
claude once to log in.npm install -g @openai/codex and run codex once to log in.~/.htmledit/config.json), or set ANTHROPIC_API_KEY. Uses claude-opus-5-5 unless you
pick another model.gemini mcp add hotedit npx -y hotedit mcp, type gemini -y. The request is added as the
last argument (or wherever you put {prompt}).Change just one thing. With a block selected, the panel says Only changes: … and the AI can edit that block only (for a chart, also the code that draws it). Anything else it tries is rejected. Click another block to point it there, or Whole page to lift the limit. All its changes are normal undo steps.
Give any coding agent that speaks MCP (Claude Code, Codex, Cursor, Gemini CLI…) hotedit's tools, and it can open a report in your browser and edit it while you watch:
Tools: open (opens the file in hotedit and your browser), outline, read and edit
(saved and shown live). The agent finds pages you already have open in hotedit, too.
Install it once. Your agent then writes reports that are easy to edit (text in HTML, chart specs inline), and every HTML report it writes opens in hotedit in your browser automatically, ready to edit. Later edits by the agent show up on the page live.
As a Claude Code plugin (skill, auto-open hook and MCP tools in one go):
Or from the command line:
This adds the skill and a small hook that runs after the agent writes a file. It ignores
files that aren't HTML, pages that belong to an app or website (under src/, public/,
node_modules/… or with template tags), and pages already open. The page is served in the
background, and the server stops by itself once you've closed it for a while. Your other
settings and hooks are left as they are.
--no-auto. Pause it for one session: HOTEDIT_AUTO=0.npx hotedit skill uninstall (add --codex or --project to match).npx hotedit skill print (paste it into AGENTS.md). They open a report
with npx -y hotedit open report.html --background, which returns at once.The skill only shapes how the HTML is written: text in the markup, chart specs inline. It tells the agent never to simplify or leave anything out for the sake of editing.
·, quote styles, indentation and comments
elsewhere stay exactly as they were.<script> is
patched value by value, keeping its own quote and key style.~/.htmledit/backups/).127.0.0.1 and checks a per-session token.Does it work on any HTML file? Yes, any local .html file: hand-written,
AI-generated, or exported from Jupyter, plotly.py, R Markdown or Quarto. It is tested on
pages with KaTeX, Mermaid, inline SVG charts, JavaScript-built dashboards, base64 images
and deliberately odd markup.
Will it mess up my file? It is designed not to. Every test page is opened, every editable element is saved unchanged, and the file must stay byte-identical. Each real edit must produce exactly the expected diff.
Does it need the internet? No, hotedit runs locally. Your page may load its own libraries from a CDN, as many AI reports load KaTeX or Plotly.
Which browsers? Any modern browser. Automated tests run in Chromium.
Can I edit content that a script builds? Use ⋯ → Edit HTML on the script's block, or ask the AI with ✨.
.css and .js files are not edited, and styles are
written as inline style attributes.<script> (directly, or through
const spec = {...}). Specs computed at runtime or loaded from separate files open as
source.See CONTRIBUTING.md and docs/ARCHITECTURE.md.
hotedit is young and contributions are very welcome. Good places to start:
Roadmap: more chart libraries (ECharts, Observable Plot, Bokeh), editing external CSS, a VS Code extension, and guides for more agents (Gemini CLI, Cursor, OpenCode).
document.designMode saves whatever the scripts rendered.来源:README.md,提交 bc0a798
Open an HTML file in hotedit so the person can watch and edit it in their browser. Returns the page URL. Call this before outline/read/edit when the page isn't open yet.
file必填browserList the elements of the page as an indented tree: [id] tag#id.class “text…”. Use the ids with read. Ids change when elements are added, removed or moved, so call outline again after such edits.
fileThe exact HTML source of one element (by id from outline), as it is in the file. Copy text from here into edit's `find`. Long data: URLs are shortened and can't be edited.
id必填fileReplace text in the HTML file: `find` must appear exactly once (add surrounding context to make it unique) unless `all` is true. The change is saved and shown to the user immediately. Use it for text, attributes, styles, inserted or removed elements, and chart data in <script> blocks.
allfilefind必填replace必填已满足适用检查项的 90%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
npx hotedit report.htmlnpx hotedit demonpx hotedit # lists the HTML files in this foldernpm install -g hotedithotedit report.htmlclaude mcp add hotedit -- npx -y hotedit mcpcodex mcp add hotedit -- npx -y hotedit mcp/plugin marketplace add Thewhey-Brian/hotedit/plugin install hotedit@hoteditnpx hotedit skill install # Claude Code, all projects (~/.claude)npx hotedit skill install --project # Claude Code, this project only (./.claude)npx hotedit skill install --codex # Codex (~/.codex)report.html ──parse (keeps source positions)──► served copy with element ids + editor overlay ▲ │ └──────── small byte patch ◄── map your edit back to source ◄──┘git clone https://github.com/Thewhey-Brian/hotedit && cd hoteditnpm installnpx playwright install chromium # browser for the end-to-end testsnpm test # unit, CLI and real-browser tests (~3 min)node demo/audio.mjs # tour narration, sound effects, music (ElevenLabs key)node demo/record.js # re-record the tour video + GIF (needs ffmpeg)