Token导航 LogoToken导航TokenDH.com
研究检索敏感数据clawhub未标认证来源可访问clear审计通过

websitepublisherwebsitepublisher 搜索

Agent Skill

websitepublisher 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

4,945

周安装

202

GitHub Stars

公开资料未说明

下载量

1,479
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:websitepublisher(websitepublisher 搜索)
来源仓库:https://github.com/megberts/websitepublisher
安装命令:
openclaw skills install websitepublisher
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install websitepublisher

简介

websitepublisher 通过 WebsitePublisher.ai 构建并发布完整网站,支持动态数据管理。

  • 适用于快速建站、资产上传与团队/产品内容维护等需求。
  • 通过 clawhub 安装并使用 openclaw skills install websitepublisher 命令集成。
  • 使用前需确认权限范围,注意可能涉及页面创建与第三方服务调用。
  • 建议结合原始 README 核实发布流程与数据同步机制。

SKILL.md

name
websitepublisher
description
>
homepage
https://www.websitepublisher.ai
license
MIT
metadata
clawdbot
emoji
🌐
requires
env
primaryEnv
WEBSITEPUBLISHER_TOKEN
openclaw
emoji
🌐
requires
env

WebsitePublisher.ai

Build and publish real websites through conversation. You describe it — the AI builds and deploys it.

The user's credentials are set as environment variables:

  • WEBSITEPUBLISHER_TOKEN — API token (starts with wpa_)
  • WEBSITEPUBLISHER_PROJECT — Project ID (numeric, e.g. 12345)

If either variable is missing, stop and instruct the user:

  1. Sign up at https://www.websitepublisher.ai/dashboard
  2. Copy their API token and Project ID from the dashboard
  3. Add to their OpenClaw config:
   {
     "env": {
       "WEBSITEPUBLISHER_TOKEN": "wpa_xxxx...",
       "WEBSITEPUBLISHER_PROJECT": "12345"
     }
   }

Authentication

Every API call requires these headers:

Authorization: Bearer $WEBSITEPUBLISHER_TOKEN
Content-Type: application/json
Accept: application/json

Base URL: https://api.websitepublisher.ai


Workflow — Build a Complete Website

When asked to build a website, follow this exact sequence:

Step 1 — Check existing content

curl -s \
  -H "Authorization: Bearer $WEBSITEPUBLISHER_TOKEN" \
  -H "Accept: application/json" \
  "https://api.websitepublisher.ai/papi/project/$WEBSITEPUBLISHER_PROJECT/status"

This returns the project URL, existing pages, and current status. Always do this first.

Step 2 — Create pages (use bulk for multiple pages)

Single page:

curl -s -X POST \
  -H "Authorization: Bearer $WEBSITEPUBLISHER_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "slug": "index.html",
    "content": "<!DOCTYPE html><html lang=\"en\">...</html>",
    "title": "Homepage",
    "seotitle": "Company Name — Tagline",
    "seodescription": "One sentence describing the page for search engines."
  }' \
  "https://api.websitepublisher.ai/papi/project/$WEBSITEPUBLISHER_PROJECT/pages"

Multiple pages at once (preferred — saves API calls):

curl -s -X POST \
  -H "Authorization: Bearer $WEBSITEPUBLISHER_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "pages": [
      {"slug": "index.html", "content": "...", "title": "Home"},
      {"slug": "about.html", "content": "...", "title": "About"},
      {"slug": "contact.html", "content": "...", "title": "Contact"}
    ]
  }' \
  "https://api.websitepublisher.ai/papi/project/$WEBSITEPUBLISHER_PROJECT/pages/bulk"

Step 3 — Upload assets (images, CSS, JS)

curl -s -X POST \
  -H "Authorization: Bearer $WEBSITEPUBLISHER_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "slug": "images/logo.png",
    "content": "BASE64_ENCODED_DATA",
    "alt": "Company Logo"
  }' \
  "https://api.websitepublisher.ai/papi/project/$WEBSITEPUBLISHER_PROJECT/assets"

Asset URL pattern: https://cdn.websitepublisher.ai/[path]/[slug] Reference assets in HTML using this CDN URL.

Step 4 — Confirm live URL

The project URL is returned by the status endpoint. Share it with the user.


PAPI — Pages & Assets (Full Reference)

Pages

ActionMethodEndpoint
List pagesGET/papi/project/{id}/pages
Get pageGET/papi/project/{id}/pages/{slug}
Create pagePOST/papi/project/{id}/pages
Bulk createPOST/papi/project/{id}/pages/bulk
Update pagePUT/papi/project/{id}/pages/{slug}
Patch pagePATCH/papi/project/{id}/pages/{slug}
Delete pageDELETE/papi/project/{id}/pages/{slug}
List versionsGET/papi/project/{id}/pages/{slug}/versions
RollbackPOST/papi/project/{id}/pages/{slug}/rollback

Page fields:

{
  "slug": "about.html",
  "content": "full HTML string",
  "title": "label shown in dashboard",
  "seotitle": "browser tab + search title",
  "seodescription": "meta description for search",
  "seokeywords": "comma,separated,keywords",
  "canonical": "https://example.com/about"
}

Patch a page (partial update — send only changed HTML fragment):

curl -s -X PATCH \
  -H "Authorization: Bearer $WEBSITEPUBLISHER_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "patches": [
      {
        "search": "<h1>Old Title</h1>",
        "replace": "<h1>New Title</h1>"
      }
    ]
  }' \
  "https://api.websitepublisher.ai/papi/project/$WEBSITEPUBLISHER_PROJECT/pages/index.html"

