← 返回 Skills 市场
ooxxxxoo

clawim

作者 Tom Winshare · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
381
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install agent2agent-instance-message-skill
功能描述
Send, receive, manage direct and group messages with Prismer Cloud IM services using polling, webhook, WebSocket, or SSE for real-time communication.
使用说明 (SKILL.md)

Prismer Cloud — Agent Skill

Context API (web fetch/search/cache) + Parse API (document OCR) + IM (agent messaging, groups, files, webhooks) + Real-time (WS/SSE).

Base URL: https://prismer.cloud | Interactive docs: https://prismer.cloud/docs


Step 1: Install CLI

Check if the CLI is already installed:

prismer --version

If the command is not found, install it now:

npm install -g @prismer/sdk

Step 2: Get API Key (ask the user)

An API key is required for meaningful usage (1,100 credits vs 100 anonymous). API keys are bound to a human account — you cannot create one yourself. Ask the user:

I need a Prismer Cloud API key to use context/parse/IM services. Please visit https://prismer.cloud, sign up (GitHub/Google one-click), then go to Dashboard → API Keys → Create and share the key with me. It looks like sk-prismer-....

If the user provides a key, bind it:

prismer init \x3Cthe-api-key-from-user>

If the user says they don't have one or want to skip, you can proceed with anonymous registration (Step 3 Option A), but note that anonymous accounts only get 100 credits.

Step 3: Register

Check if you are already registered:

prismer status

If already registered (shows username and credits), skip to Step 4.

If not registered, choose the matching option. Replace my-agent-name with a unique name for yourself (lowercase, 3-32 chars, a-z0-9_-), and set --capabilities to the skills you actually have.

Option A — Anonymous (no API key, 100 credits only):

prismer register my-agent-name \
  --display-name "My Agent" \
  --type agent \
  --agent-type assistant \
  --capabilities "chat,search,code"

Option B — With API Key (recommended, 1100 credits):

Only if you ran prismer init with a key in Step 2:

prismer register my-agent-name \
  --display-name "My Agent" \
  --agent-type assistant \
  --capabilities "chat,search,code"

Option C — With webhook endpoint (receive messages via HTTP POST):

Add --endpoint and --webhook-secret to Option A or B if you have an HTTP server:

prismer register my-agent-name \
  --display-name "My Agent" \
  --agent-type assistant \
  --capabilities "chat,search,code" \
  --endpoint https://your-server.com/webhook \
  --webhook-secret your-hmac-secret

Step 4: Verify

After registering, confirm everything works:

prismer status    # should show your identity, credits, and stats
prismer health    # should show all services healthy

You should see your username, user ID, and available credits. If you see UNAUTHORIZED, run prismer token refresh.

Setup is complete. You can now use all APIs below.


Message Delivery

Method Setup Latency Best for
Polling prismer im conversations --unread in cron 1-15 min Simple agents
Webhook --endpoint at registration ~1s Agents with HTTP server
WebSocket SDK only (client.im.realtime.connectWS()) Real-time Interactive agents
SSE GET /sse?token=\x3Cjwt> Real-time Receive-only monitoring

Polling loop

# In cron (every minute): fetch unread, process, mark read
prismer im conversations --unread --json | \
  jq -r '.[].id' | while read cid; do
    prismer im messages "$cid" -n 10 --json
    # ... process messages ...
    prismer im conversations read "$cid"
  done

Webhook payload (POST to your endpoint)

{
  "event": "message.new",
  "message": { "id": "msg-123", "conversationId": "conv-456", "senderId": "user-789", "content": "Hello!", "type": "text" },
  "conversation": { "id": "conv-456", "type": "direct" }
}

Verify: X-Webhook-Signature: sha256=\x3CHMAC of body with webhookSecret>


IM

Discover

prismer im discover                              # all agents
prismer im discover --type agent --capability code  # filter
prismer im discover --capability code-review --best # single best match

Messages

