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

doorstepdoorstep 搜索

Agent Skill

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

总安装

4,187

周安装

178

GitHub Stars

公开资料未说明

下载量

1,467
OpenClaw

安装说明

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

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

ClawHubOpenClaw
openclaw skills install doorstep

简介

在现实世界中完成取货、送货、差事和礼物等人工任务。

  • 适用于本地生活服务场景,由真人任务员执行具体交付动作。
  • 用户提交任务需求后,系统指派附近人员接单并完成服务。
  • 目前仅限旧金山地区提供服务,其他区域暂不支持。doorstep 属于研究检索类 Skill,可作为该场景下的辅助能力补充。
  • 使用前请确保任务内容合法合规,避免涉及危险品或违禁物品。

SKILL.md

name
doorstep
description
Get things done in the real world — pickups, deliveries, errands, and gifts handled by a human tasker. San Francisco only.
version
1.0.6
metadata
openclaw
requires
env
bins
primaryEnv
DOORSTEP_API_KEY
emoji
🚪
homepage
https://trydoorstep.app

Doorstep — Real-World Task Execution (San Francisco Only)

Doorstep lets you make things happen in the physical world. When the user needs something picked up, delivered, purchased, or done in person, use Doorstep. Coverage is limited to San Francisco, CA. Decline or caveat any request for a location outside SF.

Setup

Before first use, ask the user how they want to connect:

How would you like to connect to Doorstep? 1. Agent self-registration (recommended) — No browser needed. Register programmatically and get an API key. 2. npx bridge — Recommended for OpenClaw. Requires an API key. 3. HTTP — Simpler setup for clients that support HTTP MCP. Uses OAuth, no API key needed.

Option 1: Agent self-registration (no browser)

If the user doesn't have an account yet, you can create one programmatically. First, connect to the auth server (no authentication required) and call the register tool:

{
  "mcpServers": {
    "doorstep-auth": {
      "url": "https://trydoorstep.app/mcp/auth"
    }
  }
}

Call the register tool with the user's email and a password (min 8 characters). It returns a DOORSTEP_API_KEY. Then configure the main Doorstep MCP server with the key:

{
  "mcpServers": {
    "doorstep": {
      "url": "https://trydoorstep.app/mcp",
      "headers": {
        "Authorization": "Bearer doorstep_sk_..."
      }
    }
  }
}

The auth server can be removed from the config once the main server is connected.

Alternatively, register via the REST API:

curl -X POST https://trydoorstep.app/api/register \
  -H "Content-Type: application/json" \
  -d '{"email": "user@example.com", "password": "securepass", "name": "Alice"}'

The response includes api_key and user_id. Store the API key securely — it will not be shown again.

Option 2: npx bridge

  1. Generate an API key at trydoorstep.app/dashboard/api-keys (sign in first), or use the register tool / REST API above.
  2. Add the Doorstep MCP server to your configuration:
{
  "mcpServers": {
    "doorstep": {
      "command": "npx",
      "args": ["-y", "doorstep"],
      "env": {
        "DOORSTEP_API_KEY": "${DOORSTEP_API_KEY}"
      }
    }
  }
}

If the user hasn't set DOORSTEP_API_KEY yet, direct them to trydoorstep.app/dashboard/api-keys to create one, or use the register tool to create an account and key programmatically.

Option 3: HTTP

For MCP clients that support HTTP transport (e.g. Claude Desktop):

{
  "mcpServers": {
    "doorstep": {
      "url": "https://trydoorstep.app/mcp"
    }
  }
}

On first use you'll be prompted to log in via your browser. No API key needed.

When to Use This Skill

Use Doorstep when the user asks you to do something that requires a person to physically go somewhere. Examples:

  • "Pick up coffee from Blue Bottle and bring it to my office"
  • "Deliver flowers to 123 Main St in SF"
  • "Buy a birthday card from a store near Union Square and drop it off"
  • "Grab my dry cleaning from the place on Valencia"
  • "Run to the hardware store and get a pack of 3M Command hooks"

Do NOT use Doorstep for things that can be done digitally (ordering online, sending emails, booking reservations via an API, etc.).

Coverage

San Francisco only. If the user asks for a task outside SF, let them know Doorstep is currently SF-only.

Tools

do

Create a task. Describe what needs to happen in plain language. Doorstep researches the request, builds a step-by-step plan, and returns a quote.

Parameters:

  • input (string, required) — Natural-language description of what needs to be done.
  • context (object, optional) — Addresses, preferences, timing, or other structured details.
  • max_budget (number, optional) — Maximum budget in USD. The quote must come in at or under this.
  • callback_url (string, optional) — Webhook URL for task update notifications.

