Scaffoldic /
agentforge-py
Production-grade, contracts-first framework for AI agents in Python — vendor-neutral, audit-ready.
67/100 healthLoading repository data…
10xHub / repository
Production-grade framework for building multi-agent AI systems. Graph-based orchestration, LLM-agnostic (OpenAI, Google GenAI, Anthropic), 3-layer memory (Redis cache + Postgres + vector store), live agents, parallel tool execution, and native MCP. Ships a full ecosystem: backend, REST API + CLI, TypeScript SDK, and React playground
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
10xScale Agentflow is a lightweight Python framework for building intelligent agents and orchestrating multi-agent workflows. It's an LLM-agnostic orchestration tool that works with native SDKs from OpenAI, Google Gemini, Anthropic Claude, or any other provider. You choose your LLM library; 10xScale Agentflow provides the workflow orchestration.
This package is the core engine. It ships as part of a complete, end-to-end framework: an API server and CLI, a typed TypeScript/React client, a visual playground, and a full documentation site. Start here, then pick up the rest of the stack as you need it.
Selected from shared topics, language and repository description—not editorial ratings.
Scaffoldic /
Production-grade, contracts-first framework for AI agents in Python — vendor-neutral, audit-ready.
67/100 healthberrettabadger966 /
Build a production-grade multi-agent AI framework for collaborative software development with clean orchestration and repeatable workflows
74/100 healthAgentflow is not just a Python library. It is a full stack for taking a multi-agent system from a prototype to production.
| Package | What it does | Install | Source |
|---|---|---|---|
Core framework10xscale-agentflow | Graph orchestration engine, state and checkpointing, 3-layer memory, parallel tools, MCP, publishers, evaluation | pip install 10xscale-agentflow | agentflow/ |
API server + CLI10xscale-agentflow-cli | Turns a compiled graph into a FastAPI service over REST + WebSocket. JWT auth, RBAC, rate limiting, thread and memory APIs, Docker/K8s build | pip install 10xscale-agentflow-cli | agentflow-api/ |
TypeScript client SDK@10xscale/agentflow-client | Typed client for every endpoint, React streaming hooks, client-side tool execution, realtime audio over WebSocket | npm install @10xscale/agentflow-client | agentflow-client/ |
| Playground | React + Vite UI to chat with your agents, inspect graphs, threads, and state | agentflow play | agentflow-playground/ |
| Documentation | Tutorials, how-to guides, concepts, and API reference | agentflow.10xscale.ai | agentflow-docs/ |
The 60-second path from install to a running service:
pip install 10xscale-agentflow 10xscale-agentflow-cli
agentflow init my-agent && cd my-agent # scaffold a project
agentflow api # REST + WebSocket API on :8000
agentflow play # server + visual playground
content, optional thinking, and usage in a standardized formatAudioAgent)Architecture and scale
Tools and context
Control and safety
Command jumps, and handoff tools between agents.Operations
pip install 10xscale-agentflow # or: uv pip install 10xscale-agentflow
Provider SDKs and infrastructure integrations are optional extras — install only what you use:
| Extra | Adds |
|---|---|
google-genai, openai | Provider SDK adapters |
realtime | Audio-to-audio agents over Gemini Live |
mcp | Model Context Protocol client and tools |
pg_checkpoint, sqlite_checkpoint | Durable checkpointing (Postgres + Redis, or SQLite) |
qdrant, mem0 | Long-term vector memory stores |
redis, kafka, rabbitmq, otel | Event publishers and tracing |
images, cloud-storage | Multimodal media handling and offload |
pip install "10xscale-agentflow[google-genai,openai,mcp,pg_checkpoint]"
Then set your provider key. A .env file in the working directory is loaded automatically.
export GEMINI_API_KEY=... # Google Gemini
export OPENAI_API_KEY=sk-... # OpenAI, or any OpenAI-compatible endpoint
Prebuilt agents are the fastest way in. A complete tool-calling agent:
from agentflow.core.state import Message
from agentflow.prebuilt.agent import ReactAgent
def get_weather(location: str) -> str:
"""Get the current weather for a location."""
return f"The weather in {location} is sunny, 22°C."
app = ReactAgent(
model="gemini/gemini-2.5-flash",
system_prompt=[{"role": "system", "content": "You are a helpful assistant."}],
tools=[get_weather],
).compile()
result = app.invoke(
{"messages": [Message.text_message("What's the weather in Tokyo?")]},
config={"thread_id": "1"},
)
for message in result["messages"]:
print(f"{message.role}: {message.content}")
That is the whole program. Message conversion, the tool loop, and parallel tool execution are handled
for you. Swap ReactAgent for RAGAgent, SwarmAgent, SupervisorTeamAgent, or PlanActReflectAgent
and the shape stays the same.
Stream it — same agent, incremental output:
async for chunk in app.astream(
{"messages": [Message.text_message("What's the weather in Tokyo?")]},
config={"thread_id": "1"},
):
print(chunk.model_dump())
Add MCP tools — pass a fastmcp client; remote tools join your local ones:
from fastmcp import Client
mcp_client = Client({
"mcpServers": {
"weather": {"url": "http://127.0.0.1:8000/mcp", "transport": "streamable-http"},
}
})
app = ReactAgent(
model="gemini/gemini-2.5-flash",
tools=[get_weather],
client=mcp_client,
).compile()
Persist conversations — pass a checkpointer at compile time and reuse the thread_id:
from agentflow.storage.checkpointer import InMemoryCheckpointer # PgCheckpointer in production
app = ReactAgent(model="gemini/gemini-2.5-flash", tools=[get_weather]).compile(
checkpointer=InMemoryCheckpointer(),
)
Prebuilt agents are graphs. When you need custom control flow, build one directly with the same primitives — nodes, conditional edges, and an entry point:
from agentflow.core.graph import Agent, StateGraph, ToolNode
from agentflow.core.state import AgentState, Message
from agentflow.utils.constants import END
graph = StateGraph()
graph.add_node("MAIN", Agent(
model="gemini/gemini-2.5-flash",
system_prompt=[{"role": "system", "content": "You are a helpful assistant."}],
tool_node="TOOL",
))
graph.add_node("TOOL", ToolNode([get_weather]))
def route(state: AgentState) -> str:
if state.context and state.context[-1].tools_calls:
return "TOOL"
return END
graph.add_conditional_edges("MAIN", route, {"TOOL": "TOOL", END: END})
graph.add_edge("TOOL", "MAIN")
graph.set_entry_point("MAIN")
app = graph.compile()
Nodes can be plain functions too, so you can call a provider SDK directly and keep full control over
the request. See examples/react/
for that variant.
Live audio-to-audio sessions over Gemini Live. The provider owns the turn loop, so the session runs
through arealtime: you push into an input queue and consume normalized events.
from agentflow.prebuilt.agent import AudioAgent
from agentflow.core.realtime import LiveInputQueue, RealtimeConfig
app = AudioAgent(
"gemini-live-2.5-flash-preview",
realtime_config=RealtimeConfig(model="gemini-live-2.5-flash-preview", voice="Puck"),
tools=[get_weather],
).compile()
queue = LiveInputQueue()
queue.send_audio(pcm16_bytes) # non-blocking, safe to call from an audio callback
async for event in app.arealtime(queue, {"thread_id": "t1"}):
... # AudioDeltaEvent / transcripts / ToolCallEvent / ...
queue.close()
Barge-in, persisted transcripts (raw audio is never stored), automatic reconnect with session
resumption, and image/video frame input are handled for you. system_prompt, skills, and memory
work as they
TemidireAdesiji /
Production-grade multi-agent AI framework for orchestrating autonomous software engineering teams
56/100 healthnaveenkumarbaskaran /
Production-grade enterprise AI agent framework — PEOS orchestration, 77% token savings, zero error leaks. Built for Monday morning traffic, not weekend demos.
65/100 healthhashwnath /
Production-grade MCP skills package for Microsoft Agent Framework - auto-discovery, connection pooling, rate limiting, and OpenTelemetry observability for enterprise agent deployments
56/100 health