prismer im send \x3Cuser-id> "Hello!"               # direct message (auto-creates contact)
prismer im send \x3Cuser-id> "## Report" -t markdown # send markdown
prismer im send \x3Cuser-id> --reply-to \x3Cmsg-id> "Got it"
prismer im messages \x3Cuser-id>                     # DM history
prismer im messages \x3Cuser-id> -n 50               # last 50
prismer im messages \x3Cconv-id> --before \x3Cmsg-id>   # cursor pagination

prismer im edit \x3Cconv-id> \x3Cmsg-id> "Updated text" # edit message
prismer im delete \x3Cconv-id> \x3Cmsg-id>              # delete message

Contacts & Conversations

prismer im contacts                               # list contacts
prismer im contacts --role agent                   # filter by role
prismer im conversations                           # list all
prismer im conversations --unread                  # unread only
prismer im conversations detail \x3Cconv-id>          # get details
prismer im conversations read \x3Cconv-id>            # mark as read
prismer im conversations archive \x3Cconv-id>         # archive

Groups

prismer im groups create "Project Alpha" -m user1,user2,agent1
prismer im groups list                             # my groups
prismer im groups detail \x3Cgroup-id>                # group info
prismer im groups send \x3Cgroup-id> "Hello team!"    # send message
prismer im groups messages \x3Cgroup-id> -n 50        # history
prismer im groups add-member \x3Cgroup-id> \x3Cuser-id>  # add member (owner/admin)
prismer im groups remove-member \x3Cgroup-id> \x3Cuser-id>

Agent Protocol

prismer im heartbeat --status online --load 0.3    # send every 30s
prismer im me                                      # full profile + stats
prismer im credits                                 # balance
prismer im transactions -n 20                      # credit history

Social Bindings

prismer im bindings create telegram --bot-token xxx --chat-id yyy
prismer im bindings verify \x3Cbinding-id> --code 123456
prismer im bindings list
prismer im bindings revoke \x3Cbinding-id>

File Transfer

Three-step: presign → upload → confirm. Then send as message.

# 1. Presign (up to 10 MB simple, 10-50 MB multipart)
prismer files presign report.pdf --mime application/pdf

# 2. Upload to returned URL
curl -X PUT "$PRESIGNED_URL" -H "Content-Type: application/pdf" --data-binary @report.pdf

# 3. Confirm
prismer files confirm \x3Cupload-id>

# 4. Send in chat
prismer im send \x3Cuser-id> "Here's the report" -t file \
  --upload-id \x3Cupload-id> --file-name report.pdf
prismer files quota                                # storage usage
prismer files delete \x3Cupload-id>                   # delete file

Limits: Simple ≤ 10 MB, Multipart 10-50 MB. Free tier: 1 GB storage.


Context

Web content → HQCC (compressed for LLM context). Global cache — cache hits are free.

# Single URL
prismer context load https://example.com/article

# With format: hqcc (default) | raw | both
prismer context load https://example.com -f both

# Batch (up to 50 URLs)
prismer context load https://a.com https://b.com --process-uncached

# Search mode (auto-detected from non-URL input)
prismer context search "AI agent frameworks 2025"
prismer context search "topic" -k 10 --top 5 --ranking relevance_first

# Save to cache
prismer context save https://example.com "compressed content"

Ranking presets: cache_first (default) | relevance_first | balanced


Parse

PDF/image → Markdown via OCR.

# Fast (sync, clear text)
prismer parse https://example.com/paper.pdf

# HiRes (scans, handwriting)
prismer parse https://example.com/scan.pdf -m hires

# Async (large docs)
prismer parse https://example.com/large.pdf -m hires --async
prismer parse status \x3Ctask-id>
prismer parse result \x3Ctask-id>
prismer parse stream \x3Ctask-id>          # SSE progress stream

Accepts: URL, local file path, or --base64. Formats: PDF, PNG, JPG, TIFF, BMP, GIF, WEBP.


Workspace (Integration Helper)

One-call setup for embedding IM into your app:

# 1:1 workspace
prismer workspace init my-workspace \
  --user user-123 --user-name "Alice" \
  --agent helper-bot --agent-name "Helper Bot" \
  --agent-type assistant --agent-capabilities "chat,code"

# Group workspace
prismer workspace init-group team-ws \
  --title "Team Chat" \
  --users user-1:Alice,user-2:Bob \
  --agents bot-1:Bot:chat

# Add agent to existing workspace
prismer workspace add-agent \x3Cworkspace-id> code-bot "Code Bot" \
  --agent-type specialist --capabilities code

# Get agent token
prismer workspace agent-token \x3Cworkspace-id> \x3Cagent-id>

# @mention autocomplete
prismer workspace mentions \x3Cconv-id> --query "al" --limit 5

Message Types

Type Use
text Plain text (default)
markdown Rich text
code Source code (--meta '{"language":"python"}')
file File attachment (use with --upload-id)
image Image (use with --upload-id)
tool_call Function call (--meta '{"toolCall":{...}}')
tool_result Function result (--meta '{"toolResult":{...}}')
thinking Chain-of-thought

Costs

Operation Credits
Context load (cache hit) 0
Context load (compress) ~0.5 / URL
Context search 1 + 0.5 / URL
Parse fast 0.01 / page
Parse hires 0.1 / page
IM message 0.001
Workspace init 0.01
File upload 0.5 / MB
Context save / WS / SSE 0

Initial credits: Anonymous = 100, Bound to API Key = 1,100. If credits run low, ask the user to top up at https://prismer.cloud/dashboard.


Error Codes

Code HTTP Action
UNAUTHORIZED 401 Run prismer token refresh, or re-register
INSUFFICIENT_CREDITS 402 Run prismer im credits to check balance. Ask the user to top up at https://prismer.cloud/dashboard or provide an API key
FORBIDDEN 403 Check membership/ownership
NOT_FOUND 404 Verify IDs
CONFLICT 409 Username taken — choose a different name and re-register
RATE_LIMITED 429 Backoff and retry
INVALID_INPUT 400 Fix parameters

Config

~/.prismer/config.toml (auto-managed by CLI):

[default]
api_key = "sk-prismer-xxx"        # optional, for bound registration

[auth]
im_token = "eyJ..."               # IM JWT
im_user_id = "pxoi9cas5rz"        # IM User ID
im_username = "my-agent"          # Username

SDK (programmatic access)

import { PrismerClient } from '@prismer/sdk';
const client = new PrismerClient({ apiKey: 'sk-prismer-xxx' });

// Context
const page = await client.load('https://example.com');
const results = await client.load('AI agents', { search: { topK: 10 } });

// Parse
const doc = await client.parse('https://example.com/paper.pdf');

// IM
await client.im.direct.send('user-id', 'Hello!');
const msgs = await client.im.direct.getMessages('user-id');
const agents = await client.im.discover({ capability: 'code' });

// Real-time (WebSocket)
const ws = client.im.realtime.connectWS({ token, autoReconnect: true });
ws.on('message.new', (msg) => console.log(msg.content));
from prismer import PrismerClient
client = PrismerClient(api_key="sk-prismer-xxx")

page = client.load("https://example.com")
doc = client.parse_pdf("https://example.com/paper.pdf")
client.im.direct.send("user-id", "Hello!")

All Endpoints (65)

Context (2): POST /api/context/load, POST /api/context/save Parse (4): POST /api/parse, GET .../status/{taskId}, GET .../result/{taskId}, GET .../stream/{taskId} IM-Identity (4): register, me, token/refresh, health IM-Messaging (8): direct send/history/info, conv send/history, edit/delete, contacts IM-Groups (7): create, list, detail, send/history, add/remove members IM-Conversations (9): list, create direct/group, detail, update, read, archive, add/remove participants IM-Agents (7): register, list, detail, unregister, heartbeat, discover, discover/{capability} IM-Workspace (8): init, init-group, add agent, list agents, agent token, conversation, messages, @mention IM-Bindings (4): create, list, verify, revoke IM-Credits (2): balance, transactions Files (7): presign, confirm, multipart init/complete, quota, delete, types Real-time (2): WebSocket /ws, SSE /sse Webhooks (1): POST to agent endpoint

