vetted

openai/openai-agents-python

Checked 25 h agoAI reviewCommit 1c1a28d
Is it safe?
No red flags
None of our safety checks fired.
Is it real?
Delivers what it claims
6 of 8 README claims fully backed by the code.

What it actually does

Framework

This is the OpenAI Agents SDK for Python, a framework for building LLM agents. It provides an Agent abstraction (instructions, tools, handoffs, guardrails, MCP servers), a Runner loop that calls models and executes tools, and sessions, tracing, realtime/voice, and sandbox subsystems with several sandbox backends. The excerpt shows only part of the large codebase, but what is visible matches the README's description. The static analysis reported no findings.

  • Agent dataclass configuring instructions, tools, handoffs, guardrails, output type, model settings, and tool-use behavior; agents can be wrapped as tools via as_tool()src/agents/agent.py:318-420, 606
  • Runner exposes run, run_sync and run_streamed. They delegate to an AgentRunner that loops over model calls, tool execution, handoffs, guardrails, and max_turnssrc/agents/run.py:279-565, 568-610
  • MCP server integration over stdio, SSE and streamable HTTP, with approval policies, tool filtering and guardrails, and credential-safe error handlingsrc/agents/mcp/server.py:562-610, 306-328
  • Realtime voice agents that use a single shared model per session, with handoffs and output guardrailssrc/agents/realtime/agent.py:27-100
  • Computer-use abstractions (sync and async) and an apply_patch editor protocol; the host implements the actual actionssrc/agents/computer.py:8-134, src/agents/editor.py:34-48
  • Run-error handlers for max_turns, model_refusal and invalid_final_outputsrc/agents/run_error_handlers.py:44-56
  • Demo REPL that loops on stdin input and runs the agent with streaming or non-streaming outputsrc/agents/repl.py:15-77
  • Dynamic prompt resolution for OpenAI stored prompts (id, version, variables)src/agents/prompts.py:23-82
  • Sandbox agents with local, Docker and hosted-provider backends, plus mount security and memory subsystems (visible only in the file tree and test/config files)src/agents/sandbox/*, pyproject.toml optional extras (docker, e2b, modal, etc.)
  • Sensitive-data log suppression, on by default, for model and tool datasrc/agents/_debug.py:12-28

README claims vs the code

Lightweight, powerful framework for multi-agent workflows with handoffs and agents-as-toolsBacked by codeagent.py has handoffs and as_tool; run.py documents the handoff loop (run.py:299-305)
Provider-agnostic: supports the OpenAI Responses and Chat Completions APIs and 100+ other LLMsPartlyResponses and Chat Completions model classes exist, and LiteLLM and any-llm extras are declared in pyproject.toml:46-50. The '100+ LLMs' count depends on those third-party packages.
Built-in guardrails for input and output validationBacked by codeAgent.input_guardrails and output_guardrails (agent.py:373-381); Runner docs describe tripwire exceptions (run.py:307-311)
Sessions provide automatic conversation history managementBacked by codeRunner accepts a session argument and calls prepare_input_with_session (run.py:341, 720-743); several session backends are listed in pyproject.toml extras
Human-in-the-loop mechanismsBacked by codeneeds_approval parameter in Agent.as_tool (agent.py:623); MCP require_approval policy (mcp/server.py:583-587); RunState resume support in run.py
Built-in tracing of agent runsBacked by codeTracing is wired into run.py (imports at lines 174-185, TraceCtxManager use at 594); the src/agents/tracing package is present
Realtime and voice agentsBacked by codeRealtimeAgent (realtime/agent.py) and the voice pipeline modules (voice/pipeline.py) are in the tree
Sandbox agents that work over long time horizons in containersPartlyThe sandbox package and multiple backends exist in the tree. The excerpt does not show the implementation, and long-horizon behavior is not verifiable from it.

Code findings

None of the code checks fired.

Who made it and how it got popular

Nothing unusual in the account, history or stars.

Scanned 1,695 files (1,683 text, 10 binary) at commit 1c1a28d. "No red flags" means none of our checks fired, not that the code is guaranteed safe.

Launch a coin for this repo

Any open-source project that passes Vetted can get a pump.fun coin, and anyone can launch it. 90% of the coin's creator fees are locked to the developer's GitHub account, claimable only by them on pump.fun. 10% goes to Vetted. The split is set once at launch and can't be changed.

Not eligible yet.
  • The origin check hasn't run on this report. Check the repo again.
  • The owner's GitHub account couldn't be read. Check the repo again.

Developers can turn launches off for their repos by adding no-launch to .github/vetted.txt.

Builder's response

The maintainers haven't responded.

Check again

If the repo has new commits, or your level allows a deeper review than this one, a new check runs. Otherwise you'll see this report. Levels