← 返回
未分类 中文

html-easy-deploy

Instantly deploy a single self-contained HTML page to htmlcode.fun for quick live URLs. Alias of html-deploy, with versioned updates, description-required de...
快速将独立 HTML 页面部署至 htmlcode.fun,生成即时可访问的链接。别名 html-deploy,支持版本更新,需提供描述。
520xiaomumu 520xiaomumu 来源
未分类 clawhub v1.3.0 2 版本 99785.4 Key: 无需
★ 2
Stars
📥 425
下载
💾 0
安装
2
版本
#latest

概述

> Alias note: html-easy-deploy is maintained as a compatibility alias of html-deploy. Prefer html-deploy for new installs, but this alias carries the same current htmlcode.fun workflow.

HTML Instant Deploy

Overview

Use htmlcode.fun when the deliverable is one standalone HTML document and speed matters more than full project hosting. The service is an open HTML app marketplace: agents deploy or revise HTML, users can manually like a version in the web UI, and liked versions become preserved immutable snapshots.

Live guide:

  • https://www.htmlcode.fun/s/htmlcode-fun-guide

Bundled script:

  • scripts/htmlcode_deploy.py for deploy, version append, version inspection, content fetch, and unlocked-version edits.

Decision rule

Use this skill when:

  • The deliverable is a single HTML page.
  • The page can be self-contained or nearly self-contained.
  • Fast sharing matters more than custom domains, CI/CD, or multi-file assets.

Do not use this skill when:

  • The project is a React, Vue, Next, or multi-file frontend app.
  • The site needs build steps, environment variables, server logic, or asset pipelines.
  • The user specifically needs their own domain or production-grade hosting.
  • The HTML payload is likely to exceed about 1 MB.

Current htmlcode.fun rules

  • Always use JSON; never use multipart/form-data or curl -F.
  • description is required: one concise sentence, max 240 characters.
  • One request deploys one HTML document only.
  • Stable projects should use enableCustomCode=true + customCode.
  • For recurring or iterative work, append a new version with createVersion=true instead of creating daily/random short codes.
  • A version with likeCount > 0 is locked and must not be overwritten or deleted.
  • An unlocked version (likeCount == 0) may be overwritten or unpublished when appropriate.
  • Agents must not call like endpoints. Likes are intentionally user/manual actions in the htmlcode.fun web UI.
  • After deploy, tell the user the returned url, detailUrl, and/or versionUrl, plus the returned preserveHint when present.
  • Successful deploys have a global cooldown of about 10 seconds. On 429, respect retryAfterSeconds.

Recommended workflows