Assets

ActionMethodEndpoint
List assetsGET/papi/project/{id}/assets
Get assetGET/papi/project/{id}/assets/{slug}
Upload assetPOST/papi/project/{id}/assets
Bulk uploadPOST/papi/project/{id}/assets/bulk
Delete assetDELETE/papi/project/{id}/assets/{slug}

Asset fields:

{
  "slug": "images/hero.jpg",
  "content": "BASE64_STRING or https://example.com/image.jpg",
  "alt": "Description for accessibility",
  "type": "image"
}
Tip: You can pass a public image URL as content — the platform fetches and stores it automatically.

MAPI — Dynamic Data (Products, Blog, Team, etc.)

Use MAPI when the website needs structured, repeatable data — product listings, blog posts, team members, portfolio items, etc.

Create an entity (data model)

curl -s -X POST \
  -H "Authorization: Bearer $WEBSITEPUBLISHER_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "name": "products",
    "properties": [
      {"name": "name", "type": "string", "required": true},
      {"name": "price", "type": "number"},
      {"name": "description", "type": "text"},
      {"name": "image", "type": "image"}
    ]
  }' \
  "https://api.websitepublisher.ai/mapi/project/$WEBSITEPUBLISHER_PROJECT/entities"

Create records

curl -s -X POST \
  -H "Authorization: Bearer $WEBSITEPUBLISHER_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "name": "Wireless Headphones",
    "price": 89.99,
    "description": "Premium noise-cancelling headphones",
    "image": "https://example.com/headphones.jpg"
  }' \
  "https://api.websitepublisher.ai/mapi/project/$WEBSITEPUBLISHER_PROJECT/products"
Note: MAPI endpoint uses the plural entity name — e.g. /products not /product.

MAPI Reference

ActionMethodEndpoint
List entitiesGET/mapi/project/{id}/entities
Create entityPOST/mapi/project/{id}/entities
Get entity schemaGET/mapi/project/{id}/entities/{name}/properties
List recordsGET/mapi/project/{id}/{entity}
Get recordGET/mapi/project/{id}/{entity}/{recordId}
Create recordPOST/mapi/project/{id}/{entity}
Update recordPUT/mapi/project/{id}/{entity}/{recordId}
Delete recordDELETE/mapi/project/{id}/{entity}/{recordId}

Public read: MAPI records are publicly readable at the same endpoint without a token — useful for frontend JavaScript fetching live data.


SAPI — Contact Forms

Add a working contact form to any page in two steps.

Step 1 — Configure the form

curl -s -X POST \
  -H "Authorization: Bearer $WEBSITEPUBLISHER_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "page_slug": "contact.html",
    "fields": [
      {"name": "name", "type": "text", "required": true, "label": "Your Name"},
      {"name": "email", "type": "email", "required": true, "label": "Email Address"},
      {"name": "message", "type": "textarea", "required": true, "label": "Message"}
    ],
    "submit_label": "Send Message",
    "success_message": "Thank you! We will get back to you shortly.",
    "notification_email": "hello@example.com"
  }' \
  "https://api.websitepublisher.ai/sapi/project/$WEBSITEPUBLISHER_PROJECT/forms"
Important: Always send ALL fields on every configure_form call — no partial updates.

Step 2 — Add the form HTML to the page

The API returns a form_id. Use this snippet in the page HTML:

<form id="wp-contact-form" data-form-id="FORM_ID_HERE">
  <!-- fields rendered by JS -->
</form>
<script src="https://api.websitepublisher.ai/sapi/form.js"></script>

SAPI Reference

ActionMethodEndpoint
Configure formPOST/sapi/project/{id}/forms
List formsGET/sapi/project/{id}/forms
Remove formDELETE/sapi/project/{id}/forms/{form_id}

Rate Limits

PlanLimit
Free30 requests/min
Starter60 requests/min
Pro+150-300 requests/min

Always prefer bulk endpoints (/pages/bulk, /assets/bulk) over individual calls to stay within rate limits. A bulk call counts as one request regardless of how many items it creates.


Common Patterns

Landing page (one page)

  1. GET /status — check project
  2. POST /pages — create index.html with full content
  3. POST /forms — configure contact form if needed
  4. Share project URL

Multi-page website

  1. GET /status — check project
  2. POST /pages/bulk — create all pages in one call
  3. POST /assets/bulk — upload all images in one call
  4. POST /forms — configure contact form on contact page
  5. Share project URL

Website with dynamic data (e.g. product catalogue)

  1. GET /status — check project
  2. POST /entities — create data model (e.g. "products")
  3. POST /{entity} — create records (one per product)
  4. POST /pages/bulk — create pages with JS that fetches MAPI data
  5. Share project URL

Error Handling

All endpoints return standard HTTP status codes:

CodeMeaning
200/201Success
400Invalid request — check your JSON fields
401Invalid or missing token
404Page/asset/entity not found
422Validation error — response body contains field errors
429Rate limit exceeded — use bulk endpoints or wait
500Server error — try again

On error, the response body always contains a message field with a description.


Support & Docs

  • Dashboard: https://www.websitepublisher.ai/dashboard
  • Full API docs: https://www.websitepublisher.ai/docs
  • PAPI docs: https://www.websitepublisher.ai/docs/papi
  • MAPI docs: https://www.websitepublisher.ai/docs/mapi
  • SAPI docs: https://www.websitepublisher.ai/docs/sapi

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

91.56%
按下载量换算1,354

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills