Token导航 LogoToken导航TokenDH.com
研究检索敏感数据clawhub未标认证来源可访问clear审计通过

book-anything预订任何东西

Agent Skill

book-anything 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

3,011

周安装

128

GitHub Stars

1

下载量

1,055
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:book-anything(预订任何东西)
来源仓库:https://github.com/danielzhangreal/book-anything
安装命令:
openclaw skills install book-anything
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install book-anything

简介

搜索企业并通过 AI 电话预约服务,支持餐厅、沙龙等场所。

  • 还可取消、重新安排或询问商家详情。
  • 适用于生活服务和商务预约场景。book-anything 属于研究检索类 Skill,可作为该场景下的辅助能力补充。
  • 安装命令为 openclaw skills install book-anything。
  • 使用前需确认权限,避免未授权的电话或数据访问。

SKILL.md

name
book-anything
description
Searches for businesses (restaurants, salons, clinics, hotels) and books appointments via AI phone calls. Also cancels, reschedules, and makes merchant inquiries by phone. Use when a user says "find", "book", "reserve", "cancel", "reschedule", or asks about a local business. Supports any language — the AI caller matches the merchant's language automatically.
metadata
author
lifeclaw
version
1.4.2
homepage
https://lifeclaw.agentese.ai
clawdbot
emoji
📞
requires
env
primaryEnv
LIFECLAW_API_TOKEN

Book Anything — Search + AI Phone Booking

Search for any business, get full details, and book via an AI-powered phone call — all through a REST API.

Base URL: https://api-v2.lifeclaw.agentese.ai

Quick Start

BASE_URL="https://api-v2.lifeclaw.agentese.ai"

# 1. Search
curl -X POST "$BASE_URL/skill/search" \
  -H "Authorization: Bearer $LIFECLAW_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"query": "sushi near Shibuya", "location": "Tokyo"}'

# 2. Get details + phone_ref
curl -X POST "$BASE_URL/skill/detail" \
  -H "Authorization: Bearer $LIFECLAW_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "Sushi Dai", "cid": "12345678901234567"}'

# 3. Book by phone (only if phone_ref is not null)
curl -X POST "$BASE_URL/skill/book/phone" \
  -H "Authorization: Bearer $LIFECLAW_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"phone_ref": "<phone_ref from step 2>", "call_plan": {"purpose": "Book a table", "merchant_name": "Sushi Dai", "date": "2026-04-10", "time": "12:00", "party_size": 2, "name": "Alex"}}'

# 4. Poll until status != "pending" (use task_id from step 3 response)
curl "$BASE_URL/skill/task/{task_id}" \
  -H "Authorization: Bearer $LIFECLAW_API_TOKEN"

When to Use

  • User asks to find a business (restaurant, salon, clinic, hotel, etc.)
  • User wants to book / reserve something by phone
  • User wants to cancel or reschedule an existing reservation
  • User wants to ask a merchant a question (hours, menu, dress code, etc.)
  • User needs business details (phone number, hours, address, reviews)

Authentication

All requests require Authorization: Bearer <token> header.

Get a token: Message @lifeclaw_ai_bot on Telegram:

/token_create <name>

Store the token as environment variable LIFECLAW_API_TOKEN. Token is shown once only — save it immediately. Lost tokens cannot be recovered; create a new one with /token_create <name>.


Workflow: New Booking

Follow steps 1–4 in order. Do NOT skip steps.

Step 1 — Search

POST {base_url}/skill/search
{"query": "sushi near Shibuya", "location": "Tokyo", "language": "en", "limit": 5}

Response: list of places with cid and maps_url.

Step 2 — Get Details

POST {base_url}/skill/detail
{"name": "Sushi Dai", "cid": "12345678901234567", "language": "en"}

Key response fields:

  • phone_ref — signed token for booking. If null, phone booking is NOT available. Check phone_ref_unavailable_reason.
  • detail.phone — merchant phone for display only
  • booking_url — online booking link (if available)

When phone_ref is null: Do NOT call /skill/book/phone. Show detail.phone and booking_url to the user instead.

Step 3 — Book by Phone

Only call this if phone_ref is not null.

POST {base_url}/skill/book/phone
{
  "phone_ref": "<phone_ref from Step 2>",
  "call_plan": {
    "purpose": "Book a table at Sushi Dai",
    "merchant_name": "Sushi Dai",
    "date": "2026-04-10",
    "time": "12:00",
    "party_size": 2,
    "name": "Alex",
    "contact_phone": "+6591234567"
  }
}

