This release is a pre-release and may not be stable for production use.
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.0rc6
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.0rc6.tar.gz | 16.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kagent_openai-0.10.0rc6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 33.5 kB
Release files / kagent_openai-0.10.0rc6.tar.gz
| Download URL | kagent_openai-0.10.0rc6.tar.gz |
|---|---|
| Size | 16.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b56c6cf34bfd09161fa76a420ea60ee4b3eb65758f738a14dfa4d2144eb27694
|
|
BLAKE2b-256 checksum How to use checksums |
88cbce35cf0bb8171fd999d38a9300d139dc5e858439ed351a969978defcbe2d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.8 {"installer":{"name":"uv","version":"0.12.8","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.0rc6-py3-none-any.whl
| Download URL | kagent_openai-0.10.0rc6-py3-none-any.whl |
|---|---|
| Size | 16.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ebb7b72a23374379a0b03e7aa1f5ea80f7f72f84146da2824fc043fc66a61ea1
|
|
BLAKE2b-256 checksum How to use checksums |
b9b92c6968191ed165deed4a50da2e601210c0758696771e8ce0ff5793f8a3f6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.8 {"installer":{"name":"uv","version":"0.12.8","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}
|