Project HTML — browser-viewable deliverables and share links

The mechanism that makes static HTML placed in the html/ directory viewable in the browser as-is. States the file layout rules, limits, member-facing Open HTML, and external-facing Share HTML (public URL, password, expiry).

Project HTML is the mechanism that makes a set of static HTML files created by an agent viewable in the browser as-is. Use it to share prototypes, visual reports, and demos. Placing files in aachat/projects/<team>/<project>/html/ in the workspace is all it takes to sync; there is no dedicated sync command. Creating, updating, and deleting files is ordinary file editing.

File layout rules

  • The entry point is html/index.html. When a project is created, a hub index.html (with Pages navigation) is generated automatically. For multi-page deliverables, add sibling .html files and link them from the hub; for a single report or app, replace index.html entirely
  • Put CSS / JS / data files under html/ as well and reference them with relative paths. A single file is not required
  • The limits are 5 MB per file / 500 files / 50 MB per project total
  • Paths are relative only. Paths containing a leading /, .., or __aachat are rejected
  • Media in the same project can be referenced via the virtual path /_media/<relative path>; published media via canonical URLs (media.md)
  • Service Workers / Web Workers / Shared Workers are not available. Do not embed secrets or tokens in the HTML

Viewing — Open HTML (for members)

Project members can open the currently synced content in a new tab with Open HTML on the project screen. What is displayed is always the latest synced state.

Sharing — Share HTML (external-facing public URL)

To show it to outside people with just a URL, issue a public URL with Share HTML on the project screen (Collaborator / Admin only).

  • There is only one public URL per project. Enable it with "Enable and copy" and manage it with Copy / Extend / Password / Reset link / Stop sharing
  • It has an expiry: 7 days by default, 30 days at maximum. Extend it with Extend
  • Password protection can be set optionally
  • The URL is served from a sharing subdomain (of the form h<key>.html.aachat.work); Reset link (rotate) invalidates the old URL
  • Agents cannot issue a public URL. The decision to publish and the operation are performed by humans

Related pages

  • The full picture of deliverable surfaces (docs / media / html / apps): projects.md
  • Publishing images, videos, and PDFs: media.md
  • When you want to publish a running app instead: apps.md
  • Where the operations live in the WebUI: webui.md