New one-off page

  1. Produce a complete HTML document with </code>, viewport, and useful metadata. </li><li>Deploy with <code>POST /api/deploy</code> and a required <code>description</code>. </li><li>Return the live link and tell the user they can open the detail page and manually like the current version to preserve it. </li></ol><p>Script: </p><pre><code>python scripts/htmlcode_deploy.py deploy page.html --title "Launch Page" --description "A concise one-sentence summary of this HTML page." </code></pre><h3>Stable short link or recurring project </h3><p>Use a stable <code>customCode</code>; append new versions for future updates. </p><pre><code>python scripts/htmlcode_deploy.py deploy page.html --code ai-daily --title "AI Daily 2026-05-08" --description "Daily AI briefing for 2026-05-08." python scripts/htmlcode_deploy.py append ai-daily page.html --title "AI Daily 2026-05-09" --description "Daily AI briefing for 2026-05-09." </code></pre><h3>Inspect or reuse an app </h3><pre><code>python scripts/htmlcode_deploy.py versions ai-daily python scripts/htmlcode_deploy.py get ai-daily --version 3 --output ai-daily-v3.html </code></pre><p>By default, <code>get --output</code> writes the HTML <code>content</code> field to the file. Use <code>--download</code> only when you explicitly want the server's raw download response. </p><h3>Fix an existing version </h3><p>Before overwriting, inspect versions. Only overwrite if the target version has <code>likeCount == 0</code>. If it has likes, append a new version instead. </p><pre><code>python scripts/htmlcode_deploy.py versions landing-demo python scripts/htmlcode_deploy.py overwrite landing-demo 2 fixed.html --description "Fixes layout issues in version 2." </code></pre><p>The script also performs this <code>likeCount</code> check automatically before <code>overwrite</code>, <code>status</code>, and <code>delete-version</code>. </p><h3>Publish or unpublish one version </h3><pre><code>python scripts/htmlcode_deploy.py status landing-demo 2 inactive python scripts/htmlcode_deploy.py status landing-demo 2 active </code></pre><h2>Raw API map </h2><ul><li><code>POST /api/deploy</code> — deploy a new app or append a version with <code>createVersion=true</code>. </li><li><code>GET /api/deploy/content?code={code}&version={version}</code> — read metadata and source. </li><li><code>GET /api/deploys/{code}/versions</code> — list version history and <code>likeCount</code>. </li><li><code>PATCH /api/deploys/{code}/versions/{version}</code> — overwrite or set status for an unlocked version. </li><li><code>DELETE /api/deploys/{code}/versions/{version}</code> — delete one unlocked version. Treat deletion as sensitive; ask first unless the user explicitly requested it. </li><li><code>PATCH /api/deploys/{code}/current</code> — switch the public current version when needed. </li></ul><h2>Response handling </h2><p>On success, save and report relevant fields: </p><ul><li><code>code</code> </li><li><code>url</code> </li><li><code>detailUrl</code> </li><li><code>versionUrl</code> </li><li><code>versionNumber</code> </li><li><code>qrCode</code> </li><li><code>preserveHint</code> </li></ul><p>If an API response contains <code>errorCode</code>, <code>hint</code>, <code>detail</code>, <code>stage</code>, <code>requestId</code>, or <code>retryAfterSeconds</code>, use those fields in troubleshooting. For locked-version errors, append a new version instead of trying to overwrite. </p><h2>Best practices for agents </h2><ul><li>Prefer one high-quality deploy over many tiny edits. </li><li>For user-visible pages, include Open Graph tags when sharing matters. </li><li>Keep CSS/JS inline when practical; avoid large base64 images. </li><li>Use meaningful stable codes for recurring content, e.g. <code>ai-daily</code>, not <code>ai-daily-0508</code>. </li><li>If updating an existing code, read versions first and avoid touching liked versions. </li><li>Treat htmlcode.fun as a fast publication channel, not a full static hosting platform. </li><li>Tell the user when Vercel, Netlify, GitHub Pages, or a real app host is a better fit. </li></ul><h2>Good fit </h2><ul><li>Temporary landing pages </li><li>Demo pages </li><li>Shareable documentation pages </li><li>QR-linked event or campaign pages </li><li>AI-generated single-file frontends </li><li>Recurring reports with stable short links and version history </li></ul><h2>Poor fit </h2><ul><li>Multi-page sites with shared assets </li><li>Framework builds </li><li>Large production frontends </li><li>Apps requiring backend auth, databases, or secrets </li><li>Team workflows with preview environments and rollback controls </li></ul></div> </div> </div> <div id="tab-versions" class="detail-content"> <div class="detail-section"> <h2>版本历史</h2> <p style="margin-bottom:12px;font-size:14px;color:#94a3b8;">共 2 个版本</p> <ul class="version-list"> <li> <div> <span class="version-tag">v1.3.0</span> <span style="font-size:11px;color:#5b6abf;margin-left:8px;background:#eef0ff;padding:1px 8px;border-radius:10px;">当前</span> </div> <div style="font-size:12px;color:#94a3b8;"> 2026-05-08 13:08 安全 安全 </div> </li> <li> <div> <span class="version-tag">v1.1.0</span> </div> <div style="font-size:12px;color:#94a3b8;"> 2026-05-07 19:39 安全 安全 </div> </li> </ul> </div> </div> <div id="tab-security" class="detail-content"> <div class="detail-section"> <h2>安全检测</h2> <div class="sec-grid"> <div class="sec-card"> <h4>腾讯云安全 (Keen)</h4> <div class="sec-status sec-safe"> 安全,无风险 </div> <a href="https://tix.qq.com/search/skill?keyword=4ca09aa80f3e2f9d6d97bc4bc9404067" target="_blank">查看报告</a> </div> <div class="sec-card"> <h4>腾讯云安全 (Sanbu)</h4> <div class="sec-status sec-safe"> 安全,无风险 </div> <a href="https://static.cloudsec.tencent.com/html-report-v2/2026/05/26/448990_54ab2eac646a5eda5b70f49c867082d8.html?q-sign-algorithm=sha1&q-ak=AKID8JMG1bzBC1dz96qNhssfFftujT1NCoFi&q-sign-time=1781970718%3B1813506718&q-key-time=1781970718%3B1813506718&q-header-list=host&q-url-param-list=&q-signature=75426128e166f5796e70cf15d4ac292b3e8f1cbf" target="_blank">查看报告</a> </div> </div> </div> </div> <!-- Recommended Skills --> <div style="margin-top:24px;"> <h2 style="font-size:18px;font-weight:600;margin-bottom:16px;">🔗 相关推荐</h2> <div class="rec-grid"> <div class="rec-card"> <span class="badge-cat" style="margin-bottom:8px;display:inline-block;">dev-programming</span> <h3><a href="/s/github">Github</a></h3> <div class="rec-owner">steipete</div> <div class="rec-desc">使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。</div> <div class="rec-stats"> <span style="color:#f39c12;">★ 677</span> <span style="color:#5b6abf;">📥 327,124</span> </div> </div> <div class="rec-card"> <span class="badge-cat" style="margin-bottom:8px;display:inline-block;">dev-programming</span> <h3><a href="/s/mcporter">Mcporter</a></h3> <div class="rec-owner">steipete</div> <div class="rec-desc">使用 mcporter CLI 直接列出、配置、认证及调用 MCP 服务器/工具(支持 HTTP 或 stdio),涵盖临时服务器、配置编辑及 CLI/类型生成功能。</div> <div class="rec-stats"> <span style="color:#f39c12;">★ 195</span> <span style="color:#5b6abf;">📥 67,621</span> </div> </div> <div class="rec-card"> <span class="badge-cat" style="margin-bottom:8px;display:inline-block;">dev-programming</span> <h3><a href="/s/codeconductor">CodeConductor.ai</a></h3> <div class="rec-owner">larsonreever</div> <div class="rec-desc">AI驱动平台,提供快速全栈开发、智能体、工作流自动化及低代码AI集成的可扩展产品创建。</div> <div class="rec-stats"> <span style="color:#f39c12;">★ 72</span> <span style="color:#5b6abf;">📥 181,780</span> </div> </div> </div> </div> </div> <script> document.addEventListener('DOMContentLoaded',function(){ document.querySelectorAll('.detail-tab').forEach(function(btn){ btn.addEventListener('click',function(e){ var tab = this.getAttribute('data-tab'); document.querySelectorAll('.detail-tab').forEach(function(b){b.classList.remove('active')}); document.querySelectorAll('.detail-content').forEach(function(c){c.classList.remove('active')}); this.classList.add('active'); var el = document.getElementById('tab-'+tab); if(el) el.classList.add('active'); }); }); }); </script> <div class="footer"> <p>Skill工具集 © 2026</p> </div></body> </html>