Token导航 LogoToken导航TokenDH.com
研究检索external-serviceunknown未标认证来源可访问许可证需确认审计未展示

restatedevrestatedev 搜索

Agent Skill

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

总安装

1,423

周安装

75

下载量

845
Local Agent

安装说明

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

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

复制命令到本机终端执行。当前暂无明确安装命令,请以来源页面说明为准。

简介

用于查找和筛选相关信息。restatedev 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

  • 支持关键词搜索和任务场景匹配。
  • 可结合来源仓库核验具体内容。
  • 需确认权限范围和检索限制。适用宿主包括 Local Agent,接入前应确认版本、权限和运行环境要求。
  • 适合快速定位候选结果和信息筛选。

SKILL.md

Restate Skill Reference

Product summary

Restate is a lightweight runtime that makes AI agents, workflows, and backend services durable and resilient. It automatically handles failure recovery, state persistence, and reliable communication between services without requiring you to write retry logic or manage external state stores.

Key files and commands:

  • Services run on any platform (Kubernetes, Lambda, Vercel, Docker, etc.) and embed the Restate SDK
  • Restate Server is a single binary (restate-server) that sits in front of your services
  • CLI: restate deployments register <endpoint> to register services
  • UI: Available at http://localhost:9070 for monitoring and testing
  • Ingress endpoint: http://localhost:8080 for invoking handlers
  • SDKs: TypeScript, Java/Kotlin, Python, Go, Rust

Primary docs: https://docs.restate.dev

When to use

Reach for Restate when you need to:

  • Build AI agents that survive crashes, API rate limits, and network failures without losing progress
  • Orchestrate workflows with multi-step processes, approvals, human input, or external events
  • Coordinate microservices with automatic retries, exactly-once semantics, and resilient communication
  • Process events from Kafka with exactly-once guarantees and built-in state management
  • Manage stateful entities (user accounts, shopping carts, chat sessions, state machines) with strong consistency
  • Run long-running operations on serverless platforms (Lambda, Vercel) without paying for idle time

Do NOT use Restate for:

  • Simple CRUD APIs without failure recovery needs
  • Stateless request-response services that don't need durability
  • Real-time systems requiring sub-millisecond latency

Quick reference

Service types

TypeUse caseStateConcurrency
Basic ServiceStateless handlers, ETL, sagas, background jobsNoneUnlimited parallel
Virtual ObjectUser accounts, shopping carts, agents, state machinesK/V store per keySingle writer per key + concurrent readers
WorkflowMulti-step processes, approvals, onboardingK/V store per IDSingle run handler + concurrent signals

Context actions (available in handlers)

ActionPurposeExample
ctx.run()Wrap non-deterministic operations (API calls, DB writes)await ctx.run("fetch", () => fetchData())
ctx.get() / ctx.set()Read/write persistent state (Objects/Workflows only)await ctx.get("cart")
ctx.serviceClient()Call another service synchronouslyawait ctx.serviceClient(UserService).getProfile()
ctx.serviceSendClient()Fire-and-forget call to another servicectx.serviceSendClient(NotificationService).sendEmail(...)
ctx.sleep()Pause execution durablyawait ctx.sleep({minutes: 5})
ctx.promise()Wait for external event (Workflows only)await ctx.promise("payment-completed").value()

CLI commands

# Register a service endpoint
restate deployments register http://localhost:9080
restate deployments register --force http://localhost:9080  # During development

# List registered deployments
restate deployments list

# Manage invocations
restate invocations list
restate invocations cancel <INVOCATION_ID>
restate invocations kill <INVOCATION_ID>

# Describe a service
restate deployment describe <DEPLOYMENT_ID>

HTTP invocation patterns

# Invoke a Basic Service handler
curl localhost:8080/MyService/myHandler --json '{"key": "value"}'

# Invoke a Virtual Object handler
curl localhost:8080/MyObject/objectKey/myHandler --json '{"key": "value"}'

# Invoke a Workflow
curl localhost:8080/MyWorkflow/workflowId/run --json '{"key": "value"}'

# Send without waiting for response
curl localhost:8080/MyService/myHandler/send --json '{"key": "value"}'

# With idempotency key
curl localhost:8080/MyService/myHandler \
  -H 'idempotency-key: unique-key-123' \
  --json '{"key": "value"}'

# With delay
curl "localhost:8080/MyService/myHandler/send?delay=10s" --json '{"key": "value"}'

Decision guidance

When to use each service type

ScenarioService TypeWhy
API endpoint, background job, ETL pipelineBasic ServiceStateless, unlimited concurrency, simple
User account, shopping cart, chat sessionVirtual ObjectNeeds persistent state, single-writer consistency
Multi-step approval flow, onboardingWorkflowNeeds interaction, signals, exactly-once per ID
Long-running agent with tool callsVirtual Object or WorkflowState for context/memory, durable execution

