← 返回
开发者工具

ClawHub Skill 发布避坑指南

ClawHub Skill 发布避坑指南。让你的 Skill 发布后能被搜索到,避免安全扫描导致隐藏。适用于需要发布 Skill 到 ClawHub 的开发者。
ClawHub Skill 发布避坑指南。让你的 Skill 发布后能被搜索到,避免安全扫描导致隐藏。适用于需要发布 Skill 到 ClawHub 的开发者。
tudoubudou
开发者工具 clawhub v1.2.1 3 版本 99842.5 Key: 无需
★ 0
Stars
📥 634
下载
💾 8
安装
3
版本
#latest

概述

ClawHub Skill 发布避坑指南

发布前检查清单

✅ 必须避免的内容

问题类型风险等级解决方案
--------------------------------
硬编码 API Keys🔴 高使用环境变量
HTTP 明文传输🟡 中添加安全警告说明
外部 URL/端点🟢 低正常发布
敏感信息🔴 高移除或环境变量
未声明环境变量🔴 高在 YAML front matter 中声明

✅ 推荐做法

  1. API Key 放在环境变量
  2. # ❌ 硬编码(会被扫描拦截)
    API_KEY = "sk-xxx"
    
    # ✅ 环境变量(安全)
    API_KEY = os.environ.get("API_KEY")
    
  1. HTTP endpoint 要警告用户
  2. ## ⚠️ 安全警告
    - HTTP 明文传输,API Key 可能有泄露风险
    - 仅在可信网络使用
    
  1. ⚠️ 必须在 YAML front matter 中声明环境变量

这是最重要的一步!如果不在 front matter 中声明,安全扫描会报警告:

---
name: my-skill
version: 1.0.0
description: 使用某个 API 的技能
metadata:
  openclaw:
    requires:
      env:
        - MY_API_KEY        # 必需的环境变量
        - MY_OPTIONAL_URL   # 可选的环境变量
    primaryEnv: MY_API_KEY  # 主要认证凭据
---

关键点

  • requires.env:列出所有需要的环境变量
  • primaryEnv:指定主要认证凭据(API Key)
  • 这样 ClawHub 才能正确识别你的 skill 需要哪些环境变量
  1. SKILL.md 正文也要说明环境变量
  2. ## 环境变量
    - MY_API_KEY=xxx  # 必需
    - MY_OPTIONAL_URL=http://example.com  # 可选
    

⚠️ 开发者协议确认(新!)

如果发布时遇到错误:acceptLicenseTerms: invalid value

说明你需要先在 ClawHub 网站上同意开发者协议:

  1. 访问 https://clawhub.ai
  2. 登录你的账户
  3. 进入 SettingsDeveloper Settings
  4. 同意开发者许可协议
  5. 然后再执行发布命令

发布命令

# 方式一:使用 clawhub CLI(需要先在网站同意开发者协议)
clawhub publish ./skills/your-skill --version 1.0.0

# 方式二:使用 curl 直接发布(支持 acceptLicenseTerms)
TOKEN=$(cat ~/.config/clawhub/config.json | jq -r '.token')
curl -X POST "https://clawhub.ai/api/v1/skills" \
  -H "Authorization: Bearer $TOKEN" \
  -F 'payload={"slug":"your-skill","displayName":"Your Skill","version":"1.0.0","changelog":"","tags":["latest"],"acceptLicenseTerms":true};type=application/json' \
  -F "files=@SKILL.md;filename=SKILL.md"

注意acceptLicenseTerms: true 是必需的参数,表示同意开发者许可协议。

发布后验证

# 搜索 Skill
clawhub search your-skill-name

# 检查状态
clawhub inspect your-skill-name

常见问题

Q: Skill 被隐藏怎么办?

A: 等待安全扫描通过,或移除敏感信息重新发布

Q: 提示 hard-coded credentials 怎么办?

A: 改用环境变量,添加安全警告

Q: 版本号冲突怎么办?

A: 升级版本号,如 1.0.0 → 1.0.1

Q: 提示 acceptLicenseTerms: invalid value 怎么办?

A: 先在 ClawHub 网站上同意开发者协议,然后再发布

Q: 安全扫描报警告 "未声明环境变量" 怎么办?

A: 在 YAML front matter 中添加 metadata.openclaw.requires.env 声明:

metadata:
  openclaw:
    requires:
      env:
        - YOUR_API_KEY
    primaryEnv: YOUR_API_KEY

Q: 安全扫描说 "registry metadata claims no required env vars" 怎么办?

A: 同上,你需要在 front matter 中声明环境变量。即使代码中已经使用了 os.environ.get(),也必须在元数据中声明,否则 ClawHub 无法正确识别。

版本历史

共 3 个版本

  • v1.2.1 当前
    2026-03-29 13:11 安全 安全
  • v1.1.0
    2026-03-26 21:41
  • v1.0.0
    2026-03-11 12:00

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

developer-tools

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 672 📥 324,503
developer-tools

CodeConductor.ai

larsonreever
AI驱动平台,提供快速全栈开发、智能体、工作流自动化及低代码AI集成的可扩展产品创建。
★ 68 📥 180,450
developer-tools

Gog

steipete
Google Workspace 命令行工具,支持 Gmail、日历、云端硬盘、通讯录、表格和文档。
★ 921 📥 185,920