louisecxqiu-glitch / html-doc-center

Listed

perfect workbench for html generated by Agents, edit, history,favorites

mainModelSession View source

Installation

npx -y @deepseek-ai/dsh plugin --profile web add github:louisecxqiu-glitch/html-doc-center

This installation command is an unverified starting point generated from the GitHub repository address.

README

Maintainer-authored documentation snapshot.

View on GitHub โ†—
Commit ba589ecSynced Aug 18, 2026

๐ŸŽจ HTML Studio

The HTML Editor & Viewer for the AI era.

Stop opening HTML files one by one. HTML Studio turns any folder into a browsable, editable, auto-saving document hub โ€” in one command.

License: MIT Python 3.10+ Claude Code Plugin


Why HTML Studio?

AI coding tools (Claude Code, Cursor, Copilot) generate HTML artifacts constantly โ€” reports, dashboards, cover images, presentations. But then you're stuck:

  • Opening each file manually in a browser
  • No way to edit without source code
  • No auto-save, no version history
  • Files scattered across directories

HTML Studio solves this. One command, all your HTML in one place, instantly editable.


Quick Start

  1. Go to Releases
  2. Download HTMLStudio-<version>-macos-arm64.dmg (Apple Silicon Mac) or HTMLStudio.exe (Windows)
  3. On Mac, open the notarized DMG and drag HTML Studio to Applications; on Windows, double-click the EXE

