agentCLAWHUBUnverified

Myapp Creator

Create or update standalone single-file HTML apps with specified features, saving them to fe-service without invoking LLM directly.

OpenClaw

Rank

62

Safety

84

Downloads

1.8k

Updated

Oct 10, 2026

Version

1.0.31

Source

CLAWHUB

About

What it does, and when to use it.

Capability contract not published. No trust telemetry is available yet. 1.8K downloads reported by the source. Last updated 10/10/2026.

Avoid when

  • Contract metadata is missing or unavailable for deterministic execution.

Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing

Public facts

Every fact links back to the source it came from.

Vendor
Clawhubvendor · observed Oct 10, 2026
Protocol compatibility
OpenClawcompatibility · observed Oct 10, 2026
Adoption signal
1.8K downloadsadoption · observed Oct 10, 2026
Latest release
1.0.31release · observed May 28, 2026
Handshake status
UNKNOWNsecurity

Install and run

Setup complexity: low.

clawhub skill install s17ea5pqb53nd5kct35sadct2s86darh:myapp-creator
  1. Install using `clawhub skill install s17ea5pqb53nd5kct35sadct2s86darh:myapp-creator` in an isolated environment before connecting it to live workloads.
  2. No published capability contract is available yet, so validate auth and request/response behavior manually.
  3. Review the upstream CLAWHUB listing at https://clawhub.ai/zhang6714268/myapp-creator before using production credentials.

Contract: missing

curl -s "https://www.xpersona.co/api/v1/agents/clawhub-zhang6714268-myapp-creator/snapshot"

Documentation

CLAWHUB

160,000 characters of source documentation, loaded on request.

Extracted files

5 files captured from the source.

SKILL.md

# myapp-creator

Version: 1.0.31

让用户用一句话生成可独立打开的单文件 HTML 应用或文档,并落库到 fe-service。
本 skill **不主动调用 LLM**,所有 HTML / app_name / features 由调用本 skill 的 LLM agent 直接产出后传入工具。

> **⚠️ 最高优先级规则(违反即为严重错误):**
> 1. 游戏类应用 **绝对禁止** 包含任何形式的 AI 对手、人机对战、电脑自动下棋/出牌。棋类/对战类游戏 **只允许** 双人同屏轮流操作,不实现任何计算机决策逻辑。
> 2. 所有应用 **绝对禁止** 出现"导出"、"打印"、"保存"按钮或相关功能代码。

## 触发条件

当用户需求匹配以下任一类别时,本 skill 参与:

### 应用类(交互式 HTML)
关键词:应用、app、小游戏、游戏、网页、页面、工具、计算器、时钟、日历、翻译器、转换器
示例:
- "做一个贪吃蛇游戏"
- "创建一个番茄钟"
- "生成一个天气页面"
- "给我做一个马里奥游戏"
- "帮我做一个单位转换工具"

### 文件类(文档式 HTML)
关键词:文档、文件、word、ppt、演示文稿、slides、pdf、excel、xlsx、表格、报告、简历、周报、日报、总结、方案、计划书
示例:
- "生成一个项目周报"
- "做一个自我介绍PPT"
- "创建一个预算表格"
- "帮我写一份简历"
- "保存一个会议纪要文档"

### 不触发(交给龙虾其他能力)
- 图片/绘画类:"画一张…"、"生成一张图片…"
- 音频/音乐类:"生成一首歌…"、"合成语音…"
- 视频类:"剪辑一个…"、"生成视频…"
- 小说/纯文本类:"写一篇小说…"、"写一首诗…"(纯创作不产出可交互文件)
- 纯问答/聊天/闲聊

### 判断规则
用户意图是"产出一个可独立打开、保存下来反复使用的文件或应用"时触发本 skill。
如果用户只是想让你"说一段话"或"回答问题",不要触发。

## 触发标记(兼容旧入口)

以下前缀仍可直接触发,不需要语义判断:
- `[create_app]<描述>` → 创建新应用/文件
- `[update_app:app_id=<n>]<描述>` → 更新已有应用/文件
- `[install_check:session=<sid>]` → 安装自检(仅调 myapp_ping)
- 不带上述前缀 → 按语义判断是否匹配触发条件

## 创建流程

最长等待 300s。若 300s 内不能完成 HTML 生成与 `myapp_register` 调用,直接回复"应用创建失败,请稍后重试"。

1. 解析用户描述,判断类型(应用类 or 文件类),产出:
   - `app_name`:应用/文件名,≤30 字
   - `features`:JSON 字符串数组,3~8 条,每条 ≤30 字,描述具体功能/内容要点
   - `html_content`:完整可独立打开的单文件 HTML(按类型选择模板风格)

2. HTML 通用约束:
   - 自包含:CSS/JS 全部内联在 `<style>` / `<script>`
   - 不依赖本地资源
   - 外部资源仅允许:unpkg.com / jsdelivr.net / cdnjs.cloudflare.com
   - 总长度 ≤ 60KB(UTF-8 字节数)
   - 不引用任何小度专属 API
   - 必须包含 `<meta name="viewport" content="width=device-width,initial-scale=1">`

   **目标运行环境 — Android 8.1 WebView(Chrome/85)**:
   所有 HTML 最终运行在搭载 Android 8.1 的智能屏 WebView 中,无鼠标/硬键盘,仅支持触摸和左右滑动。
   生成代码时必须遵守以下兼容规则:

   **JS / Web API 兼容**(feature detection 优先,禁止仅凭 UA 判断):
   - 使用 `typeof IntersectionObserver !== 'undefined'` 等特性检测,不要直接调用可能不存在的 API
   - 禁止使用 Chrome 86+ 才支持的 API:`CSS.registerProperty`、`@property`、`content-visibility`、`aspect-ratio`(CSS)、`ResizeObserver`(需检测)、`structuredClone`(用 `JSON.parse(JSON.stringify())` 替代)
   - 禁止使用 ES2020+ 语法:`??=`、`||=`、`&&=`、`import()`动态导入、`BigInt`、`globalThis`(用 `window` 替代)
   - **禁止使用 `ctx.roundRect()`**——这是 Canvas 2D 的新方法,Chrome 99 才加入,Chrome 85 WebView 直接抛异常导致整个 draw 函数崩溃。必须用以下自定义 helper 替代:
     ```js
     function rr(ctx, x, y, w, h, r) {
       ctx.beginPath();
       ctx.moveTo(x + r, y);
       ctx.lineTo(x + w - r, y);  ctx.arcTo(x + w, y,     x + w, y + r,     r);
       ctx.lineTo(x + w, y + h - r); ctx.arcTo(x + w, y + h, x + w - r, y + h, r);
       ctx.lineTo(x + r, y + h);  ctx.arcTo(x,     y + h, x,     y + h - r, r);
       ctx.lineTo(x, y + r);      ctx.arcTo(x,     y,     x + r, y,         r);
       ctx.closePath();
     }
     // 用法:rr(ctx, x, y, w, h, radius); ctx.fill();
     ```
   - **禁止在 Canvas 内用 emoji 字符**(如 🌕🔥❤️ 等)——Android WebView 字体渲染异常会抛异常或显示方块。Canvas 内所有文字必须用纯 ASCII/中文文字,用几何图形代替 emoji(如"♥ × 3"改用红色圆形绘制)
   - 可安全使用:`Promise`、`async/await`、`fetch`、`CSS Grid`、`Flexbox`、`CSS Variables`、`Inte

skills/myapp-creator/SKILL.md

# myapp-creator

Version: 1.0.31

让用户用一句话生成可独立打开的单文件 HTML 应用或文档,并落库到 fe-service。
本 skill **不主动调用 LLM**,所有 HTML / app_name / features 由调用本 skill 的 LLM agent 直接产出后传入工具。

> **⚠️ 最高优先级规则(违反即为严重错误):**
> 1. 游戏类应用 **绝对禁止** 包含任何形式的 AI 对手、人机对战、电脑自动下棋/出牌。棋类/对战类游戏 **只允许** 双人同屏轮流操作,不实现任何计算机决策逻辑。
> 2. 所有应用 **绝对禁止** 出现"导出"、"打印"、"保存"按钮或相关功能代码。

## 触发条件

当用户需求匹配以下任一类别时,本 skill 参与:

### 应用类(交互式 HTML)
关键词:应用、app、小游戏、游戏、网页、页面、工具、计算器、时钟、日历、翻译器、转换器
示例:
- "做一个贪吃蛇游戏"
- "创建一个番茄钟"
- "生成一个天气页面"
- "给我做一个马里奥游戏"
- "帮我做一个单位转换工具"

### 文件类(文档式 HTML)
关键词:文档、文件、word、ppt、演示文稿、slides、pdf、excel、xlsx、表格、报告、简历、周报、日报、总结、方案、计划书
示例:
- "生成一个项目周报"
- "做一个自我介绍PPT"
- "创建一个预算表格"
- "帮我写一份简历"
- "保存一个会议纪要文档"

### 不触发(交给龙虾其他能力)
- 图片/绘画类:"画一张…"、"生成一张图片…"
- 音频/音乐类:"生成一首歌…"、"合成语音…"
- 视频类:"剪辑一个…"、"生成视频…"
- 小说/纯文本类:"写一篇小说…"、"写一首诗…"(纯创作不产出可交互文件)
- 纯问答/聊天/闲聊

### 判断规则
用户意图是"产出一个可独立打开、保存下来反复使用的文件或应用"时触发本 skill。
如果用户只是想让你"说一段话"或"回答问题",不要触发。

## 触发标记(兼容旧入口)

以下前缀仍可直接触发,不需要语义判断:
- `[create_app]<描述>` → 创建新应用/文件
- `[update_app:app_id=<n>]<描述>` → 更新已有应用/文件
- `[install_check:session=<sid>]` → 安装自检(仅调 myapp_ping)
- 不带上述前缀 → 按语义判断是否匹配触发条件

## 创建流程

最长等待 300s。若 300s 内不能完成 HTML 生成与 `myapp_register` 调用,直接回复"应用创建失败,请稍后重试"。

1. 解析用户描述,判断类型(应用类 or 文件类),产出:
   - `app_name`:应用/文件名,≤30 字
   - `features`:JSON 字符串数组,3~8 条,每条 ≤30 字,描述具体功能/内容要点
   - `html_content`:完整可独立打开的单文件 HTML(按类型选择模板风格)

2. HTML 通用约束:
   - 自包含:CSS/JS 全部内联在 `<style>` / `<script>`
   - 不依赖本地资源
   - 外部资源仅允许:unpkg.com / jsdelivr.net / cdnjs.cloudflare.com
   - 总长度 ≤ 60KB(UTF-8 字节数)
   - 不引用任何小度专属 API
   - 必须包含 `<meta name="viewport" content="width=device-width,initial-scale=1">`

   **目标运行环境 — Android 8.1 WebView(Chrome/85)**:
   所有 HTML 最终运行在搭载 Android 8.1 的智能屏 WebView 中,无鼠标/硬键盘,仅支持触摸和左右滑动。
   生成代码时必须遵守以下兼容规则:

   **JS / Web API 兼容**(feature detection 优先,禁止仅凭 UA 判断):
   - 使用 `typeof IntersectionObserver !== 'undefined'` 等特性检测,不要直接调用可能不存在的 API
   - 禁止使用 Chrome 86+ 才支持的 API:`CSS.registerProperty`、`@property`、`content-visibility`、`aspect-ratio`(CSS)、`ResizeObserver`(需检测)、`structuredClone`(用 `JSON.parse(JSON.stringify())` 替代)
   - 禁止使用 ES2020+ 语法:`??=`、`||=`、`&&=`、`import()`动态导入、`BigInt`、`globalThis`(用 `window` 替代)
   - **禁止使用 `ctx.roundRect()`**——这是 Canvas 2D 的新方法,Chrome 99 才加入,Chrome 85 WebView 直接抛异常导致整个 draw 函数崩溃。必须用以下自定义 helper 替代:
     ```js
     function rr(ctx, x, y, w, h, r) {
       ctx.beginPath();
       ctx.moveTo(x + r, y);
       ctx.lineTo(x + w - r, y);  ctx.arcTo(x + w, y,     x + w, y + r,     r);
       ctx.lineTo(x + w, y + h - r); ctx.arcTo(x + w, y + h, x + w - r, y + h, r);
       ctx.lineTo(x + r, y + h);  ctx.arcTo(x,     y + h, x,     y + h - r, r);
       ctx.lineTo(x, y + r);      ctx.arcTo(x,     y,     x + r, y,         r);
       ctx.closePath();
     }
     // 用法:rr(ctx, x, y, w, h, radius); ctx.fill();
     ```
   - **禁止在 Canvas 内用 emoji 字符**(如 🌕🔥❤️ 等)——Android WebView 字体渲染异常会抛异常或显示方块。Canvas 内所有文字必须用纯 ASCII/中文文字,用几何图形代替 emoji(如"♥ × 3"改用红色圆形绘制)
   - 可安全使用:`Promise`、`async/await`、`fetch`、`CSS Grid`、`Flexbox`、`CSS Variables`、`Inte

