KAgent OpenAI Agents SDK Integration
OpenAI Agents SDK integration for KAgent with A2A (Agent-to-Agent) protocol support, session management, and optional skills integration.
Quick Start
from kagent.openai import KAgentApp
from agents.agent import Agent
# Create your OpenAI agent
agent = Agent(
name="Assistant",
instructions="You are a helpful assistant.",
tools=[my_tool], # Optional
)
# Create KAgent app
app = KAgentApp(
agent=agent,
agent_card={
"name": "my-openai-agent",
"description": "My OpenAI agent",
"version": "0.1.0",
"capabilities": {"streaming": True},
"defaultInputModes": ["text"],
"defaultOutputModes": ["text"]
},
kagent_url="http://localhost:8083",
app_name="my-agent"
)
# Run
fastapi_app = app.build()
# uvicorn run_me:fastapi_app
Agent with Skills
Skills provide domain expertise through filesystem-based instruction files and helper tools (read/write/edit files, bash execution). We provide a function to load all skill-related tools. Otherwise, you can select the ones you need by importing from kagent.openai.tools.
from agents.agent import Agent
from kagent.openai import get_skill_tools
tools = [my_custom_tool]
tools.extend(get_skill_tools("./skills"))
agent = Agent(
name="SkillfulAgent",
instructions="Use skills and tools when appropriate.",
tools=tools,
)
See skills README for skill format and structure.
Session Management
Sessions persist conversation history in KAgent backend:
from agents.agent import Agent
from agents.run import Runner
from kagent.openai._session_service import KAgentSession
import httpx
client = httpx.AsyncClient(base_url="http://localhost:8083")
session = KAgentSession(
session_id="conversation_123",
client=client,
app_name="my-agent",
)
agent = Agent(name="Assistant", instructions="Be helpful")
result = await Runner.run(agent, "Hello!", session=session)
Local Development
Test without KAgent backend using in-memory mode:
app = KAgentApp(
agent=agent,
agent_card=agent_card,
kagent_url="http://localhost:8083",
app_name="test-agent"
)
fastapi_app = app.build_local() # In-memory, no persistence
Deployment
Standard Docker deployment:
FROM python:3.13-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY agent.py .
CMD ["uvicorn", "agent:fastapi_app", "--host", "0.0.0.0", "--port", "8000"]
Set KAGENT_URL environment variable to connect to KAgent backend.
Architecture
| Component | Purpose |
|---|---|
| KAgentApp | FastAPI application builder with A2A support |
| KAgentSession | Session persistence via KAgent REST API |
| OpenAIAgentExecutor | Executes agents with event streaming |
Environment Variables
KAGENT_URL- KAgent backend URL (default: http://localhost:8083)LOG_LEVEL- Logging level (default: INFO)
Examples
See samples/openai/ for complete examples:
basic_agent/- Simple agent with custom tools- More examples coming soon
See Also
License
See repository LICENSE file.
Release files for kagent-openai 0.10.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kagent_openai-0.10.1.tar.gz | 16.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kagent_openai-0.10.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 33.5 kB
Release files / kagent_openai-0.10.1.tar.gz
| Download URL | kagent_openai-0.10.1.tar.gz |
|---|---|
| Size | 16.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cccd7122ca9c2c04018fd1f914c3b13301d0206a64075a19467e36688119d0b8
|
|
BLAKE2b-256 checksum How to use checksums |
3a0282e0c80e7604e2dc5c11d690c38675501b728d554f8761fb36d9874ed777
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / kagent_openai-0.10.1-py3-none-any.whl
| Download URL | kagent_openai-0.10.1-py3-none-any.whl |
|---|---|
| Size | 16.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7e1bff6bca0fb8c4dd3f196e7788a7be88cea2faa28bf88e53222b17335806c5
|
|
BLAKE2b-256 checksum How to use checksums |
3bb44ff7820804864f90950a19612d5c3a1d2cd64e691b7e27965b96fba94bdf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|