AgentDeck
Build the agent.Own the runtime.
You write agents and workflows as small Python definitions, and skills as SKILL.md
directories. AgentDeck owns everything around them: project discovery, settings and provider
wiring, tools and MCP servers, sessions, streaming, typed workflows with human approval.
Execution stays in the OpenAI Agents SDK and LangGraph.
A whole agent
# .agentdeck/agents/greeter/agent.py
from agentdeck import Agent
greeter = Agent(name="Greeter", instructions="You are a friendly scheduling assistant. Keep replies to one short sentence.")Nothing registers it — the file’s location is the registration. Run it:
import asyncio
from agentdeck import Deck
async def main() -> None:
async with Deck.from_project() as deck:
result = await deck.run("Greeter", "hello")
print(result.output)
asyncio.run(main())What you did not write
- Registration — drop a file into
.agentdeck/; discovery does the rest. - Provider and runner config — layered settings from env,
.env, andconfig.yaml. - Conversation memory —
deck.run(..., session_id=...)keeps a session across turns and surfaces; setAGENTDECK_SESSIONto keep it across a process restart too. - Streaming —
deck.stream()and an SSE HTTP surface: same agent, no extra code. - Workflow machinery — graph compilation, durability, and human interrupts from a typed state class.
What AgentDeck is not
No YAML or JSON agent DSL — definitions are Python. No auth system, no marketplace, no hosted control plane. It does not reimplement the engines it runs on.