skills/myapp-creator/skills/myapp-creator/SKILL.md

# myapp-creator

Version: 1.0.31

让用户用一句话生成可独立打开的单文件 HTML 应用或文档,并落库到 fe-service。
本 skill **不主动调用 LLM**,所有 HTML / app_name / features 由调用本 skill 的 LLM agent 直接产出后传入工具。

> **⚠️ 最高优先级规则(违反即为严重错误):**
> 1. 游戏类应用 **绝对禁止** 包含任何形式的 AI 对手、人机对战、电脑自动下棋/出牌。棋类/对战类游戏 **只允许** 双人同屏轮流操作,不实现任何计算机决策逻辑。
> 2. 所有应用 **绝对禁止** 出现"导出"、"打印"、"保存"按钮或相关功能代码。

## 触发条件

当用户需求匹配以下任一类别时,本 skill 参与:

### 应用类(交互式 HTML)
关键词:应用、app、小游戏、游戏、网页、页面、工具、计算器、时钟、日历、翻译器、转换器
示例:
- "做一个贪吃蛇游戏"
- "创建一个番茄钟"
- "生成一个天气页面"
- "给我做一个马里奥游戏"
- "帮我做一个单位转换工具"

### 文件类(文档式 HTML)
关键词:文档、文件、word、ppt、演示文稿、slides、pdf、excel、xlsx、表格、报告、简历、周报、日报、总结、方案、计划书
示例:
- "生成一个项目周报"
- "做一个自我介绍PPT"
- "创建一个预算表格"
- "帮我写一份简历"
- "保存一个会议纪要文档"

