SuperAPI AI 工具集

building-restate-services

智能体与模型

查看项目

更新于 10-16 07:58

技能介绍

Restate 是持久化执行运行时,将处理器每步记录到日志,进程崩溃后可从日志重放并从断点恢复。服务是使用 Restate SDK(TypeScript、Python、Java、Go)编写的普通应用,运行在 Restate Server 之后(单个 Rust 二进制,ingress 端口 8080,管理 UI 端口 9070)。

用途:设计、构建、运行和测试 Restate 持久化服务、虚拟对象、工作流及 AI 智能体。

主要能力与用法:先检测项目 SDK(package.json 含 @restatedev/restate-sdk 为 TypeScript;requirements.txt 或 pyproject.toml 含 restate-sdk 为 Python;pom.xml 或 build.gradle 含 dev.restate 为 Java;go.mod 含 github.com/restatedev/sdk-go 为 Go)。检测到 SDK 后加载对应 api-and-pitfalls.md。按上下文加载设计架构、流控与作用域、从其他编排器迁移、调用生命周期、AI 智能体等参考。可用捆绑的 restate-docs MCP 服务器查测试、部署、Kafka 等;代码示例见 github.com/restatedev/examples 与 github.com/restatedev/ai-examples。

限制:所有副作用、外部 I/O、数据库调用须包在 ctx.run() 中;不得用原生随机、时间、sleep 或 UUID,改用 ctx 助手;并发只用 Restate 组合器;ctx.run() 内不得有 ctx 操作;不可重试失败抛 TerminalError;Python 不得裸 except;虚拟对象避免死锁环。任何处理器逻辑变更须用启用 always-replay 的 Testcontainers 测试覆盖并通过(TypeScript:alwaysReplay: true;Python:always_replay=True;Java/Go:RESTATE_WORKER__INVOKER__INACTIVITY_TIMEOUT=0m)。