The action field determines what the server does (book, cancel, reschedule, inquiry). purpose inside call_plan is a natural-language prompt for the AI caller — it does NOT affect routing.

call_plan fields (new booking):

  • Required: purpose, merchant_name, date, time, party_size, name
  • Recommended: contact_phone (E.164) — auto-formatted for voice readability
  • Optional: special_requests (string array), predicted_qa (array of {question, answer}), fallback_instructions
  • Ignored: language — do not set, auto-inferred from merchant phone

Returns {"task_id": {id}, "status": "pending", "poll_url": "/skill/task/{id}"}.

Step 4 — Poll Result

GET {base_url}/skill/task/{task_id}

Poll every 10 seconds until top-level status is no longer "pending". Do NOT use increasing delays — use a fixed 10-second interval. Timeout after 5 minutes.

Two-layer status: Top-level status (pending / completed / failed) indicates whether the task is still running. Inner result.status indicates the booking outcome. Only stop polling when top-level status != "pending"; only treat the operation as successful when result.status == "confirmed".

Result interpretation:

result.statusMeaningAction
confirmedBooking succeededShow confirmation to user
pendingMerchant hasn't confirmed yetTell user to wait for callback
rejectedMerchant refusedSuggest alternatives
failedCall failed (no answer, etc.)Show merchant phone for manual action

Workflow: Cancel / Reschedule

Uses the same /skill/book/phone endpoint with booking_id instead of phone_ref. Server auto-fills merchant phone and original booking details.

Step 1 — Get Booking History

GET {base_url}/skill/bookings?status=confirmed

Step 2 — Make the Call

Use the id from Step 1 as booking_id.

Cancel:

POST {base_url}/skill/book/phone
{"action": "cancel", "booking_id": 3, "call_plan": {"purpose": "Cancel reservation at Sushi Dai"}}

Reschedule:

POST {base_url}/skill/book/phone
{"action": "reschedule", "booking_id": 3, "call_plan": {"purpose": "Reschedule reservation at Sushi Dai", "new_date": "2026-04-12", "new_time": "20:00"}}

Provide new_date and/or new_time — only include the fields that are changing. For example, to change only the time, omit new_date.

Poll with Step 4 from the new booking workflow.

Step 3 — Update Booking Record

After polling completes and result.status == "confirmed", update the record:

PATCH {base_url}/skill/bookings/{booking_id}
{"status": "cancelled"}          // for cancel
{"booking_time": "2026-04-12 20:00"}  // for reschedule

Important: Booking records are client-managed. The server does NOT auto-update them based on call outcomes — you must call PATCH to write back the confirmed result.


Workflow: Inquiry

For general questions (hours, menu, dress code, parking) — no booking involved.

POST {base_url}/skill/book/phone
{"action": "inquiry", "phone_ref": "<phone_ref from /skill/detail>", "call_plan": {"purpose": "Ask about opening hours and dress code"}}

Poll with Step 4. Answer is in result.summary. No booking record is created.


Other Endpoints

  • Check balance: GET {base_url}/skill/balance
  • Booking history: GET {base_url}/skill/bookings?status=confirmed&limit=10

Edge Cases

  • phone_ref is null: Do NOT call /skill/book/phone. Show phone + booking_url instead.
  • Insufficient points (402): Response includes topup_url — direct user to top up.
  • Phone call fails: Show merchant phone for manual calling. Suggest booking_url if available.
  • No search results: Suggest broadening query or different location.
  • Polling > 5 min: Task likely timed out.

Privacy & Data Handling

This skill sends user-provided data (name, phone number, party size, special requests) to the LifeClaw API (api-v2.lifeclaw.agentese.ai) to perform bookings on the user's behalf. This data is:

  • Used solely to complete the requested booking via phone call or online reservation
  • Not shared with third parties beyond the merchant being called
  • Not used for advertising or profiling
  • Retained only as booking records accessible to the token owner

API tokens are scoped to the creating user and can be revoked at any time via @lifeclaw_ai_bot with /token_revoke <name>.

For questions about data handling, contact: https://t.me/agenteseAI

API Reference

See references/api.md for complete request/response schemas and error codes.

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

88.68%
按下载量换算936

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills