Skip to content

cjy926/AgentForge

Repository files navigation

Agent SDK

Agent SDK is a layered Python framework for building agentic applications with shared abstractions for agents, orchestration, tools, skills, memory, protocols, and IO.

Current Scope

  • agent_sdk is the actively documented and supported base package in this repository.
  • Public documentation lives in docs/ and is written in English.
  • agent-sdk-pro/ is the separate optional extension package for advanced search, team, and browser-runtime features. The public docs in this snapshot remain centered on agent_sdk.
  • ACP is not part of the current source tree and is not a supported protocol surface.

Highlights

  • Multiple agent implementations: ReactiveAgent, PlanExecuteAgent, ToolCallingAgent, StateAgent
  • Nine orchestration patterns with middleware and registry support
  • Provider abstraction for OpenAI, Anthropic, Gemini, local backends, LiteLLM, routing, and fallback
  • Tool and sandbox capability layers with provider adapters and built-in tools
  • Skills lifecycle built around discovery, activation, runtime execution, and structured activate_skill
  • Session memory, semantic retrieval, and provider-facing context assembly
  • Protocol support for A2A and MCP
  • Unified IO contracts shared across agents, providers, memory, and protocols

Installation

Install the base package:

pip install agent-sdk

Install with selected extras:

pip install "agent-sdk[openai]"
pip install "agent-sdk[a2a-server]"
pip install "agent-sdk[chroma]"
pip install "agent-sdk[playwright]"
pip install "agent-sdk[pro]"

Install the optional pro distribution directly:

pip install agent-sdk-pro

Install everything exposed by the current base SDK:

pip install "agent-sdk[all]"

See the full extras matrix in docs/getting-started/installation.md.

Quick Start

import asyncio
import os

from agent_sdk.core.agent import AgentConfig, ReactiveAgent
from agent_sdk.core.providers import OpenAIProvider, ProviderConfig


async def main() -> None:
    provider = OpenAIProvider(
        ProviderConfig(
            api_key=os.environ["OPENAI_API_KEY"],
            default_model=os.environ["OPENAI_MODEL"],
        )
    )
    agent = ReactiveAgent(
        AgentConfig(
            name="assistant",
            system_prompt="You are a concise and helpful assistant.",
        ),
        provider,
    )

    result = await agent.run("Summarize what this SDK is for in one sentence.")
    print(result.output)


asyncio.run(main())

For a fuller walkthrough, see docs/getting-started/quickstart.md.

Documentation Map

Development

Set up a local development environment:

uv pip install -e ".[dev]"

To work on the optional pro package from this repository as well:

uv pip install -e ./agent-sdk-pro

Useful validation commands:

python3 tools/dependency_audit.py --fail-on-issues
python3 -m compileall agent-sdk/src/agent_sdk
env UV_CACHE_DIR=/tmp/uv-cache uv run --no-sync pytest tests/unit --no-cov -q
env UV_CACHE_DIR=/tmp/uv-cache uv run --no-sync ruff check agent-sdk/src tests --select F821
env UV_CACHE_DIR=/tmp/uv-cache uv run --no-sync python tools/check_docs.py
env UV_CACHE_DIR=/tmp/uv-cache uv run --no-sync mkdocs build --strict

Repository Truth

For repository-operating guidance, caveats, and the current truth-source order, see AGENTS.md.

License

MIT

AgentForge

Personal Agent SDK is a modular framework for creating customized AI agents. It provides the core architecture for defining agent behavior, connecting tools and skills, managing memory, and orchestrating workflows, making it easier for individuals to design agents tailored to their own needs.

2c79afe40b87399d7d5d83e1bdc44c0527a1f3a9

About

Personal Agent SDK is a modular framework for creating customized AI agents. It provides the core architecture for defining agent behavior, connecting tools and skills, managing memory, and orchestrating workflows, making it easier for individuals to design agents tailored to their own needs.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages