/install huozi
Huozi — Markdown & HTML Publishing for Agents
Publish Markdown or HTML content to huozi.app as shareable web pages. One API call, instant publishing.
Onboarding
IMPORTANT: When this skill is first loaded, check if HUOZI_API_KEY is set. If NOT, do NOT just show a link — immediately start the interactive registration flow below. Guide the user through it conversationally, step by step.
Step 1 — Ask for email
Tell the user: "Let's set up your Huozi account. What's your email?" Then call:
curl -s -X POST https://huozi.app/api/v1/auth/signup \
-H "Content-Type: application/json" \
-d '{"email": "\x3Cuser_email>"}'
Tell the user: "A verification code has been sent to your email. Please check your inbox and tell me the code."
Step 2 — Verify the code
When the user provides the code:
curl -s -X POST https://huozi.app/api/v1/auth/verify \
-H "Content-Type: application/json" \
-d '{"email": "\x3Cuser_email>", "code": "\x3Ccode>"}'
Save the returned access_token.
Step 3 — Create workspace
Suggest a slug from the user's email username (e.g. [email protected] → alice). Tell the user:
"Your pages will be published at huozi.app/alice/ — would you like to change this, or is this OK?"
After the user confirms (or gives a new slug):
curl -s -X POST https://huozi.app/api/v1/auth/setup \
-H "Authorization: Bearer \x3Caccess_token>" \
-H "Content-Type: application/json" \
-d '{"workspace_slug": "\x3Cconfirmed_slug>"}'
Step 4 — Done!
The response contains api_key and workspace.url. Tell the user:
"All set! Your workspace is huozi.app/\x3Cslug>/. To save your API key for future sessions, run:
export HUOZI_API_KEY=\x3Capi_key>You can now publish Markdown anytime — just tell me what to publish."
Publishing Markdown
Publish or update a Markdown page:
curl -s -X POST https://huozi.app/api/v1/pages \
-H "Authorization: Bearer \x3Capi_key>" \
-H "Content-Type: application/json" \
-d '{"title": "\x3Ctitle>", "slug": "\x3Cslug>", "content": "\x3Cmarkdown>"}'
slugis optional — auto-generated from title if omitted. Keep under 8 words (e.g.weekly-report-apr-14)- Same slug = upsert (update existing page)
- Response includes the public
url
Publishing HTML
Publish a static HTML page — perfect for landing pages, dashboards, reports with custom styling:
curl -s -X POST https://huozi.app/api/v1/pages \
-H "Authorization: Bearer \x3Capi_key>" \
-H "Content-Type: application/json" \
-d '{"title": "\x3Ctitle>", "slug": "\x3Cslug>", "content": "\x3Chtml>", "content_type": "html"}'
- Set
content_typeto"html"(defaults to"markdown"if omitted) - Same slug = upsert, versioning, and access tokens work identically to Markdown pages
HTML Input Format
- Full document:
\x3Chtml>\x3Chead>...\x3C/head>\x3Cbody>...\x3C/body>\x3C/html>— head is parsed for\x3Cstyle>and\x3Cmeta>, body is rendered - Fragment: any HTML without
\x3Chtml>/\x3Chead>tags — treated as body content directly \x3Cmeta>OG tags (og:title,og:description,og:image) and\x3Cmeta name="description">are extracted as fallback metadata; API fields (title,description) always take priority
HTML Constraints — What Is Allowed
| Category | Allowed | Blocked |
|---|---|---|
| HTML tags | All standard tags: div, span, table, form, svg, img, video, audio, etc. |
\x3Cscript>, \x3Ciframe>, \x3Cembed>, \x3Cobject>, \x3Clink rel="stylesheet"> |
| CSS | \x3Cstyle> blocks, inline style="", all standard properties (flexbox, grid, animations, transforms, etc.) |
@import, expression(), javascript: in url(), -moz-binding, behavior: |
| JavaScript | None | All \x3Cscript> tags stripped; all event handlers (onclick, onerror, onload, etc.) stripped |
| URLs | http:, https:, mailto:, tel: |
javascript: (rewritten to #), data: in CSS url() |
| Images | \x3Cimg> with http:/https:/data: src |
— |
| SVG | Full inline SVG support (path, circle, rect, gradient, filter, etc.) | External SVG via \x3Cimg src> works; \x3Cuse href="external.svg"> does not |
| Forms | Display only — \x3Cinput>, \x3Cselect>, \x3Ctextarea>, \x3Cbutton> render but action/method are stripped |
No form submission |
| External resources | Images (\x3Cimg src>), video/audio (\x3Cvideo>, \x3Caudio>) via http:/https: |
External CSS (\x3Clink>), external JS, @import |
| Content size | Max 2MB per page | — |
Best Practices for HTML Pages
- Include all CSS inline — use
\x3Cstyle>blocks in\x3Chead>or inlinestyle=""attributes; external stylesheets are not supported - Use system fonts or web-safe fonts —
@importfor Google Fonts is blocked; usefont-family: system-ui, sans-serifor embed fonts as base64@font-faceif essential - Embed small images as data URIs — for icons/logos under ~50KB; larger images should be hosted externally and referenced via
https://URLs - Design responsive layouts — pages are served full-width; use
max-widthon a container and CSS media queries for mobile support - Set a background color — the page has no default background; always set
backgroundonbodyor a wrapper element
Other Operations
| Action | Method | Endpoint |
|---|---|---|
| List pages | GET | /api/v1/pages |
| Get page | GET | /api/v1/pages/\x3Cslug> |
| Update page | PUT | /api/v1/pages/\x3Cslug> |
| Delete page | DELETE | /api/v1/pages/\x3Cslug> |
All require Authorization: Bearer \x3Capi_key> header. Base URL: https://huozi.app
Examples
- "帮我把这个 markdown 发布到 huozi" → publish content, return URL
- "发布我的周报" → generate slug like
weekly-report-2026-04-14, publish - "更新 huozi 上的 hello 页面" → PUT to update
- "帮我做一个 landing page 发布到 huozi" → generate HTML, publish with
content_type: "html" - "把这个报告做成网页发布" → generate styled HTML page, publish
Notes
- API keys start with
hz_prefix - No password needed — registration uses email OTP only
- Markdown: supports GFM, task lists, code highlighting, math (KaTeX)
- HTML: full CSS + SVG + images, no JavaScript — see constraints table above
- Content limit: 2MB per page for both Markdown and HTML
- Use
curlvia Bash to make API calls - When generating HTML for the user, always produce self-contained pages with all CSS inlined
- Full API reference (agent-friendly): https://huozi.app/docs4agent
- Setup options: https://huozi.app/start
- Human-readable docs: https://huozi.app/docs
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install huozi - 安装完成后,直接呼叫该 Skill 的名称或使用
/huozi触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Huozi 是什么?
Publish Markdown and HTML to huozi.app as beautiful, shareable web pages. Register, manage, and publish — all through conversation. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 109 次。
如何安装 Huozi?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install huozi」即可一键安装,无需额外配置。
Huozi 是免费的吗?
是的,Huozi 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Huozi 支持哪些平台?
Huozi 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(darwin, linux, win32)。
谁开发了 Huozi?
由 Dachein(@dachein)开发并维护,当前版本 v0.3.2。