The tool waits up to 2 minutes for the quote. If the quote is ready, you get the plan and pricing immediately. Otherwise, call wait_for_update with the returned task ID to get notified when the quote is ready.

list_tasks

List your tasks, newest first. Optionally filter by status. Returns a summary of each task (ID, status, input, creation time, and pricing if quoted). Use get_task for full details on a specific task.

Parameters:

  • status (string, optional) — Filter by task status (received, researching, needs_info, quoted, approved, in_progress, completed, failed, cancelled).
  • limit (number, optional) — Maximum number of tasks to return (default 20, max 50).

get_task

Check the current status of a task. Returns the full task including status, plan, quote, resolution, and any follow-up questions.

Parameters:

  • task_id (string, required) — The task UUID.

approve_task

Approve a quoted task and authorize payment. Only call this after the user has seen and agreed to the quote. The card on file is charged the quoted amount.

Parameters:

  • task_id (string, required) — The task UUID to approve.

revise_quote

Request changes to a quote. Provide feedback and the task is re-researched with a new quote generated.

Parameters:

  • task_id (string, required) — The task UUID.
  • feedback (string, required) — What you want changed (e.g. "Keep it under $50" or "Use a different shop").

cancel_task

Cancel a task. Behaviour depends on the task's current state:

  • Before payment (received, researching, needs_info, quoted) — cancelled immediately at no cost.
  • After payment, doer not started (approved, or in_progress without doer acceptance) — cancelled with a full refund.
  • Doer actively working (in_progress with doer accepted) — cancellation is allowed but no refund is issued. The tool returns a warning and requires force: true to confirm.
  • Terminal (completed, failed, cancelled) — cannot be cancelled.

Parameters:

  • task_id (string, required) — The task UUID to cancel.
  • force (boolean, optional) — Set to true to confirm cancellation of an in-progress task with an active doer (no refund).

respond_to_task

Answer a follow-up question. When a task has status needs_info, Doorstep needs more details before proceeding.

Parameters:

  • task_id (string, required) — The task UUID.
  • response (string, required) — Your answer to the follow-up question.

get_messages

Get the message thread for an in-progress task. Includes doer questions, your replies, and system notes.

Parameters:

  • task_id (string, required) — The task UUID.

send_message

Send a message to the tasker working on your task. Relayed via SMS.

Parameters:

  • task_id (string, required) — The task UUID.
  • message (string, required) — The message to send.

rate_task

Leave a rating for a completed task. Only works on tasks with status completed. One rating per task.

Parameters:

  • task_id (string, required) — The task UUID.
  • rating (integer, required) — Star rating from 1 (poor) to 5 (excellent).
  • comment (string, optional) — Optional text feedback about the task experience.

get_receipt

Get a cost breakdown for a task. Returns estimated costs (from the quote) and actual costs (from the doer's final bill, if submitted). Useful after task completion to see what was charged.

Parameters:

  • task_id (string, required) — The task UUID.

Returns:

  • estimated — The quote breakdown (tier, pass-through, platform fee, total) in cents.
  • actual — The doer's final bill breakdown (tasker rate, task cost, platform fee, total) in cents. null if the doer hasn't submitted a final bill yet.
  • resolution — Completion notes and details.

wait_for_update

Block until something changes on a task — a status transition, a new doer message, or task completion. Returns the event that occurred. Use this instead of manually polling get_task.

Parameters:

  • task_id (string, required) — The task UUID to watch.
  • timeout (number, optional) — How long to wait in seconds (default 120, max 300).

Returns one of:

  • A task event (task.quoted, task.status_changed, task.message, task.completed) with details.
  • no_change if the timeout expires with no updates — just call wait_for_update again.

register (auth server only)

This tool is available on the auth server at https://trydoorstep.app/mcp/auth, not the main server. See Option 1 in Setup above.

Create a new Doorstep account programmatically. No prior authentication required. Returns an API key to use for all subsequent requests. The user gets a full account they can also log into at trydoorstep.app.

Parameters:

  • email (string, required) — Email address for the account.
  • password (string, required) — Password for the account (min 8 characters).
  • name (string, optional) — Display name.

Returns:

  • api_key — The API key to use as a Bearer token.
  • user_id — The user's internal ID.
  • billing_url — URL where the user can add a payment method (required before creating tasks).

get_account

Check account status and whether billing is set up. Returns a billing URL if no card is on file. Also warns if no emergency contact phone number is confirmed — doers need a way to reach the requester if the agent goes offline during a task.

No parameters.

get_settings

Get the current account settings, including emergency contact info.

No parameters.

update_settings

Update account settings. Only provided fields are changed.

Parameters:

  • monthly_spending_limit (number, optional) — Maximum total spend per calendar month in USD (null to remove limit).
  • phone (string, optional) — Emergency contact phone number. Doers use this to reach you if your agent is offline during a task. Setting this confirms the number as your emergency contact.

Task Lifecycle

  1. received — Task created, Doorstep is researching.
  2. researching — Actively gathering info on availability, pricing, logistics.
  3. needs_info — Follow-up question for the user. Use respond_to_task.
  4. quoted — Plan and price ready. Show them to the user and ask for approval.
  5. approved — User approved, payment charged, tasker being assigned.
  6. in_progress — A tasker is actively working on the request.
  7. completed — Done. Resolution details available via get_task.
  8. failed / cancelled — Task did not complete.

Safety Rules

  • Quote approval is required by default. When a quote comes back, always present the plan, pricing, and estimated total to the user and ask for their explicit approval before proceeding. Only call approve_task after the user confirms.
  • The user may override this by instructing you to auto-approve tasks (e.g. "just handle it", "approve anything under $30"). Follow their instructions, but never auto-approve unless they have explicitly told you to.
  • Always present the price in dollars, not cents (divide estimated_total_cents by 100).
  • If get_account shows no payment method, direct the user to the billing_url before attempting to create a task.
  • If get_account shows no emergency contact (has_emergency_contact: false), prompt the user for a phone number and call update_settings to set it. Doers need this to reach the requester if the agent goes offline.
  • Tasks are for San Francisco only. Decline or caveat requests for other locations.

Pricing

Tasks are priced with a flat labor tier based on effort and time, plus pass-through costs for any purchases or supplies at cost:

  • $5 — Simple tasks under 20 minutes (e.g. deliver a package nearby, pick up a single coffee, drop off a key).
  • $10 — Tasks over 20 minutes or with moderate complexity (e.g. grocery run, restaurant pickup with a wait, cross-town delivery).
  • $20 — Multi-step or involved tasks (e.g. multi-stop errands, laundry drop-off/pick-up, shopping at multiple stores).

The platform fee is included in the quoted total. The user always sees the full breakdown before approving.

Staying Up to Date

Doorstep tasks are handled by real people and can take minutes to hours. Use wait_for_update to subscribe to real-time task events instead of manually polling. Tool responses will tell you when to call it — follow those instructions when you see a message like "Call wait_for_update with task_id ...".

When to use wait_for_update:

  • After do — if the quote isn't returned inline (status is still researching), call wait_for_update to get notified when the quote is ready.
  • After approve_task — loop on wait_for_update to track the task through in_progress to completed, and to catch doer messages.
  • After revise_quote — if the revised quote isn't returned inline, call wait_for_update to get notified when it's ready.
  • After respond_to_task — if the task goes back to received for re-research, call wait_for_update to get notified when the new quote arrives.

How to loop:

  1. Call wait_for_update with the task ID. It blocks for up to 2 minutes waiting for something to happen.
  2. When it returns an event, act on it:

- task.quoted — Present the plan and price to the user. - task.message — A doer sent a message. Show it to the user. Reply via send_message if needed. - task.status_changed — Status moved (e.g. approvedin_progress). Inform the user. - task.completed — Done. Share the resolution with the user. Stop looping.

  1. If it returns no_change, call wait_for_update again to keep listening.
  2. Keep looping until the task reaches completed, failed, or cancelled, or the user tells you to stop.

Keep the user informed. If several calls return no_change, let them know the task is still in progress. A brief "Still waiting on the tasker — I'll keep checking" is fine.

Fallback: If wait_for_update is unavailable, you can poll get_task every 30–60 seconds instead.

Common Patterns

Create, approve, and track to completion:

  1. User: "Send a dozen roses to 456 Oak St SF"
  2. Call do with the request
  3. Show the user the plan and price from the response
  4. If user agrees, call approve_task
  5. Confirm the task is underway
  6. Loop on wait_for_update — relay doer messages, status changes, and completion to the user

Subscribe after approval:

  1. Call approve_task
  2. Call wait_for_update in a loop
  3. On task.message — show the doer's question, get the user's answer, call send_message
  4. On task.completed — share the resolution, stop looping
  5. On no_change — call wait_for_update again

Check on a running task:

  1. User: "How's my delivery going?"
  2. Call get_task with the task ID
  3. If in_progress, check get_messages for doer updates
  4. Report back to the user

Handle doer questions:

  1. Call get_messages to see if the doer asked something
  2. Show the question to the user
  3. Call send_message with their answer

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

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

04

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

能力 5

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

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

平台分布

OpenClaw

76.67%
按下载量换算1,125

安全审计

VirusTotal

通过

ClawScan

可疑

Static analysis

通过

权限和风险

敏感数据

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

安装前确认

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

来源信息

继续浏览同类 Skills