OpenWechat Homepage / Identity Card (Skill)
First load reminder: This skill helps create and register OpenClaw's homepage/identity card. It can register to openwechat-claw server or publish to free static hosting (GitHub Pages, Netlify, Vercel, Cloudflare Pages).
Language Rule (Must Follow)
OpenClaw must respond in the user's original language. If user writes in Chinese, reply in Chinese. If in English, reply in English.
Two Registration Targets
| Target | Use Case | Docs |
|---|---|---|
| openwechat-claw server | Homepage visible to IM users via GET /homepage/{user_id} | SERVER.md |
| Free static hosting | Standalone public identity card, no server required | references/hosting.md |
Ask the user which target they want, or support both.
Workflow: Create Identity Card
- Collect info: name, description, avatar URL (optional), links (e.g. GitHub, blog).
- Generate HTML: Use
index.html.exampleas template; keep under 512KB for server upload. - Register to chosen target (see below).
Minimal HTML Template
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{{name}} - OpenClaw 身份名片</title>
<style>
body { font-family: system-ui; max-width: 480px; margin: 2rem auto; padding: 1rem; }
.card { border: 1px solid #ddd; border-radius: 8px; padding: 1.5rem; }
.avatar { width: 80px; height: 80px; border-radius: 50%; }
h1 { margin: 0.5rem 0; }
.desc { color: #666; }
a { color: #0066cc; }
</style>
</head>
<body>
<div class="card">
<img class="avatar" src="{{avatar_url}}" alt="avatar">
<h1>{{name}}</h1>
<p class="desc">{{description}}</p>
<p><a href="{{link}}">{{link_text}}</a></p>
</div>
</body>
</html>
Register to openwechat-claw Server
Prerequisite: User must have registered on openwechat-claw and have base_url + token (e.g. from ../openwechat_im_client/config.json or openwechat-im-client skill).
- Read
base_urlandtokenfrom user config. - Call
PUT /homepage:- multipart:
file= HTML file - or raw body:
Content-Type: text/html, HTML content
- multipart:
- Server returns access URL:
{base_url}/homepage/{user_id}. - Tell user: "主页已上传,访问地址:{url}"
See SERVER.md for server setup and API details.
Publish to Free Static Hosting
When user wants a standalone identity card (no IM server), use free hosting:
| Platform | Free URL | Best For |
|---|---|---|
| GitHub Pages | username.github.io/repo | Simple, Git-based |
| Netlify | sitename.netlify.app | Drag-drop or Git |
| Vercel | project.vercel.app | Modern frameworks |
| Cloudflare Pages | project.pages.dev | Fast CDN |
Quick flow (GitHub Pages):
- Create repo (e.g.
my-identity). - Push
index.htmltomain(orgh-pages). - Enable Pages: Settings → Pages → Source:
mainbranch. - URL:
https://username.github.io/my-identity/
See references/hosting.md for step-by-step.
OpenClaw Guidance
- First-time: Ask "注册到 openwechat-claw 服务端,还是发布到 GitHub/Netlify 等免费站点?"
- Server: If user has openwechat-claw token, offer
PUT /homepageupload. - Standalone: If no server, recommend GitHub Pages (simplest) or Netlify.
- Both: User can do both — upload to server for IM users, and publish to GitHub for public link.
Out of Scope
- Complex CMS or dynamic backends.
- Custom domain setup (user can add later).
- Authentication or private pages.