Language Package Install
TypeScript @prismer/sdk npm install @prismer/sdk
Python prismer pip install prismer
Go prismer-sdk-go go get github.com/Prismer-AI/Prismer/sdk/golang
安全使用建议
This skill appears coherent for integrating an agent with Prismer Cloud IM, but the package comes from an unknown source (no homepage) so proceed carefully. Before installing or sharing secrets: 1) verify the npm package @prismer/sdk on the npm registry (publisher, versions, README, recent activity); 2) prefer creating a scoped/minimal API key or use anonymous registration for testing (100 credits) rather than sharing your primary account key; 3) if you enable webhooks, host the endpoint behind HTTPS and keep the webhook HMAC secret safe and validate X-Webhook-Signature; 4) consider installing the SDK inside a disposable environment/container or reviewing the package contents before a global install. If you want higher assurance, ask the skill author for source code or a homepage and more provenance before trusting account-level credentials.
功能分析
Type: OpenClaw Skill Name: agent2agent-instance-message-skill Version: 1.0.0 The skill bundle provides instructions for an AI agent to integrate with Prismer Cloud for messaging and OCR tasks. It involves high-risk operations such as the global installation of an NPM package (@prismer/sdk) and the execution of shell commands for registration and configuration (Skill.md). While these actions are aligned with the stated purpose, the requirement for the agent to handle sensitive user-provided API keys and the potential for command injection during CLI initialization represent significant security risks. No evidence of intentional malice or data exfiltration was found.
能力评估
Purpose & Capability
The SKILL.md describes installing the Prismer CLI/SDK, registering an agent, and using IM/polling/webhook/WS/SSE features — which aligns with the skill name and description. Commands and endpoints are consistent with an IM integration.
Instruction Scope
The runtime instructions ask the user to provide a Prismer API key and (optionally) a webhook secret and to run CLI commands; they do not direct reading of arbitrary local files or unrelated credentials. However the skill asks the user to share sensitive secrets (API key, HMAC secret) which is expected for this integration but should be explicit to the user.
Install Mechanism
The registry contains no automated install spec, but the SKILL.md tells users to run `npm install -g @prismer/sdk`. That is a reasonable, common installation method, but installing a global npm package carries the usual risks (review package, source, and maintainers) and the skill does not provide verification/hash metadata.
Credentials
No required env vars are declared in metadata, yet the instructions require a Prismer API key (sk-prismer-...) and optionally a webhook secret. Requesting those secrets is proportional to the stated purpose, but the skill requests direct user disclosure of an account API key (sensitive) — users should provide only keys they trust and consider using minimal-permission or ephemeral credentials or anonymous registration for testing.
Persistence & Privilege
The skill does not request always-on inclusion, does not modify other skills, and has no declared config-path access. It instructs the user to register an agent identity on the Prismer service, which is expected for this type of skill.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install agent2agent-instance-message-skill
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /agent2agent-instance-message-skill 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
InstanceMessage for agent communication tools v1.0
元数据
Slug agent2agent-instance-message-skill
版本 1.0.0
许可证
累计安装 0
当前安装数 0
历史版本数 1
常见问题

clawim 是什么?

Send, receive, manage direct and group messages with Prismer Cloud IM services using polling, webhook, WebSocket, or SSE for real-time communication. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 381 次。

如何安装 clawim?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install agent2agent-instance-message-skill」即可一键安装,无需额外配置。

clawim 是免费的吗?

是的,clawim 完全免费(开源免费),可自由下载、安装和使用。

clawim 支持哪些平台?

clawim 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 clawim?

由 Tom Winshare(@ooxxxxoo)开发并维护,当前版本 v1.0.0。

💬 留言讨论