openclaw 网盘下载
OpenClaw

技能详情(站内镜像,无评论)

首页 > 技能库 > Amernet AI SaaS

Connect your AI SaaS intelligent agent to any messaging channel via OpenClaw (WhatsApp, Telegram, Slack, Discord, iMessage, and more)

通信与消息

许可证:MIT-0

MIT-0 ·免费使用、修改和重新分发。无需归因。

版本:v1.0.0

统计:⭐ 0 · 415 · 1 current installs · 1 all-time installs

0

安装量(当前) 1

🛡 VirusTotal :良性 · OpenClaw :可疑

Package:amernet/amernet-ai-saas

安全扫描(ClawHub)

  • VirusTotal :良性
  • OpenClaw :可疑

OpenClaw 评估

The skill appears to implement what it claims (forwarding channel messages to an external AI SaaS) but has multiple packaging/metadata inconsistencies and non-trivial privacy/permission implications that you should review before installing.

目的

Functionality described (forward messages from channels to an AI SaaS chatbot, maintain per-user sessions, reset/status endpoints) aligns with the skill name and description. Required credentials (API key and chatbot ID) are appropriate for that purpose. However, the registry metadata at the top of the report claims no required env vars or primary credential while package.json and SKILL.md both declare required env vars (AI_SAAS_API_KEY, AI_SA…

说明范围

SKILL.md instructs the agent to forward ANY user message from connected channels to the external AI SaaS and to store API credentials in ~/.openclaw/openclaw.json. Forwarding all messages by default has privacy implications (sensitive user content will be sent to a third party). The instructions otherwise remain scoped to the described task (POST/DELETE/GET to the SaaS API). There are also small naming inconsistencies between SKILL.md, README,…

安装机制

This is an instruction-only skill with no install spec and no code files to write to disk, which is the lowest-risk install mechanism. There are no external downloads or package installs specified.

证书

The skill requires an API key and chatbot ID on the AI SaaS — expected and proportional for this integration. However, SKILL.md instructs creating an API key with 'all' permissions; that scope may be broader than technically necessary (depends on SaaS API design). The skill will send all user messages to the external service and can clear conversations via DELETE, so the API key could enable reading/writing conversation data. Also, the registr…

持久

The skill does not request 'always: true' and does not claim elevated platform privileges. It instructs the user to add env entries to their OpenClaw config (normal for skills). Autonomous invocation is allowed (disable-model-invocation: false), which is the platform default; combined with the fact the skill forwards all messages to an external service, this increases blast radius but is not an unusual configuration for a messaging integration.

安装(复制给龙虾 AI)

将下方整段复制到龙虾中文库对话中,由龙虾按 SKILL.md 完成安装。

请把本段交给龙虾中文库(龙虾 AI)执行:为本机安装 OpenClaw 技能「Amernet AI SaaS」。简介:Connect your AI SaaS intelligent agent to any messaging channel via OpenClaw (W…。
请 fetch 以下地址读取 SKILL.md 并按文档完成安装:https://raw.githubusercontent.com/openclaw/skills/refs/heads/main/skills/amernet/amernet-ai-saas/SKILL.md
(来源:yingzhi8.cn 技能库)

SKILL.md

打开原始 SKILL.md(GitHub raw)

---
name: amernet-ai-saas
description: Connect your AI SaaS intelligent agent to any messaging channel via OpenClaw (WhatsApp, Telegram, Slack, Discord, iMessage, and more)
homepage: https://saas.salesbay.ai
user-invocable: false
---

## AI SaaS Chatbot

This skill forwards user messages to an AI SaaS chatbot and returns its response. It maintains conversation context per user by using their channel and user identifier as a session key.

### Required Configuration

These environment variables must be set in your `~/.openclaw/openclaw.json` under `skills.entries.amernet-ai-saas.env`:

| Variable | Description |
|---|---|
| `AI_SAAS_API_KEY` | Your API key from the portal (Settings → API Keys). Needs `all` permission. |
| `AI_SAAS_CHATBOT_ID` | The chatbot ID to route all messages to (copy from the Chatbots page). |
| `AI_SAAS_BASE_URL` | Base URL of your AI SaaS instance. Default: `https://saas.salesbay.ai` |

### Message Routing

When the user sends ANY message through any connected channel:

1. Identify the current channel name (e.g. `whatsapp`, `telegram`, `slack`, `discord`) and the user's identifier on that channel (phone number, user ID, or username).

2. Construct a `sender_id` combining both: `<channel>:<user_identifier>`
   - WhatsApp example: `whatsapp:+15551234567`
   - Telegram example: `telegram:123456789`
   - Slack example: `slack:U012AB3CD`
   - Discord example: `discord:123456789012345678`

3. Send a POST request to the chatbot API:

```
POST ${AI_SAAS_BASE_URL}/api/v1/chatbots/${AI_SAAS_CHATBOT_ID}/chat
Authorization: Bearer ${AI_SAAS_API_KEY}
Content-Type: application/json

{
  "sender_id": "<constructed sender_id>",
  "message": "<user message text>"
}
```

4. Parse `data.responses` from the JSON response. Return each item's `text` field as a separate message to the user. If multiple responses exist, send them in order.

5. If the API returns an error or is unreachable, reply: "Sorry, the AI assistant is temporarily unavailable. Please try again in a moment."

### Conversation Reset

If the user explicitly says "reset", "start over", "clear chat", or "/reset":

```
DELETE ${AI_SAAS_BASE_URL}/api/v1/chatbots/${AI_SAAS_CHATBOT_ID}/conversations/<sender_id>
Authorization: Bearer ${AI_SAAS_API_KEY}
```

Then confirm: "Conversation cleared. How can I help you?"

### Status Check

If the user says "/status" or "/ping":

```
GET ${AI_SAAS_BASE_URL}/api/v1/chatbots/${AI_SAAS_CHATBOT_ID}
Authorization: Bearer ${AI_SAAS_API_KEY}
```

Report the chatbot name and whether it is active.