### 不触发(交给龙虾其他能力)
- 图片/绘画类:"画一张…"、"生成一张图片…"
- 音频/音乐类:"生成一首歌…"、"合成语音…"
- 视频类:"剪辑一个…"、"生成视频…"
- 小说/纯文本类:"写一篇小说…"、"写一首诗…"(纯创作不产出可交互文件)
- 纯问答/聊天/闲聊

### 判断规则
用户意图是"产出一个可独立打开、保存下来反复使用的文件或应用"时触发本 skill。
如果用户只是想让你"说一段话"或"回答问题",不要触发。

## 触发标记(兼容旧入口)

以下前缀仍可直接触发,不需要语义判断:
- `[create_app]<描述>` → 创建新应用/文件
- `[update_app:app_id=<n>]<描述>` → 更新已有应用/文件
- `[install_check:session=<sid>]` → 安装自检(仅调 myapp_ping)
- 不带上述前缀 → 按语义判断是否匹配触发条件

## 创建流程

最长等待 300s。若 300s 内不能完成 HTML 生成与 `myapp_register` 调用,直接回复"应用创建失败,请稍后重试"。

1. 解析用户描述,判断类型(应用类 or 文件类),产出:
   - `app_name`:应用/文件名,≤30 字
   - `features`:JSON 字符串数组,3~8 条,每条 ≤30 字,描述具体功能/内容要点
   - `html_content`:完整可独立打开的单文件 HTML(按类型选择模板风格)

