ClawHub Email Skill 安装与限流排障实录

在这里插入图片描述

目标:在 OpenClaw 中安装可用的 Email 能力,并把“命令报错 -> 排障 -> 验证 -> 风险控制”的全过程沉淀成可复用手册。


一、问题现场

C:\Users\14429\.openclaw 执行:

clawhub install Email

报错:

Skill not found

随后改为:

clawhub install email-send

出现:

Warning: "email-send" is flagged as suspicious by VirusTotal Code Insight.
Rate limit exceeded

二、根因分析

1) Skill not found 的根因

clawhub install 需要传 精确 skill slug,不是通用名称。
Email 不是有效 slug,所以无法安装。

2) Rate limit exceeded 的根因

当时本地 clawhub 为未登录状态,验证命令:

clawhub whoami

返回:

Error: Not logged in. Run: clawhub login

未登录 + 高频操作时,最容易触发仓库限流。

3) 可疑告警的含义

email-send 被标记为可疑,不代表一定恶意,但必须先做代码审查。
生产环境优先选择安全状态更清晰、能力边界更明确的 skill。


三、最终落地方案(已实测成功)

Step 1. 先选可用且更稳妥的 slug

clawhub search email
clawhub inspect imap-smtp-email

最终选择 imap-smtp-email

Step 2. 遇到 install 限流时,改用 inspect 拉取文件本地安装

这次采用的是“离线等价安装”:通过 clawhub inspect --file 获取官方仓库文件,再写入本地 skill 目录。

$slug='imap-smtp-email'
$dest=Join-Path (Get-Location) ("skills/"+$slug)
if (!(Test-Path $dest)) { New-Item -ItemType Directory -Path $dest | Out-Null }
$meta = clawhub inspect $slug --files --json 2>$null | ConvertFrom-Json
$files = $meta.version.files.path
foreach ($f in $files) {
  $outPath = Join-Path $dest $f
  $parent = Split-Path $outPath -Parent
  if (!(Test-Path $parent)) { New-Item -ItemType Directory -Path $parent -Force | Out-Null }
  $content = clawhub inspect $slug --file $f 2>$null
  Set-Content -Path $outPath -Value $content -Encoding utf8 -Force
}

Step 3. 安装依赖

cd C:\Users\14429\.openclaw\skills\imap-smtp-email
npm install

Step 4. 做可执行验证

  1. OpenClaw 识别验证:
openclaw skills list

结果:imap-smtp-email 状态为 ready

  1. 脚本可执行验证:
node .\scripts\smtp.js --help
node .\scripts\imap.js --help

结果:命令入口正常,子命令(send/test/check/search/...)可用。


四、经验沉淀:安装 Email Skill 的标准流程

推荐顺序(后续照这个做):

  1. clawhub whoami 先确认登录态
  2. clawhub search email 找 slug
  3. clawhub inspect <slug> 先看安全与说明
  4. clawhub install <slug> 正常安装
  5. 若限流:走 inspect --file 本地安装兜底
  6. npm install 安装依赖
  7. openclaw skills list 确认 ready

五、安全与可用性清单

安装前:

  • 先看 inspect 的 owner、更新时间、说明边界
  • 遇到可疑告警先审代码再决定

安装后:

  • 不在命令行明文暴露邮箱主密码
  • 163/QQ/Gmail 等优先使用授权码或 App Password
  • .env 仅本机可读,不入库
  • 首次发信用测试邮箱回环验证

六、接下来怎么真正发信

imap-smtp-email 只是把能力装好了,真正发信还需要你配置邮箱 SMTP/IMAP 参数(建议放 skill 目录 .env):

IMAP_HOST=imap.qq.com
IMAP_PORT=993
IMAP_USER=你的邮箱
IMAP_PASS=你的授权码
IMAP_TLS=true

SMTP_HOST=smtp.qq.com
SMTP_PORT=587
SMTP_USER=你的邮箱
SMTP_PASS=你的授权码
SMTP_SECURE=false

然后可先做连通性测试:

node .\scripts\smtp.js test

七、结论

这次安装的关键不是“某条命令能不能一次成功”,而是建立了可复用排障路径:

  • 先确认 slug 与登录态
  • 被限流时有可执行兜底
  • 装完必须做 ready + 命令可执行 双验证
  • 安全告警要先审再用

按这套流程,后续安装其他 skill(如文档、日程、知识库类)也能稳定落地。


八、最终连通性实测记录

本次在本机完成了真实 SMTP 与 IMAP 双向验证:

  1. SMTP 测试:
node .\scripts\smtp.js test

结果:success: true,并返回测试邮件 messageId

  1. 实际发信到目标邮箱:
node .\scripts\smtp.js send --to 144XXX@qq.com --subject "OpenClaw Email Skill 测试成功" --body "..."

结果:response: 250 OK,服务器已受理入队。

  1. IMAP 拉取验证:
node .\scripts\imap.js check --limit 1

结果:成功读取到测试邮件(主题 SMTP Connection Test),说明收信链路可用。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