← 返回 Skills 市场
🔌

IdentyClaw

作者 IdentyClaw · GitHub ↗ · v1.2.2 · MIT-0
cross-platform ✓ 安全检测通过
42
总下载
0
收藏
0
当前安装
3
版本数
在 OpenClaw 中安装
/install identyclaw
功能描述
IdentyClaw API workflows for agents — JWT login, HOLA create/verify, DID resolution, and peer identity lookup. Requires an IdentyClaw Passport (configured li...
使用说明 (SKILL.md)

IdentyClaw

Base URL: https://api.identyclaw.com

IdentyClaw is an HTTP API for IdentyClaw Passport holders and the HOLA mutual authentication protocol. Most agent work needs a JWT (login) and POST /api/identity/verify (validate any inbound HOLA in one call). Deep protocol detail lives in bundled references/; this file is the runnable cheat sheet.

Live docs: MCP doc:discovery (index) · doc:skills (cheat sheet) · curl https://api.identyclaw.com/api/mcp/resource/doc:skills

ClawHub (published): identyclaw/identyclaw · OpenClaw plugin


Credentials (ClawHub “API key required” badge)

ClawHub shows a generic API key required badge when a skill needs a user-supplied credential. For IdentyClaw, that credential is your IdentyClaw Passport — not a separate vendor API key.

What you configure Role (API-key analogy)
Passport signing key (accountid + nearPrivateKey, or IDENTYCLAW_ACCOUNT_ID + IDENTYCLAW_NEAR_PRIVATE_KEY) Your long-lived secret — configure once in OpenClaw, like skills.entries.*.apiKey
JWT (jwt_token from POST /api/login) Short-lived session token (~1 hour); plugin obtains and refreshes it from the Passport key
Public routes (GET /api/agents, MCP docs) No Passport needed

OpenClaw setup (recommended): put Passport material in plugin config — never paste keys into chat:

{
  plugins: {
    entries: {
      "identyclaw-tools": {
        enabled: true,
        config: {
          baseUrl: "https://api.identyclaw.com",
          accountid: "\x3C64-char-hex-near-implicit-account>",
          nearPrivateKey: "ed25519:..."
        }
      }
    }
  }
}

Enroll or mint a Passport first if you do not have one — see references/login-authentication.md. HOLA signing always uses your Passport key locally; the API never holds it.


Install and entry points

Skill (workflows):     openclaw skills install clawhub:identyclaw
Plugin (tools):        openclaw plugins install clawhub:@identyclaw/openclaw-identyclaw-plugin
MCP (docs):            https://api.identyclaw.com/mcp
Discovery index:       doc:discovery
Cheat sheet:           doc:skills

Agent cheat sheet

Protected routes need Authorization: Bearer \x3Cjwt_token> from POST /api/login. Field name is jwt_token. JWT lasts ~1 hour; HOLA nonces last ~5 minutes — fetch a new nonce immediately before each HOLA you sign.

# Goal Method Auth
1 Get JWT GET /api/login/timestamp → sign → POST /api/login No
2 Create outbound HOLA identyclaw_create_hola or @identyclaw/hola-client JWT + local key
3 Verify peer HOLA POST /api/identity/verify JWT
4 Resolve Passport → full DN GET /api/identity/token/{tokenId}/full JWT
5 List public agents GET /api/agents?limit=20 No
6 Resolve DID GET /.well-known/did/resolve?did=did:rodit:{tokenId} JWT

1. Login (get JWT)

BASE=https://api.identyclaw.com

TS_JSON=$(curl -sS "$BASE/api/login/timestamp")
TIMESTAMP=$(echo "$TS_JSON" | jq -r '.timestamp')
TIMESTAMP_ISO=$(echo "$TS_JSON" | jq -r '.timestamp_iso')

# Sign UTF-8 bytes of: \x3Caccountid> + \x3Ctimestamp_iso> (no separator)
# → base64url_signature with your NEAR/Passport Ed25519 key

JWT=$(curl -sS -X POST "$BASE/api/login" \
  -H "Content-Type: application/json" \
  -d "{\"accountid\":\"\x3C64-char-hex>\",\"timestamp\":$TIMESTAMP,\"base64url_signature\":\"\x3Csig>\"}" \
  | jq -r '.jwt_token')

Full signing steps: references/login-authentication.md.

2. Create outbound HOLA

Recommended: OpenClaw identyclaw_create_hola (plugin v1.3.0+) or @identyclaw/hola-client — JWT fetches nonce; private key signs locally (never sent to API).

Manual fallback: GET /api/holanonce16ts → sign uppercase canonical line → POST /api/testhola to self-test.

HOLA/\x3Crecipient>/\x3CtokenId>/\x3Ctimestamp>/\x3CnoncetsHex>/API.IDENTYCLAW.COM/\x3Cbase32-signature>/\x3Cchecksum>

Walkthrough: references/hola-howto.md. Spec: references/hola-agent-authentication.md.

3. Verify an incoming HOLA (most important)

One call validates format, checksum, freshness, nonce replay, token existence/active, and on-chain signature. Do not trust local crypto alone — wait for verified: true.

curl -sS -X POST https://api.identyclaw.com/api/identity/verify \
  -H "Authorization: Bearer $JWT" \
  -H "Content-Type: application/json" \
  -d '{"hola":"HOLA/MUNDO/\x3CpeerTokenId>/...","expectedRecipient":"MUNDO"}'

Optional: expectedRecipient suppresses RECIPIENT_MISMATCH; constraints.maxAgeMs sets freshness window. Same fields on /api/testhola.

Trust only when verified: true. Diagnostics: references/hola-agent-authentication.md.

4. Resolve tokenId → full identity

curl -sS "https://api.identyclaw.com/api/identity/token/\x3CtokenId>/full" \
  -H "Authorization: Bearer $JWT"

Public browse (no JWT): GET /api/agents?limit=20&cursor=... — then use /full per candidate. Patterns: references/finding-agents.md.

5. Discover agents (public)

curl -sS "https://api.identyclaw.com/api/agents?limit=20"

First contact from an unknown agent

  1. Login — obtain your JWT (cheat sheet §1).
  2. VerifyPOST /api/identity/verify with the exact HOLA string received.
  3. If verified: true — note peerTokenId (12-letter Passport ID).
  4. LookupGET /api/identity/token/{peerTokenId}/full for DN, contactUri, traits (self-declared).
  5. Impersonation guard — compare peerTokenId to the Passport ID the entity officially publishes on channels they control. If the verified peerTokenId is not the same ID the entity officially publishes, reject them as that entity, even though HOLA verification succeeded. See references/finding-agents.md.
  6. Subagent only — if the line includes delegation fields, also call POST /api/isauthorizedsigner. See references/hola-subagent-authentication.md.
VERIFY=$(curl -sS -X POST "$BASE/api/identity/verify" \
  -H "Authorization: Bearer $JWT" \
  -H "Content-Type: application/json" \
  -d "$(jq -n --arg h "$PEER_HOLA" '{hola:$h}')")

if [ "$(echo "$VERIFY" | jq -r '.verified')" = "true" ]; then
  TOKEN=$(echo "$VERIFY" | jq -r '.peerTokenId')
  curl -sS "$BASE/api/identity/token/$TOKEN/full" -H "Authorization: Bearer $JWT"
fi

DID resolution

curl -sS "https://api.identyclaw.com/.well-known/did/resolve?did=did:rodit:\x3CtokenId>" \
  -H "Authorization: Bearer $JWT"

Spec: references/did-rodit-method.md.


OpenClaw plugin (recommended for Gateways)

Install the matching plugin so the agent calls typed tools instead of hand-rolled curl on every turn:

openclaw plugins install clawhub:@identyclaw/openclaw-identyclaw-plugin
Tool Auth Purpose
identyclaw_list_agents Public Paginated agent discovery
identyclaw_list_resources Public MCP-style doc catalog
identyclaw_get_resource Public Fetch one doc by URI
identyclaw_get_my_identity JWT (optional) Caller Passport profile
identyclaw_get_nonce JWT (optional) Fresh HOLA nonce
identyclaw_create_hola JWT + local key (optional) Build/sign outbound HOLA (key stays on Gateway)
identyclaw_verify_hola JWT (optional) Verify peer HOLA (hola, optional expectedRecipient, maxAgeMs)
identyclaw_get_agent_identity JWT (optional) Full DN + contactUri for a peer
identyclaw_check_subagent_signer JWT (optional) Delegation check after subagent verify
identyclaw_resolve_did JWT (optional) DID document for peer

Configure baseUrl, accountid, and nearPrivateKey under plugins.entries.identyclaw-tools.config. Enable optional tools in tools.allow when credentials are configured. Plugin v1.3.0+ required for identyclaw_create_hola.

ClawHub skill (this bundle): openclaw skills install clawhub:identyclaw


Bundled references

Topic File
Endpoint catalog references/api-reference.md
Login + MITM notes references/login-authentication.md
HOLA quick path references/hola-howto.md
HOLA full spec references/hola-agent-authentication.md
Subagent delegation references/hola-subagent-authentication.md
Nonce JSON shape references/holanonce-api.md
Agent discovery references/finding-agents.md
Email outreach references/inter-agent-communication.md
Collaboration envelope references/collaboration-envelope.md
OpenClaw webhooks references/openclaw-integration-guide.md
DID method references/did-rodit-method.md
Token metadata references/token-metadata.md
Client-side auth patterns references/mcp-auth-tools.md
MCP discovery index references/mcp-discovery-index.md

Conventions

Terminology: User-facing copy says IdentyClaw Passport (12-letter ID). RODiT is the underlying protocol technology only — do not say "RODiT Passport."

Two clocks:

Clock TTL Used for
JWT session ~1 hour Bearer on protected routes
HOLA nonce ~5 minutes Timestamp + nonce inside each HOLA line
安全使用建议
Install only if you intend to use IdentyClaw identity workflows. Treat the Passport private key like a wallet or API secret: configure it through OpenClaw or the companion plugin, avoid pasting it into chat, and review the companion plugin separately before enabling its tools.
能力标签
cryptorequires-walletrequires-sensitive-credentials
能力评估
Purpose & Capability
The skill's purpose is IdentyClaw login, HOLA creation/verification, DID resolution, and identity lookup; the need for a Passport account, signing key, JWT, and API calls is explicit and aligned with that purpose.
Instruction Scope
Instructions are scoped to documented IdentyClaw endpoints, local signing, verification, and a companion typed plugin; the artifact repeatedly says not to paste private keys into chat and that signing keys stay local.
Install Mechanism
The package includes development publish/sync scripts, but no install hook, dependency, or automatic runtime execution; the publish helper runs fixed node/npx commands only when a publisher explicitly invokes npm publish scripts.
Credentials
Network access to api.identyclaw.com and optional credential configuration are proportionate for identity-authentication workflows, and public routes are distinguished from JWT-protected routes.
Persistence & Privilege
The skill references long-lived Passport signing-key configuration and plugin JWT caching, but this is disclosed credential storage for the identity workflow and the skill itself does not add background workers or persistence.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install identyclaw
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /identyclaw 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.2.2
Clarify impersonation guard: reject mismatched peerTokenId even when HOLA verification succeeded
v1.2.1
Clarify Passport credential vs ClawHub API-key badge; envVar descriptions
v1.1.0
Discovery index, collaboration envelope, OpenClaw webhook guide; extended reference bundle
元数据
Slug identyclaw
版本 1.2.2
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 3
常见问题

IdentyClaw 是什么?

IdentyClaw API workflows for agents — JWT login, HOLA create/verify, DID resolution, and peer identity lookup. Requires an IdentyClaw Passport (configured li... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 42 次。

如何安装 IdentyClaw?

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

IdentyClaw 是免费的吗?

是的,IdentyClaw 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

IdentyClaw 支持哪些平台?

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

谁开发了 IdentyClaw?

由 IdentyClaw(@identyclaw)开发并维护,当前版本 v1.2.2。

💬 留言讨论