Agentspan
面向 AI 智能体的持久化运行时,进程崩溃后智能体仍可从上一个已完成步骤自动恢复执行。
README 显示凭证以 AES-256-GCM 加密存储、工具可在隔离子进程中运行、worker 通过随执行过期的 scope token 解析凭证,最小权限与敏感数据处理有文档支撑但未见代码验证;HITL approval_required 提供持久人工确认,扣分点:无法确认隔离实现的强度。依赖声明几乎为空(pyproject 零依赖),无法评估依赖安全性;对外部副作用(HTTP 工具、MCP、代码执行器)描述丰富但缺少防护默认值说明;回滚仅指执行恢复,不涉及外部操作回滚;MIT 许可与版权声明清晰。
自洽性差:README 称 PyPI 最终版 0.2.1,pyproject 标 0.1.0,安装名已是 conductor-agent-sdk 而仓库名仍是 agentspan,存在版本/命名矛盾;依赖可用性方面多语言 SDK 与 CI 工作流(Java/C# e2e)存在,agentspan doctor 提供诊断;失败信息方面有健康检查端点与 guardrail 失败模式,但错误消息质量未在源码中体现。
面向多语言(Python/TS/C#/Java)、15+ LLM 提供商、cron/Kafka/SQS/webhook 等多种触发源,场景覆盖广;触发精度有 guardrail(4 种失败模式)与 router 策略支撑;环境适配注明 Python>=3.9 与多平台安装;扣分点:能力边界(如规划失败、配额上限)未明确说明。
信息架构良好(docs、API reference、migration guide、示例目录);安装说明非常完整(macOS/Linux/Windows/源码/npm),值得满分;但命名稳定性差:包名 agentspan→conductor-agent-sdk、导入路径 conductor.ai 与仓库名不一致,迁移期混乱;180+ 示例目录已列明;已知局限性未文档化;MIT 许可完整;版本与发布说明存在(v0.4.4)但 changelog 未展示;维护责任明确——已并入 Orkes Conductor、仓库归档、issue 转移路径清晰。
输出可用性方面提供结构化输出(Pydantic)、流式事件、print_result;边际价值在于服务端持久执行、崩溃恢复与跨进程审批,与传统内存框架形成差异;成本收益方面有 token 追踪与 Prometheus 指标,但成本量化与性能数据仅是声明,未见实证,扣 1 分。
声明可追溯到示例文件与 CI 工作流(e2e 手动触发工作流存在),但多数能力声明(加密、沙箱、自动恢复)无法在提供的文件内核实;跨源印证弱:README 与 pyproject 的版本、包名相互矛盾;事实与推断未分离——对比表与营销性语言('don't die'、'60 seconds')与事实混排,竞品对比无来源。
- 本仓库已归档,仅供只读;新项目应使用 conductor-oss/conductor 及迁移指南。
- curl | sh 远程安装脚本存在供应链风险,建议下载后审查再执行。
- README 与 pyproject 的版本号(0.2.1 vs 0.1.0)及包名不一致,安装与升级前需核对实际 PyPI 包。
- 加密、沙箱隔离、崩溃恢复等安全声明未在本次静态审查中经代码或执行验证。
- 示例中的 eval(expression) 模式应仅用于受控环境,切勿在生产中照搬。
这个 Agent 能做什么,适合哪些场景?
Agentspan(agentspan-ai/agentspan)是一个构建于 Conductor 之上的 AI 智能体持久化运行时,采用服务端执行模型。项目包含 Go 编写的 CLI、基于 Spring Boot 的 Java 运行时服务器、React 可视化执行 UI,以及 Python 与 TypeScript/JavaScript SDK。核心能力包括长时间运行、Plan-Execute 动态智能体(计划被编译为不可变 Conductor 子工作流以确定性执行)和事件驱动智能体(cron、Kafka、SQS、AMQP、webhook、数据库事件)。2026 年 8 月 17 日起,Agentspan 已合并入 Orkes Conductor,本仓库归档为只读,最终版本为 v0.4.4(pip 包最终版本 0.2.1)。项目以 MIT 许可证开源,支持 15+ 家 LLM 提供商,并提供 180+ 可运行示例。
开发者用 @tool 装饰器定义工具、用 Agent 类定义智能体,再通过 AgentRuntime 将其提交为服务端持久化执行:runtime.run(agent, prompt) 返回结果,runtime.start() 返回句柄用于轮询、审批、暂停或取消。运行时将智能体编译为服务端执行,工具以分布式任务形式在任意语言的 worker 上运行,支持 api_tool()(从 OpenAPI/Swagger 自动发现端点)、http_tool() 和 mcp_tool() 等服务端工具。支持 human-in-the-loop(@tool(approval_required=True) 持久暂停审批)、guardrails(自定义/正则/LLM 判定,四种失败模式)、多智能体策略(handoff、sequential、parallel、router、round_robin、swarm 等)、凭证管理(服务端 AES-256-GCM 加密存储)、代码执行沙箱和 Prometheus/OpenTelemetry 可观测性。可通过 agentspan server start 启动本地服务器并在 localhost:6767 查看可视化执行 UI。
- 后端团队需要一个跨进程崩溃可自动恢复、可运行数小时甚至数天的智能体执行层
- 需要在关键操作(如资金转账)上加入持久化人工审批的金融或运维场景
- 已使用 Conductor 的团队希望用 Plan-Execute 模式把 LLM 规划与确定性工作流编排结合
- 需要由 cron、Kafka 或 SQS 等事件源触发的无人值守智能体任务
- 已有 LangGraph、OpenAI Agents SDK 或 Google ADK 智能体,希望获得崩溃恢复与执行历史的团队
- 希望用 OpenAPI 规范或 MCP 服务器快速接入现有 API 作为智能体工具的平台工程团队
这个 Agent 有哪些优点和局限?
- 真正的服务端持久化执行:worker 进程崩溃后服务器从最后一个已完成步骤自动恢复,无需手动重放
- 动态智能体(Plan-Execute)将 LLM 计划编译为不可变 Conductor 子工作流,编排、重试与并行无 LLM 随机性
- 持久化 human-in-the-loop:@tool(approval_required=True) 可暂停数天,从任意机器审批
- 兼容现有框架:LangGraph、OpenAI Agents SDK、Google ADK 智能体可直接传入 runtime.run() 获得执行层能力
- 凭证管理内建:服务端 AES-256-GCM 加密存储,工具通过过期执行令牌自动解析,无需 .env 文件
- 项目已于 2026 年 8 月 17 日归档并入 Orkes Conductor,不再接受 issue 或贡献,新功能应到 conductor-oss/conductor 跟进
- 核心执行依赖 Conductor 服务器运行时,需要额外运维本地或生产部署(SQLite 仅限本地开发,生产需 Docker/Kubernetes+Helm)
- 现有用户需要按迁移指南修改安装行与导入路径,存在迁移成本
- 高级功能如 OpenTelemetry 需通过配置显式开启,且文档细节分布在归档仓库的多个目录中
- 深度绑定 Conductor/Orkes 生态,若未来脱离该生态需要重新评估编排层
如何安装或部署这个 Agent?
安装 CLI:macOS/Linux 运行 curl -fsSL https://raw.githubusercontent.com/agentspan-ai/agentspan/main/cli/install.sh | sh;Windows PowerShell 运行 irm https://raw.githubusercontent.com/agentspan-ai/agentspan/main/cli/install.ps1 | iex。也可通过 npm install -g @agentspan-ai/agentspan 或从源码 cd cli && go build -o agentspan . 安装。安装 SDK:pip install conductor-agent-sdk(Python)、npm install @conductor-oss/conductor-agent-sdk(TypeScript/JavaScript)、dotnet add package conductor-agent-sdk(C#/.NET)。注意:项目已归档,pip 包最终版本为 0.2.1,新用户建议改用 Orkes Conductor。
如何使用这个 Agent?
1) 设置 LLM 密钥:export OPENAI_API_KEY=sk-...(也支持 Anthropic、Gemini、Bedrock、Ollama 等 15+ 提供商);2) 启动服务器:agentspan server start(本地运行于 localhost:6767,零配置,使用 SQLite);3) 编写并运行第一个智能体:
python
from conductor.ai.agents import Agent, AgentRuntime, tool@tool
def get_weather(city: str) -> str:
return f"72F and sunny in {city}"agent = Agent(name="weatherbot", model="openai/gpt-4o", tools=[get_weather])with AgentRuntime() as runtime:
result = runtime.run(agent, "What's the weather in NYC?")
result.print_result()4) 打开 http://localhost:6767 查看可视化执行界面;5) 用 agentspan doctor 检查环境依赖。
这个 Agent 与同类方案有什么区别?
README 自带与 CrewAI、LangChain、AutoGen、OpenAI Agents SDK 的对比表:Agentspan 的差异点在于服务端执行模型、自动崩溃恢复、任意语言分布式 worker、可跨机器持续数天的持久化人工审批、以及自动发现的 MCP/服务端工具;而 CrewAI 与 AutoGen 为内存执行、OpenAI Agents 为客户端循环、LangChain 依赖 Postgres checkpointer。
常见问题
项目还能用吗?
进程崩溃后我的智能体会怎样?
必须使用 OpenAI 吗?
已有的 LangGraph 或 OpenAI Agents SDK 智能体怎么办?
如何部署到生产环境?
agentspan server start(SQLite、零配置);单服务器可用 Docker/Docker Compose;生产环境支持 Kubernetes + Helm,详见 deployment/README.md。