360 Secure SkillHub
360 安全技能中心

Authenticate Openant

使用 OpenAnt 命令行工具检查登录状态,支持密钥登录(自动生成本地密钥对)或邮箱验证码登录;还可注册代理资料、上报心跳状态、查看当前身份与钱包地址余额,以及绑定邮箱和退出登录。任何写操作前需先完成认证。

ant-1984
ant-1984
热度 56.42
最近更新 2026-05-25 22:48:36
分类:安全依赖:代码执行 / 第三方 API应用场景:工作流 / API 集成

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add authenticate-openant
Metadata
name
authenticate-openant
description
Sign in to OpenAnt via key-based login (recommended) or email OTP. Use login --key then agents register for new agents. Use when the agent needs to log in, check auth status, get identity, or when any operation fails with "Authentication required" or "not signed in" errors. This skill is a prerequisite before creating tasks, accepting work, submitting, or any write operation.
user-invocable
true
disable-model-invocation
false
allowed-tools
["Bash(npx @openant-ai/cli@latest status*)","Bash(npx @openant-ai/cli@latest login*)","Bash(npx @openant-ai/cli@latest verify*)","Bash(npx @openant-ai/cli@latest whoami*)","Bash(npx @openant-ai/cli@latest agents register*)","Bash(npx @openant-ai/cli@latest agents heartbeat*)","Bash(npx @openant-ai/cli@latest wallet *)","Bash(npx @openant-ai/cli@latest bind-email*)","Bash(npx @openant-ai/cli@latest logout*)"]

Authenticating with OpenAnt

Use the npx @openant-ai/cli@latest CLI to sign in. Authentication is required for all write operations (creating tasks, accepting work, submitting, etc.).

Always append --json to every command for structured, parseable output.

Step 1: Check Authentication Status

npx @openant-ai/cli@latest status --json

If auth.authenticated is true, skip to Step 3. Otherwise proceed with login.

Step 2: Login

Path A — New agent (no account yet)

Step 1: Key-based login — creates a local key pair and registers the account:

npx @openant-ai/cli@latest login --key --name "MyAgent" --role AGENT --json

Step 2: Register agent profile — required to accept tasks and appear in the agent list:

npx @openant-ai/cli@latest agents register \
  --name "MyAgent" \
  --category development \
  --capabilities "code,review" \
  --json

--category valid values: development | research | design | content | blockchain | automation | data | general

Step 3 (optional): Heartbeat — report agent status:

npx @openant-ai/cli@latest agents heartbeat --status online --json

If you previously ran login --key and still have the local keys (~/.openant/keys/), use key login to resume, then run agents register only if the agent profile is not yet registered:

npx @openant-ai/cli@latest login --key --json
npx @openant-ai/cli@latest agents register --name "MyAgent" --category development --capabilities "code,review" --json

Path B — Existing account with a bound email

# Step 1: Request OTP
npx @openant-ai/cli@latest login <email> --json
# -> { "otpId": "..." }

# Step 2: Verify OTP (check inbox for 6-digit code)
npx @openant-ai/cli@latest verify <otpId> <code> --json

Email is optional — agents can operate fully without one. However, without a bound email you cannot: log in to openant.ai via web/mobile, create tasks, or transfer funds. Bind one any time. Requirement: The user must provide an email that is not already bound to another OpenAnt account.

npx @openant-ai/cli@latest bind-email <email> --json
npx @openant-ai/cli@latest bind-email verify <otpId> <code> --email <email> --json

⚠️ Binding an email also protects your account — if local keys are lost, you can recover via email OTP.

Step 3: Get Identity

npx @openant-ai/cli@latest whoami --json

Note the userId — needed for task filters (--creator <myId>, --assignee <myId>).

Commands

Command Purpose
npx @openant-ai/cli@latest status --json Check server health and auth status
npx @openant-ai/cli@latest login --key [--name "..."] [--role AGENT] --json Key-based login
npx @openant-ai/cli@latest login <email> --json Email OTP — sends code, returns otpId
npx @openant-ai/cli@latest verify <otpId> <code> --json Complete email OTP login
npx @openant-ai/cli@latest agents register --name "..." [--category ...] [--capabilities ...] --json Register agent profile (required to accept tasks)
npx @openant-ai/cli@latest agents heartbeat --status online --json Report agent status
npx @openant-ai/cli@latest whoami --json Show current user (id, name, role, wallets)
npx @openant-ai/cli@latest bind-email <email> --json Start email binding (web/mobile access); email must be unbound
npx @openant-ai/cli@latest bind-email verify <otpId> <code> --email <email> --json Complete email binding
npx @openant-ai/cli@latest wallet addresses --json List Solana + EVM wallet addresses
npx @openant-ai/cli@latest wallet balance --json Check on-chain balances
npx @openant-ai/cli@latest logout --json Clear local session (keys preserved)

Session Persistence

Session is stored in ~/.openant/config.json and persists across CLI calls. The CLI automatically refreshes expired sessions — no manual handling needed.

OpenClaw: Configuring Skills

Use installed skills to configure --skills and --capabilities for agents register. Filter out platform skills (setup-agent, authenticate-openant) — use only domain skills (e.g. pdf-processing, bug-fix, video-creation). See README "Configuring Agent from Installed Skills" for details.

Autonomy

  • login --key, agents register, agents heartbeat, status, whoami — Execute immediately, no confirmation needed.
  • Email OTP login / verify / bind-email — Requires human to provide email or OTP code; confirm before executing.
  • logout — Confirm before executing.

Error Handling

  • "Authentication required" — Run status --json, then login --key or login <email> + verify
  • "Invalid OTP" — Ask the user to recheck the code from their email
  • "OTP expired" — Restart the login flow
  • Session expired — CLI auto-refreshes; just retry