A Python-native Agent framework with first-class Skill support and multi-LLM adapter
Project description
AgentKit
Python 原生 Agent 框架,内置一等公民 Skill 支持与多 LLM 适配器。
✨ 特性
- 🤖 声明式 Agent — 零继承配置,支持 Handoff 转介 + as_tool 委派两种协作模式
- 📚 一等公民 Skill — 三级渐进式加载(L1 元数据 → L2 指令 → L3 资源),按需加载省 token
- 🔧 灵活工具系统 —
@function_tool装饰器自动推断 JSON Schema - 🧠 多 LLM 适配器 — 自研统一适配层,4 个适配器覆盖所有主流 LLM
- 🛡️ 内置安全 — Guardrail 护栏 + 权限控制 + 三级沙箱
- 🎭 编排 Agent — Sequential / Parallel / Loop 三种模式
- 💾 记忆系统 — 可选集成 Mem0,支持自定义记忆提供者
- ⚡ 全异步设计与 Hooks — 底层全面采用
asyncio,流式响应(Streaming)、事件驱动(Event-Driven)、断点续跑机制(Checkpoint/Resume)。提供细粒度的 生命周期 Hooks,支持改写请求与结果。 - 🏢 多租户数据隔离 — 框架级支持
user_id/session_id贯穿,Memory 默认分桶,Session 结束自动释放资源。 - 🔗 与大模型平台解耦 — 内置多模型支持,轻松对接 Ollama 等本地模型。
🚀 安装
# 基础安装
pip install ni.agentkit
# 如果需要 OpenAI / DeepSeek / 通义千问等
pip install "ni.agentkit[openai]"
pip install "ni.agentkit[anthropic]"
pip install "ni.agentkit[google]"
pip install "ni.agentkit[memory]"
pip install "ni.agentkit[docker]"
pip install "ni.agentkit[all]"
⚡ 30 秒快速开始
from agentkit import Agent, Runner, function_tool
@function_tool
def get_weather(city: str) -> str:
"""获取天气"""
return f"{city}:晴,25°C"
agent = Agent(
name="assistant",
instructions="你是一个有帮助的中文助手。",
model="ollama/qwen3.5:cloud",
tools=[get_weather],
)
result = Runner.run_sync(agent, input="北京今天天气如何?")
print(result.final_output)
📚 文档
安装后查看文档:
# 命令行方式
agentkit-docs
# Python 方式
import agentkit
print(agentkit.get_docs_dir()) # 文档目录路径
print(agentkit.get_examples_dir()) # 示例目录路径
| 文档 | 说明 |
|---|---|
| README | 项目概述与特性 |
| QuickStart | 8 个渐进式入门示例 |
| Architecture | 六层架构设计说明 |
| Reference | 完整 API 参考手册 |
🧪 示例
安装包内含 16 个可运行示例(标准版 × 8 + Ollama 本地版 × 8):
# Ollama 本地版(无需 API Key)
python -c "import agentkit; print(agentkit.get_examples_dir())"
# 然后运行对应目录下的示例文件
# 或者直接:
python -m agentkit.examples.ollama.01_basic_chat
🔌 支持的 LLM
| 模型 | 适配器 | 用法 |
|---|---|---|
| GPT-4o / o1 / o3 / o4 | OpenAIAdapter | model="gpt-4o" |
| Claude Opus/Sonnet/Haiku | AnthropicAdapter | model="claude-sonnet-4-20250514" |
| Gemini 2.5 / 3 | GoogleAdapter | model="gemini-2.5-pro" |
| 通义千问/智谱/DeepSeek/Moonshot/百川/Azure | OpenAICompatibleAdapter | model="deepseek/deepseek-chat" |
| Ollama 本地模型 | OllamaAdapter | model="ollama/qwen3.5:cloud" |
🔨 构建打包
./build.sh # 构建 wheel + sdist
./build.sh clean # 清理构建产物
./build.sh test # 在隔离环境中安装并验证
./build.sh all # 清理 + 构建 + 验证(推荐)
构建产物输出到 dist/ 目录:
dist/
├── ni_agentkit-0.3.2-py3-none-any.whl # pip install 用这个
└── ni_agentkit-0.3.2.tar.gz # 源码分发
📄 License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ni_agentkit-0.4.0.tar.gz
(111.9 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
ni_agentkit-0.4.0-py3-none-any.whl
(156.8 kB
view details)
File details
Details for the file ni_agentkit-0.4.0.tar.gz.
File metadata
- Download URL: ni_agentkit-0.4.0.tar.gz
- Upload date:
- Size: 111.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
49b3aec8dcff625d3b9675e9f23b3091f2517b65f0298231863ec4f1a2f3a74c
|
|
| MD5 |
98a122cac5df2a6cc18b0c276067c990
|
|
| BLAKE2b-256 |
906ca5f0b74f9cbee49894de6178c5dddfe394fe8713a2c92a641066739b5f7a
|
File details
Details for the file ni_agentkit-0.4.0-py3-none-any.whl.
File metadata
- Download URL: ni_agentkit-0.4.0-py3-none-any.whl
- Upload date:
- Size: 156.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
846411617e3380aee0a27ce0c52e75088290b3ba6862146d8dff48e8bb073b6f
|
|
| MD5 |
e8ab433a9b52138d3204207a66cb76db
|
|
| BLAKE2b-256 |
d6f4a0ac24d916c54606671b3e331c52c69019389a4069aa095697b2bfd041da
|