Option 2: Double-click launch (from source)

  1. Download the project (ZIP or git clone https://github.com/louisecxqiu-glitch/html-doc-center.git)
  2. Double-click ๅฏๅŠจ HTMLStudio.command (Mac) or ๅฏๅŠจ HTMLStudio.bat (Windows)
  3. Browser opens automatically โ†’ start using

First run auto-installs the dependency (aiohttp), requires internet.

Option 2: Command line

git clone https://github.com/louisecxqiu-glitch/html-doc-center.git
cd html-doc-center
pip install aiohttp
python3 server.py --open-browser
# โ†’ http://localhost:9901

Or as a Claude Code Plugin:

/plugin install htmlstudio@claude-plugins-official

Features

FeatureDescription
๐Ÿ“ Directory treeAuto-discovers all HTML/MD files, searchable sidebar
โœ๏ธ Click to editZero-config inline editing with toolbar injection
๐Ÿ’พ Smart auto-save2s idle โ†’ snapshot; close โ†’ overwrite / save-as / discard
๐Ÿ” Markdown supportBuilt-in MD editor with live preview
โญ Favorites & sortBookmark files, sort by time or name
๐Ÿ”„ Live refresh10s polling with ETag signatures (99.99% zero-traffic)
๐Ÿ“‚ Multi-rootConfigure multiple scan directories via settings UI
๐Ÿ–ฑ๏ธ Drag & dropMove files between directories
๐Ÿ”’ Path-safeAll writes validated against scan_roots whitelist

v3.0: Three-Mode Editing + AI Text Editing

v3.0 introduces a professional three-mode editor kernel, AI-assisted text editing, and version history.

Three Editing Modes

When you open an HTML file, you get three editing modes:

ModeEngineBest for
๐ŸŽจ DesignGrapesJSVisual editing: drag components, edit properties, see layout
๐Ÿ“ RichTextProseMirrorText-focused editing: bold, italic, lists, links, headings
</> SourceCodeMirror 6Direct HTML/CSS editing with syntax highlight, search

Switch modes with the top toolbar buttons or keyboard shortcuts (Alt+D/R/S).

Component Library (Blocks)

The left sidebar has 14 draggable components:

  • Basic: Heading, Paragraph, Text, Button, Link, Divider, Quote, Table
  • Layout: Container, 2-Columns
  • Media: Image, Video
  • Lists: Bullet List, Numbered List

Property Panel

The right sidebar shows two tabs:

  • Style: Typography, Layout, Background, Border, Effects
  • Props: Element ID, classes, attributes

AI Text Editing

  1. Select text in Design or RichText mode
  2. Click the โœจ AI Edit button (or the floating button near your selection)
  3. Enter your instruction (e.g., "Make this more concise", "Translate to Chinese")
  4. Review the diff preview (added/removed highlights)
  5. Click Accept, Reject, or Regenerate
  • AI results are never auto-applied โ€” you must review and accept
  • Only your selected text is sent to AI (never the full document)
  • Each AI accept creates one undoable action (Ctrl+Z to revert)
Configuring AI Providers

Edit ~/.codebuddy/html-doc-center/config.json and add an ai section:

{
  "ai": {
    "default_provider": "openai",
    "providers": {
      "openai": {
        "type": "openai-compatible",
        "base_url": "https://api.openai.com/v1",
        "model": "gpt-4o-mini",
        "api_key": "sk-..."
      },
      "anthropic": {
        "type": "anthropic",
        "base_url": "https://api.anthropic.com/v1",
        "model": "claude-sonnet-4-20250514",
        "api_key": "sk-ant-..."
      },
      "ollama": {
        "type": "openai-compatible",
        "base_url": "http://localhost:11434/v1",
        "model": "llama3.1",
        "api_key": "ollama"
      }
    }
  }
}

Or use environment variables (e.g., "api_key_env": "OPENAI_API_KEY").

Version History

HTML Studio automatically creates version snapshots:

  • Before AI edits (pre-ai)
  • Before version restore (pre-restore)
  • When you manually save (pre-overwrite / manual)

Each version records a content hash, timestamp, and reason tag. Access version history through the History button in the toolbar.

Complex Page Protection

Pages with scripts, framework mount points (React/Vue), or excessive CSS rules are automatically detected as "complex" and default to Source mode to prevent visual editing from altering structure. You can opt into visual editing with the "Enable anyway" button.

Keyboard Shortcuts

ShortcutAction
Ctrl+Z / Cmd+ZUndo
Ctrl+Y / Cmd+Shift+ZRedo
Alt+DSwitch to Design mode
Alt+RSwitch to RichText mode
Alt+SSwitch to Source mode
Ctrl+F (Source)Search in code


Claude Code Integration

HTML Studio works as a Claude Code Plugin with MCP support:

/hotpage ./report.html     # Open file in HotPage
/hotpage serve ./outputs   # Serve a directory

When Claude Code generates HTML, it automatically opens in HTML Studio for preview and editing.

MCP Tools

ToolDescription
hotpage_openOpen a specific file
hotpage_statusCheck if server is running
hotpage_serveStart serving a directory
hotpage_listList all discovered files

Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Python (aiohttp) โ€” single process      โ”‚
โ”‚  โ”œโ”€ /api/tree โ†’ directory tree JSON     โ”‚
โ”‚  โ”œโ”€ /api/file โ†’ serve HTML with         โ”‚
โ”‚  โ”‚              saver-runtime.js inject  โ”‚
โ”‚  โ”œโ”€ /api/save โ†’ overwrite / save-as     โ”‚
โ”‚  โ””โ”€ /api/settings โ†’ config CRUD         โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  saver-runtime.js (injected into iframe)โ”‚
โ”‚  โ”œโ”€ contentEditable toolbar             โ”‚
โ”‚  โ”œโ”€ 2s idle โ†’ auto-snapshot             โ”‚
โ”‚  โ”œโ”€ postMessage โ†” parent frame          โ”‚
โ”‚  โ””โ”€ close โ†’ 3-option dialog             โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  web/app.js โ€” sidebar + iframe viewer   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Zero dependencies beyond aiohttp. No npm, no webpack, no build step.


Configuration

Config stored at ~/.codebuddy/html-doc-center/config.json:

{
  "scan_roots": [
    {"path": "/Users/me/reports", "enabled": true},
    {"path": "/Users/me/outputs", "enabled": true}
  ]
}

Or configure via the in-app Settings panel (โš™๏ธ button).


Comparison

HTML Studiomcp-html-artifacts-previewFile Browser
Editingโœ… Inline edit + toolbarโŒ View onlyโŒ No
Auto-saveโœ… 2s snapshot + 3-optionโŒ NoโŒ No
Persistenceโœ… Files stay on diskโŒ Session-onlyโœ… Yes
Zero-configโœ… One commandโœ… MCP configโš ๏ธ Docker
Claude Codeโœ… Plugin + MCPโœ… MCP onlyโŒ No
Markdownโœ… Built-inโŒ NoโŒ No

Development

# Run the local development server without opening a browser automatically
python3 server.py --no-open-browser

# Then open http://127.0.0.1:9901 in your browser

# Run tests
python3 -m pytest tests/

Build distributable apps

python3 -m pip install -r requirements-build.txt
python3 build.py

On Apple Silicon macOS, the signed and notarized release command is:

python3 scripts/release_macos.py

See docs/macos-release.md for the one-time Apple certificate and GitHub Secrets setup.

WeChat article formatter

ๅฐ† Markdown ๆ•™็จ‹่ฝฌๆขๆˆๅธฆ่‹นๆžœๅผๅ†…่”ๆ ทๅผใ€ๅฏ็›ดๆŽฅๅคๅˆถๅˆฐๅพฎไฟกๅ…ฌไผ—ๅท็ผ–่พ‘ๅ™จ็š„ๅ•ๆ–‡ไปถ HTML๏ผš

python3 tools/wechat_formatter.py path/to/article.md --open

ๅ›พ็‰‡่ทฏๅพ„ๆŒ‰ Markdown ๆ–‡ไปถๆ‰€ๅœจ็›ฎๅฝ•่งฃๆž๏ผ›่„šๆœฌไผšๆŠŠๆœฌๅœฐๅ›พ็‰‡ๅ†…ๅตŒๅˆฐ HTMLใ€‚้œ€่ฆๆŒ‡ๅฎš่พ“ๅ‡บ่ทฏๅพ„ๆ—ถไฝฟ็”จ --output๏ผŒ่ฆ†็›–ๅทฒๆœ‰่พ“ๅ‡บๆ—ถไฝฟ็”จ --forceใ€‚

See CONTRIBUTING.md for guidelines.


License

MIT ยฉ Louis Jobs 2026

Project files and signals

Shown items are public repository signals detected in the directory snapshot.

Plugin manifestDetected
TestsDetected
Contributing guideDetected
DocumentationDetected

Repository information

Language
JavaScript
License
MIT
Latest release
v2.4.1
Last updated
Jul 30, 2026, 3:29 AM

Install deliberately

Review source code, permissions, lifecycle hooks, dependencies and network access. Test untrusted plugins in an isolated environment.