Agentspan
A durable runtime for AI agents — agents survive process crashes and resume automatically from the last completed step.
README documents AES-256-GCM encrypted credential storage, subprocess isolation for tools, and scoped execution tokens that expire — least privilege and sensitive-data handling are supported in text but not verifiable in the provided code, hence not full marks. HITL via approval_required gives durable human confirmation; deducted because isolation strength is unverified. pyproject declares zero dependencies, so dependency security cannot be assessed; external effects (HTTP/MCP/code-executor tools) are richly described but protective defaults are undocumented; rollback covers execution resume only, not side-effect undo; MIT license and copyright are clear.
Self-consistency is weak: README says final PyPI version is 0.2.1 while pyproject says 0.1.0, and the install name is conductor-agent-sdk against repo name agentspan. Dependency availability is supported by multi-language SDKs and Java/C# e2e CI workflows plus an agentspan doctor command; failure surfacing is partly shown via health endpoints and guardrail failure modes, but message quality is not evidenced in source.
Broad coverage: 4 language SDKs, 15+ LLM providers, cron/Kafka/SQS/AMQP/webhook/DB triggers, multiple multi-agent strategies; trigger precision supported by guardrails (4 failure modes) and router strategy; environment fit notes Python>=3.9 and cross-platform install; deducted because capability boundaries (planner failure, quotas, limits) are not explicitly documented.
Good information architecture (docs, API reference, migration guide, example index) and very complete install instructions (macOS/Linux/Windows/source/npm) justifying full marks; but naming stability is poor during the migration (agentspan vs conductor-agent-sdk vs conductor.ai imports); 180+ examples are indexed; known limitations are undocumented; MIT license is complete; final release v0.4.4 stated but no changelog file shown; maintenance responsibility is clear — merged into Orkes Conductor, archived, issue path redirected.
Output usability is served by typed Pydantic outputs, streaming events, and print_result; marginal value lies in server-side durable execution, crash recovery, and cross-process approvals vs in-memory frameworks; cost/benefit claims (token tracking, Prometheus) are asserted without measurement data, hence a deduction.
Claims are traceable to named example files and CI workflows (manual-dispatch e2e exist), but core claims (encryption, sandboxes, auto-resume) cannot be confirmed within provided files; cross-source corroboration is weak due to version/package-name contradictions; fact/inference separation is poor — marketing language and a competitor comparison table are mixed with facts without sources.
- This repository is archived and read-only; new projects should target conductor-oss/conductor using the migration guide.
- The curl | sh remote install script carries supply-chain risk; download and inspect before executing.
- Version and package-name inconsistencies (README 0.2.1 vs pyproject 0.1.0; agentspan vs conductor-agent-sdk) require verification before installing or upgrading.
- Security claims (encryption, sandbox isolation, crash recovery) were not verified by code inspection or execution in this static review.
- The eval(expression) pattern in examples should only be used in controlled environments, never copied to production.
What does this agent do, and when should you use it?
Agentspan (agentspan-ai/agentspan) is a durable runtime for AI agents built on Conductor, using a server-side execution model. The repository contains a Go CLI, a Spring Boot-based Java runtime server, a React visual execution UI, and Python and TypeScript/JavaScript SDKs. Its three pillars are long-running agents, dynamic Plan-Execute agents (whose LLM plans compile into immutable Conductor sub-workflows for deterministic execution), and event-driven agents triggered by cron, Kafka, SQS, AMQP, webhooks, and database events. As of August 17, 2026, Agentspan has merged into Orkes Conductor and this repository is archived read-only, with final release v0.4.4 (final pip release 0.2.1). It is MIT-licensed, supports 15+ LLM providers, and ships 180+ runnable examples.
Developers define tools with the @tool decorator and agents with the Agent class, then submit them as durable server-side executions via AgentRuntime: runtime.run(agent, prompt) returns results, while runtime.start() returns a handle for polling, approval, pausing, or cancelling from any process. The runtime compiles agents into server-side executions where tools run as distributed tasks on workers in any language, with server-side tool types including api_tool() (auto-discovers endpoints from OpenAPI/Swagger/Postman specs), http_tool(), and mcp_tool(). It provides durable human-in-the-loop (@tool(approval_required=True) pauses until approved days later), guardrails (custom, regex, or LLM judges with four failure modes), multi-agent strategies (handoff, sequential, parallel, router, round_robin, swarm, etc.), encrypted credential management (AES-256-GCM at rest on the server), code-execution sandboxes, and Prometheus/OpenTelemetry observability. Start locally with agentspan server start and inspect executions visually at localhost:6767.
- Backend teams needing an agent execution layer that survives worker crashes and runs for hours or days
- Finance or ops scenarios requiring durable human approval on critical actions like fund transfers
- Conductor users combining LLM planning with deterministic workflow orchestration via Plan-Execute
- Unattended agent jobs triggered by cron schedules, Kafka topics, SQS queues, or webhooks
- Teams with existing LangGraph, OpenAI Agents SDK, or Google ADK agents who want crash recovery and execution history without rewrites
- Platform teams exposing existing APIs as agent tools via OpenAPI specs or MCP servers
What are this agent's strengths and limitations?
- True server-side durable execution: after a worker crash the server resumes from the last completed step with no manual replay
- Dynamic Plan-Execute agents compile LLM plans into immutable Conductor sub-workflows, so orchestration, retries, and parallelism have no LLM randomness
- Durable human-in-the-loop: @tool(approval_required=True) can pause for days and be approved from any machine
- Framework compatible: LangGraph, OpenAI Agents SDK, and Google ADK agents can be passed directly to runtime.run() to gain crash recovery and history
- Built-in credential management: AES-256-GCM encrypted server-side storage with scoped, expiring execution tokens — no .env files
- The repository is archived read-only as of August 17, 2026 after merging into Orkes Conductor — issues and contributions are closed here and must go to conductor-oss/conductor
- Core execution depends on a Conductor server runtime, adding deployment overhead beyond local SQLite (production requires Docker or Kubernetes + Helm)
- Existing users must follow the migration guide to change install lines and import paths — a real migration cost
- OpenTelemetry tracing is opt-in via configuration, and documentation is spread across multiple directories of the archived repo
- Deep coupling to the Conductor/Orkes ecosystem means leaving that ecosystem would require re-evaluating the orchestration layer
How do you install or deploy this agent?
Install the CLI: on macOS/Linux run curl -fsSL https://raw.githubusercontent.com/agentspan-ai/agentspan/main/cli/install.sh | sh; on Windows PowerShell run irm https://raw.githubusercontent.com/agentspan-ai/agentspan/main/cli/install.ps1 | iex. Alternatives: npm install -g @agentspan-ai/agentspan, or from source cd cli && go build -o agentspan .. Install SDKs with pip install conductor-agent-sdk (Python), npm install @conductor-oss/conductor-agent-sdk (TypeScript/JavaScript), or dotnet add package conductor-agent-sdk (C#/.NET). Note: the project is archived; the final pip release is 0.2.1, and new users should start with Orkes Conductor.
How do you use this agent?
1) Set a provider key: export OPENAI_API_KEY=sk-... (Anthropic, Gemini, Bedrock, Ollama, and 10+ more are supported); 2) start the server: agentspan server start (runs on localhost:6767, zero config, SQLite); 3) write and run your first agent:
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) Open http://localhost:6767 for the visual execution UI; 5) verify your setup with agentspan doctor.
How does this agent compare with similar options?
The README includes a comparison table against CrewAI, LangChain, AutoGen, and the OpenAI Agents SDK: Agentspan's differentiators are server-side executions, automatic crash recovery, distributed workers in any language, durable human approval that can wait days from any machine, and auto-discovered MCP/server-side tools — whereas CrewAI and AutoGen run in-memory, OpenAI Agents runs a client-side loop, and LangChain relies on a Postgres checkpointer.
FAQ
Can I still use this project?
pip install agentspan still works. Existing agents keep running, but new users should start with the Orkes Conductor agent quickstart, and issues/contributions belong in conductor-oss/conductor.What happens if my process crashes mid-run?
Am I locked into OpenAI?
I already have LangGraph or OpenAI Agents SDK agents — do I rewrite them?
How do I deploy to production?
agentspan server start (SQLite, zero config); single-server deployments use Docker/Docker Compose; production supports Kubernetes + Helm per deployment/README.md.