2. HTML 通用约束:
   - 自包含:CSS/JS 全部内联在 `<style>` / `<script>`
   - 不依赖本地资源
   - 外部资源仅允许:unpkg.com / jsdelivr.net / cdnjs.cloudflare.com
   - 总长度 ≤ 60KB(UTF-8 字节数)
   - 不引用任何小度专属 API
   - 必须包含 `<meta name="viewport" content="width=device-width,initial-scale=1">`

   **目标运行环境 — Android 8.1 WebView(Chrome/85)**:
   所有 HTML 最终运行在搭载 Android 8.1 的智能屏 WebView 中,无鼠标/硬键盘,仅支持触摸和左右滑动。
   生成代码时必须遵守以下兼容规则:

   **JS / Web API 兼容**(feature detection 优先,禁止仅凭 UA 判断):
   - 使用 `typeof IntersectionObserver !== 'undefined'` 等特性检测,不要直接调用可能不存在的 API
   - 禁止使用 Chrome 86+ 才支持的 API:`CSS.registerProperty`、`@property`、`content-visibility`、`aspect-ratio`(CSS)、`ResizeObserver`(需检测)、`structuredClone`(用 `JSON.parse(JSON.stringify())` 替代)
   - 禁止使用 ES2020+ 语法:`??=`、`||=`、`&&=`、`import()`动态导入、`BigInt`、`globalThis`(用 `window` 替代)
   - **禁止使用 `ctx.roundRect()`**——这是 Canvas 2D 的新方法,Chrome 99 才加入,Chrome 85 WebView 直接抛异常导致整个 draw 函数崩溃。必须用以下自定义 helper 替代:
     ```js
     function rr(ctx, x, y, w, h, r) {
       ctx.beginPath();
       ctx.moveTo(x + r, y);
       ctx.lineTo(x + w - r, y);  ctx.arcTo(x + w, y,     x + w, y + r,     r);
       ctx.lineTo(x + w, y + h - r); ctx.arcTo(x + w, y + h, x + w - r, y + h, r);
       ctx.lineTo(x + r, y + h);  ctx.arcTo(x,     y + h, x,     y + h - r, r);
       ctx.lineTo(x, y + r);      ctx.arcTo(x,     y,     x + r, y,         r);
       ctx.closePath();
     }
     // 用法:rr(ctx, x, y, w, h, radius); ctx.fill();
     ```
   - **禁止在 Canvas 内用 emoji 字符**(如 🌕🔥❤️ 等)——Android WebView 字体渲染异常会抛异常或显示方块。Canvas 内所有文字必须用纯 ASCII/中文文字,用几何图形代替 emoji(如"♥ × 3"改用红色圆形绘制)
   - 可安全使用:`Promise`、`async/await`、`fetch`、`CSS Grid`、`Flexbox`、`CSS Variables`、`Inte

README.md

# myapp-creator

让小度用户用一句话造一个 HTML 小应用,落库到 fe-service。

- 包名:ClawHub 页面 URL 为 `https://clawhub.ai/<发布者>/myapp-creator`;**`clawhub install / inspect` 只允许裸 slug `myapp-creator`**(参数里含 `/` 会报 `Invalid slug`)。fe-service `MYAPP_SKILL_NAME` 可仍写全路径,下发 install_prompt 时会自动剥成裸 slug。
- 当前版本:见 `version.txt`
- License:MIT-0

## 用户视角是什么

用户在小度 Swan 端的"我的应用"页输入一句话(如"做一个五子棋"),fe-service 通过对话深链触发龙虾 OpenClaw 的 LLM agent;agent 在本 skill 的 prompt 约束下生成单文件 HTML 与功能列表,再调本 skill 的 `myapp_register` 工具把数据落到 fe-service。