When to use request-response vs fire-and-forget

ScenarioPatternWhy
Need the result immediatelyctx.serviceClient()Synchronous, waits for response
Background task, notificationctx.serviceSendClient()Async, returns immediately, retried automatically
Scheduled taskctx.serviceSendClient(..., sendOpts({delay:...}))Delayed execution, survives restarts

When to use state in Restate vs external database

ScenarioRestate StateExternal DB
Session state, agent context, temporary data
Frequently accessed, small (<1MB)
Shared across multiple services
Complex queries, analytics
Long-term archival

Workflow

Typical task: Build a durable service

  1. Understand the requirements

- Identify if you need state (Virtual Object/Workflow) or stateless execution (Basic Service) - Determine failure modes: API timeouts, crashes, duplicate requests - Check if you need human interaction or external events

  1. Check existing services

- Search the codebase for similar patterns - Review registered services in the UI (http://localhost:9070) - Verify service names don't conflict

  1. Write the handler

- Wrap all non-deterministic operations in ctx.run() - Use ctx.get()/ctx.set() for state in Objects/Workflows - Use ctx.serviceClient() for synchronous calls, ctx.serviceSendClient() for async - Use ctx.sleep() for delays, ctx.promise() for external events (Workflows only)

  1. Deploy and register

- Start your service on a port (e.g., 9080) - Register with Restate: restate deployments register http://localhost:9080 - During development, use --force flag to re-register after code changes

  1. Test and monitor

- Use the Restate UI playground to invoke handlers - Monitor invocations in the UI for failures and retries - Check logs for non-determinism errors during development

  1. Verify before shipping

- Confirm all external operations are wrapped in ctx.run() - Check state access is only in Objects/Workflows - Verify retry policy is appropriate for your use case - Test failure scenarios (service crash, API timeout)

Common gotchas

  • Non-determinism errors: All non-deterministic operations (API calls, random numbers, timestamps, DB writes) must be wrapped in ctx.run(). Restate replays these on retry and expects the same result.
  • State only in Objects/Workflows: Basic Services cannot use ctx.get()/ctx.set(). Use Virtual Objects or Workflows if you need persistent state.
  • Workflow run handler executes once per ID: You cannot re-invoke the same workflow ID. Use signals or shared handlers to interact with a running workflow.
  • Idempotency key retention: Idempotency keys are retained for 24 hours by default. After that, duplicate requests will re-execute. Adjust with idempotencyRetention config.
  • Service registration is immutable: Once registered, a deployment is immutable. Deploy new code to a new endpoint and register it separately. Restate routes new requests to the latest version.
  • Lazy state on Lambda: By default, state is eagerly loaded. On Lambda, enable lazy state (enableLazyState: true) to avoid large payloads, but be aware it may cause replays.
  • Timeout configuration: Default inactivity timeout is 1 minute. For long-running operations (LLM calls, external APIs), increase inactivityTimeout and abortTimeout.
  • Kafka key must be UTF-8: When invoking Virtual Objects or Workflows via Kafka, the message key determines the object key/workflow ID and must be valid UTF-8.
  • Promises are workflow-only: ctx.promise() is only available in Workflows. Use awakeables in Basic Services/Objects for similar patterns.
  • State cleared after workflow retention: Workflow state is cleared after the retention period (default 24 hours). Increase workflowRetention if you need longer access.

Verification checklist

Before submitting work:

  • All external operations (API calls, DB writes, random values) are wrapped in ctx.run()
  • State access (ctx.get(), ctx.set()) is only in Virtual Objects or Workflows
  • Service is registered with Restate: restate deployments register <endpoint>
  • Handlers have appropriate timeout configuration for long-running operations
  • Retry policy is configured (default infinite retries with exponential backoff)
  • Idempotency keys are used for critical operations
  • Service-to-service calls use typed clients or HTTP with proper error handling
  • Workflow signals/promises are used correctly for external events
  • No hardcoded timestamps, random values, or non-deterministic logic outside ctx.run()
  • Tested failure scenarios: service crash, API timeout, duplicate requests

Resources

Comprehensive navigation: https://docs.restate.dev/llms.txt

Critical documentation:

  • Key Concepts — Durable execution, state, communication
  • Services — Service types and when to use each
  • Actions — Context methods for handlers

For additional documentation and navigation, see: https://docs.restate.dev/llms.txt

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

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

平台分布

Local Agent

96.34%
按下载量换算814

安全审计

暂无安全审计结果可展示。

权限和风险

external-service

该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

安装前确认

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

来源信息

继续浏览同类 Skills