整个流程对用户透明:用户只看见一个进度条和最终的应用卡片。

## 安装方式

### A. 自动安装(推荐)

用户首次进入"我的应用"页时,fe-service 会下发一段 install_prompt,由龙虾 agent 自动执行:

```
clawhub install myapp-creator --version <VERSION>
```

页面路径里虽有 `zhang6714268/`,**安装时不要带前缀**,否则 `Invalid slug`。

若本机无 `clawhub`,agent 需先 `npm i -g clawhub`(或 `npx clawhub@latest install ...`)。**不要用 `openclaw skills install`**,新版 OpenClaw 的 `skills` 子命令会报 `too many arguments`。

并写入 `~/.mcporter/mcporter.json` 中的环境变量。**用户无需手动操作。**

### B. 手动安装(兜底/调试)

```bash
clawhub install myapp-creator --version 1.0.0
# 或:npx --yes clawhub@latest install myapp-creator --version 1.0.0
```

然后在 **`~/.mcporter/mcporter.json`** 里为 **myapp-creator** 增加 `skills.myapp-creator.env`(与顶层 `mcpServers` **并列**,不是写进 `xiaodu` 里)。若文件中已有 `xiaodu` / `xiaodu-iot` 等,请**合并**如下结构,勿删掉原有 `mcpServers`:

```json
{
  "mcpServers": { },
  "skills": {
    "myapp-creator": {
      "env": {
        "MYAPP_API_BASE": "http://group.dumi-SwanSSRNode12-env.dumi.all",
        "MYAPP_API_TOKEN": "<由 fe-service 团队下发>"
      }
    }
  }
}
```

最后重新加载(任选其一,以本机 CLI 为准):

```bash
openclaw gateway restart
# 若无 gateway 子命令:重启 OpenClaw 应用
```

## 工具清单

| 工具 | 入参 | 用途 |
|---|---|---|
| `myapp_register` | dumi_id, cuid, query, app_name, html_content, features | 创建新应用 |
| `myapp_update`   | app_id, query, html_content, features | 更新已有应用 |
| `myapp_get`      | app_id | 读应用详情(更新前用) |
| `myapp_ping`     | session_id, dumi_id, cuid, skill_version | 安装自检 |

详细约束与触发条件见 `SKILL.md`。

## 故障排查

| 现象 | 排查 |
|---|---|
| 调 register/update 返回 401 | 检查 `MYAPP_API_TOKEN` 是否与 fe-service 配置一致 |
| 调 register/update 返回 502 (BOS upload failed) | fe-service 端 BOS_UPLOAD_AK/SK 未配置或权限不足 |
| 调 register/update 返回 400 | 入参超长或缺字段;检查 `app_name`/`features`/`html_content` 是否符合 SKILL.md 约束 |
| 调 register/update 返回 timeout | fe-service 不可达;检查 `MYAPP_API_BASE` 与本机网络 |
| `myapp_get` 404 | app 已被软删,或 app_id 写错 |
| 安装自检 60s 仍未完成 | 检查 mcporter env 中 token / base 是否正确写入;重启 openclaw |
| `./publish.sh` 报 `too many arguments for 'skills'` | **openclaw** 不再支持 `skills publish/install`;发布用 `clawhub`,安装用 `clawhub install <裸slug> --version …`(不要 `owner/skill`) |
| `ping.sh` 报 `param session_id required` | 须用环境变量或传入 JSON;见上文 **§C** |

## 发版

```bash
# 0) 安装并登录 ClawHub CLI(发布走 clawhub,不要用已弃用的 openclaw skills publish)
npm i -g clawhub
clawhub login

# 1) 改 version.txt 和 clawhub.yaml 中的 version
# 2) 跑发布(内部: clawhub skill publish . --version <x.y.z>)
./publish.sh

# 3) 同步更新 fe-service 中的 MYAPP_SKILL_REQUIRED_VERSION
```

## 安全说明

- 本 skill 代码为公开包,*

skills/myapp-creator/README.md

# myapp-creator

让小度用户用一句话造一个 HTML 小应用,落库到 fe-service。

- 包名:ClawHub 页面 URL 为 `https://clawhub.ai/<发布者>/myapp-creator`;**`clawhub install / inspect` 只允许裸 slug `myapp-creator`**(参数里含 `/` 会报 `Invalid slug`)。fe-service `MYAPP_SKILL_NAME` 可仍写全路径,下发 install_prompt 时会自动剥成裸 slug。
- 当前版本:见 `version.txt`
- License:MIT-0

## 用户视角是什么

用户在小度 Swan 端的"我的应用"页输入一句话(如"做一个五子棋"),fe-service 通过对话深链触发龙虾 OpenClaw 的 LLM agent;agent 在本 skill 的 prompt 约束下生成单文件 HTML 与功能列表,再调本 skill 的 `myapp_register` 工具把数据落到 fe-service。

整个流程对用户透明:用户只看见一个进度条和最终的应用卡片。

## 安装方式

### A. 自动安装(推荐)

用户首次进入"我的应用"页时,fe-service 会下发一段 install_prompt,由龙虾 agent 自动执行:

```
clawhub install myapp-creator --version <VERSION>
```

页面路径里虽有 `zhang6714268/`,**安装时不要带前缀**,否则 `Invalid slug`。

若本机无 `clawhub`,agent 需先 `npm i -g clawhub`(或 `npx clawhub@latest install ...`)。**不要用 `openclaw skills install`**,新版 OpenClaw 的 `skills` 子命令会报 `too many arguments`。

并写入 `~/.mcporter/mcporter.json` 中的环境变量。**用户无需手动操作。**

### B. 手动安装(兜底/调试)

```bash
clawhub install myapp-creator --version 1.0.0
# 或:npx --yes clawhub@latest install myapp-creator --version 1.0.0
```

然后在 **`~/.mcporter/mcporter.json`** 里为 **myapp-creator** 增加 `skills.myapp-creator.env`(与顶层 `mcpServers` **并列**,不是写进 `xiaodu` 里)。若文件中已有 `xiaodu` / `xiaodu-iot` 等,请**合并**如下结构,勿删掉原有 `mcpServers`:

```json
{
  "mcpServers": { },
  "skills": {
    "myapp-creator": {
      "env": {
        "MYAPP_API_BASE": "http://group.dumi-SwanSSRNode12-env.dumi.all",
        "MYAPP_API_TOKEN": "<由 fe-service 团队下发>"
      }
    }
  }
}
```

最后重新加载(任选其一,以本机 CLI 为准):

```bash
openclaw gateway restart
# 若无 gateway 子命令:重启 OpenClaw 应用
```

## 工具清单

| 工具 | 入参 | 用途 |
|---|---|---|
| `myapp_register` | dumi_id, cuid, query, app_name, html_content, features | 创建新应用 |
| `myapp_update`   | app_id, query, html_content, features | 更新已有应用 |
| `myapp_get`      | app_id | 读应用详情(更新前用) |
| `myapp_ping`     | session_id, dumi_id, cuid, skill_version | 安装自检 |

详细约束与触发条件见 `SKILL.md`。

## 故障排查

| 现象 | 排查 |
|---|---|
| 调 register/update 返回 401 | 检查 `MYAPP_API_TOKEN` 是否与 fe-service 配置一致 |
| 调 register/update 返回 502 (BOS upload failed) | fe-service 端 BOS_UPLOAD_AK/SK 未配置或权限不足 |
| 调 register/update 返回 400 | 入参超长或缺字段;检查 `app_name`/`features`/`html_content` 是否符合 SKILL.md 约束 |
| 调 register/update 返回 timeout | fe-service 不可达;检查 `MYAPP_API_BASE` 与本机网络 |
| `myapp_get` 404 | app 已被软删,或 app_id 写错 |
| 安装自检 60s 仍未完成 | 检查 mcporter env 中 token / base 是否正确写入;重启 openclaw |
| `./publish.sh` 报 `too many arguments for 'skills'` | **openclaw** 不再支持 `skills publish/install`;发布用 `clawhub`,安装用 `clawhub install <裸slug> --version …`(不要 `owner/skill`) |
| `ping.sh` 报 `param session_id required` | 须用环境变量或传入 JSON;见上文 **§C** |

## 发版

```bash
# 0) 安装并登录 ClawHub CLI(发布走 clawhub,不要用已弃用的 openclaw skills publish)
npm i -g clawhub
clawhub login

# 1) 改 version.txt 和 clawhub.yaml 中的 version
# 2) 跑发布(内部: clawhub skill publish . --version <x.y.z>)
./publish.sh

# 3) 同步更新 fe-service 中的 MYAPP_SKILL_REQUIRED_VERSION
```

## 安全说明

- 本 skill 代码为公开包,*
Github ReposUpdated 10h agoRank 70

AionUi

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

MCPOPENCLAW
Github ReposUpdated 6mo agoRank 70

activepieces

AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents

OPENCLAW
Github ReposUpdated 6mo agoRank 70

cherry-studio

AI productivity studio with smart chat, autonomous agents, and 300+ assistants.

MCPOPENCLAW
Github ReposUpdated 7mo agoRank 70

CopilotKit

The Frontend for Agents & Generative UI. React + Angular

OPENCLAW

Machine-readable data

The same record, as JSON, for agents and crawlers.

{
  "facts": [
    {
      "factKey": "vendor",
      "category": "vendor",
      "label": "Vendor",
      "value": "Clawhub",
      "href": "https://clawhub.ai/zhang6714268/skills/myapp-creator",
      "sourceUrl": "https://clawhub.ai/zhang6714268/skills/myapp-creator",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-10T02:03:40.289Z",
      "isPublic": true
    },
    {
      "factKey": "protocols",
      "category": "compatibility",
      "label": "Protocol compatibility",
      "value": "OpenClaw",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-zhang6714268-myapp-creator/contract",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-zhang6714268-myapp-creator/contract",
      "sourceType": "contract",
      "confidence": "medium",
      "observedAt": "2026-10-10T02:03:40.289Z",
      "isPublic": true
    },
    {
      "factKey": "traction",
      "category": "adoption",
      "label": "Adoption signal",
      "value": "1.8K downloads",
      "href": "https://clawhub.ai/zhang6714268/myapp-creator",
      "sourceUrl": "https://clawhub.ai/zhang6714268/myapp-creator",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-10T02:03:40.289Z",
      "isPublic": true
    },
    {
      "factKey": "latest_release",
      "category": "release",
      "label": "Latest release",
      "value": "1.0.31",
      "href": "https://clawhub.ai/zhang6714268/myapp-creator",
      "sourceUrl": "https://clawhub.ai/zhang6714268/myapp-creator",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-05-28T12:47:47.524Z",
      "isPublic": true
    },
    {
      "factKey": "handshake_status",
      "category": "security",
      "label": "Handshake status",
      "value": "UNKNOWN",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-zhang6714268-myapp-creator/trust",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-zhang6714268-myapp-creator/trust",
      "sourceType": "trust",
      "confidence": "medium",
      "observedAt": null,
      "isPublic": true
    }
  ],
  "events": [
    {
      "eventType": "release",
      "title": "Release 1.0.31",
      "description": "myapp-creator 1.0.31 - Updated version to 1.0.31 across all relevant metadata and documentation files. - Synchronized content and formatting in SKILL.md and related doc/config files. - No functional logic or code changes; this is a metadata and documentation version update.",
      "href": "https://clawhub.ai/zhang6714268/myapp-creator",
      "sourceUrl": "https://clawhub.ai/zhang6714268/myapp-creator",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-05-28T12:47:47.524Z",
      "isPublic": true
    }
  ]
}

Record generated Oct 10, 2026.

Sponsored

Ads related to Myapp Creator and adjacent AI workflows.