Name | zipagent JSON |
Version |
0.1.1
JSON |
| download |
home_page | None |
Summary | 轻量级的 AI Agent 框架 |
upload_time | 2025-08-13 02:40:15 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.10 |
license | MIT |
keywords |
agent
ai
assistant
framework
llm
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# ZipAgent
[](https://badge.fury.io/py/zipagent)
[](https://pypi.org/project/zipagent/)
[](https://opensource.org/licenses/MIT)
[](https://github.com/JiayuXu0/LiteAgent/actions)
> 🚀 轻量级的 AI Agent 框架,让 AI 工具集成变得简单高效
ZipAgent 是一个现代化的 Python AI Agent 框架,专注于简洁、高效和易扩展。无论是构建聊天机器人、智能助手还是复杂的 AI 工作流,ZipAgent 都能让你快速上手。
## ✨ 核心特性
- **🎯 简洁 API**: 极简设计,几行代码构建 AI Agent
- **🔧 工具系统**: 强大的 `@function_tool` 装饰器,轻松扩展 AI 能力
- **🌊 流式输出**: 完整的流式处理支持,提供实时交互体验
- **📝 上下文管理**: 自动管理对话历史和上下文状态
- **🔗 MCP 集成**: 原生支持 Model Context Protocol,集成外部工具
- **⚡ 现代化**: 基于 Python 3.10+,支持异步编程
- **🧪 高质量**: 120+ 测试用例,78% 代码覆盖率
## 🚀 快速开始
### 安装
```bash
pip install zipagent
```
### 5分钟上手
```python
from zipagent import Agent, Runner, function_tool
# 1. 定义工具
@function_tool
def calculate(expression: str) -> str:
"""计算数学表达式"""
return str(eval(expression))
# 2. 创建 Agent
agent = Agent(
name="MathAssistant",
instructions="你是一个数学助手",
tools=[calculate]
)
# 3. 开始对话
result = Runner.run(agent, "计算 23 + 45")
print(result.content) # "23 + 45 的计算结果是 68"
```
## 📚 功能展示
### 🌊 流式输出
```python
from zipagent import StreamEventType
# 实时流式响应
for event in Runner.run_stream(agent, "解释什么是人工智能"):
if event.type == StreamEventType.ANSWER_DELTA:
print(event.content, end="", flush=True) # 打字机效果
elif event.type == StreamEventType.TOOL_CALL:
print(f"🔧 调用工具: {event.tool_name}")
```
### 📝 上下文管理
```python
from zipagent import Context
# 多轮对话
context = Context()
result1 = Runner.run(agent, "我叫小明", context=context)
result2 = Runner.run(agent, "我叫什么名字?", context=context)
print(result2.content) # "你叫小明"
# 对话统计
print(f"对话轮数: {context.turn_count}")
print(f"Token 使用: {context.usage}")
```
### 🔗 MCP 工具集成
```python
from zipagent import MCPTool
# 连接外部 MCP 工具
async def demo():
# 连接高德地图工具
amap_tools = await MCPTool.connect(
command="npx",
args=["-y", "@amap/amap-maps-mcp-server"],
env={"AMAP_MAPS_API_KEY": "your_key"}
)
# 混合使用本地工具和 MCP 工具
agent = Agent(
name="MapAssistant",
instructions="你是一个地图助手",
tools=[calculate, amap_tools] # 统一接口!
)
result = Runner.run(agent, "北京今天天气怎么样?")
print(result.content)
```
## 🔧 高级功能
### 异常处理
```python
from zipagent import ToolExecutionError, MaxTurnsError
try:
result = Runner.run(agent, "计算 10 / 0", max_turns=3)
except ToolExecutionError as e:
print(f"工具执行失败: {e.details['tool_name']}")
except MaxTurnsError as e:
print(f"达到最大轮次: {e.details['max_turns']}")
```
### 自定义模型
```python
from zipagent import OpenAIModel
# 自定义模型配置
model = OpenAIModel(
model="gpt-4",
api_key="your_api_key",
base_url="https://api.openai.com/v1"
)
agent = Agent(
name="CustomAgent",
instructions="你是一个助手",
tools=[calculate],
model=model
)
```
## 🎯 使用场景
- **💬 聊天机器人**: 客服、问答、闲聊机器人
- **🔧 智能助手**: 代码助手、写作助手、数据分析助手
- **🌐 工具集成**: 集成 API、数据库、第三方服务
- **📊 工作流自动化**: 复杂的多步骤任务自动化
- **🔍 知识问答**: 基于知识库的智能问答系统
## 📖 完整示例
查看 `examples/` 目录获取更多示例:
- [`basic_demo.py`](examples/basic_demo.py) - 基础功能演示
- [`stream_demo.py`](examples/stream_demo.py) - 流式输出演示
- [`mcp_demo.py`](examples/mcp_demo.py) - MCP 工具集成演示
```bash
# 运行示例
python examples/basic_demo.py
python examples/stream_demo.py
python examples/mcp_demo.py
```
## 🏗️ 项目架构
```
ZipAgent/
├── src/zipagent/ # 核心框架
│ ├── agent.py # Agent 核心类
│ ├── context.py # 上下文管理
│ ├── model.py # LLM 模型抽象
│ ├── runner.py # 执行引擎
│ ├── tool.py # 工具系统
│ ├── stream.py # 流式处理
│ ├── mcp_tool.py # MCP 工具集成
│ └── exceptions.py # 异常系统
├── examples/ # 使用示例
├── tests/ # 测试套件(120+ 测试)
└── docs/ # 文档
```
## 📦 依赖
**核心依赖**:
- `openai` - OpenAI API 客户端
- `pydantic` - 数据验证
**可选依赖**:
- `mcp` - MCP 工具支持
- `nest-asyncio` - 嵌套异步支持
- `python-dotenv` - 环境变量管理
## 🛠️ 开发
### 本地开发环境
```bash
# 克隆项目
git clone https://github.com/JiayuXu0/LiteAgent.git
cd LiteAgent
# 使用 uv 管理依赖(推荐)
curl -LsSf https://astral.sh/uv/install.sh | sh
uv sync
# 运行测试
uv run pytest
# 代码检查
uv run ruff check --fix
uv run pyright
```
### 贡献指南
我们欢迎各种形式的贡献!
1. 🐛 **报告 Bug**: 提交 [Issue](https://github.com/JiayuXu0/LiteAgent/issues)
2. 💡 **功能建议**: 讨论新功能想法
3. 📝 **文档改进**: 完善文档和示例
4. 🔧 **代码贡献**: 提交 Pull Request
### 开发规范
- 使用 `ruff` 进行代码格式化和检查
- 使用 `pyright` 进行类型检查
- 编写测试用例,保持高覆盖率
- 遵循语义化版本规范
## 📊 性能
- ⚡ **启动速度**: 毫秒级初始化
- 🔄 **并发能力**: 支持异步并发处理
- 💾 **内存占用**: 轻量级设计,低内存占用
- 📦 **包大小**: Wheel 包仅 ~15KB
## 🗺️ 路线图
- [ ] **多模型支持**: Claude、Gemini、本地模型
- [ ] **插件系统**: 更丰富的扩展机制
- [ ] **可视化界面**: Web UI 和监控面板
- [ ] **分布式支持**: 多实例协作
- [ ] **性能优化**: 缓存和批处理优化
## 📄 许可证
MIT License - 详见 [LICENSE](LICENSE) 文件
## 🤝 致谢
感谢所有贡献者和社区支持!
- OpenAI - 提供强大的 LLM API
- MCP 社区 - Model Context Protocol 标准
- Python 生态 - 优秀的开发工具链
---
⭐ 如果这个项目对你有帮助,请给我们一个 Star!
Raw data
{
"_id": null,
"home_page": null,
"name": "zipagent",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": "Jiayu Xu <420249001@qq.com>",
"keywords": "agent, ai, assistant, framework, llm",
"author": null,
"author_email": "Jiayu Xu <420249001@qq.com>",
"download_url": "https://files.pythonhosted.org/packages/36/4d/e62ce852c24adff66077dc17f20963dba9d1ca8595e868853efdf32084e1/zipagent-0.1.1.tar.gz",
"platform": null,
"description": "# ZipAgent\n\n[](https://badge.fury.io/py/zipagent)\n[](https://pypi.org/project/zipagent/)\n[](https://opensource.org/licenses/MIT)\n[](https://github.com/JiayuXu0/LiteAgent/actions)\n\n> \ud83d\ude80 \u8f7b\u91cf\u7ea7\u7684 AI Agent \u6846\u67b6\uff0c\u8ba9 AI \u5de5\u5177\u96c6\u6210\u53d8\u5f97\u7b80\u5355\u9ad8\u6548\n\nZipAgent \u662f\u4e00\u4e2a\u73b0\u4ee3\u5316\u7684 Python AI Agent \u6846\u67b6\uff0c\u4e13\u6ce8\u4e8e\u7b80\u6d01\u3001\u9ad8\u6548\u548c\u6613\u6269\u5c55\u3002\u65e0\u8bba\u662f\u6784\u5efa\u804a\u5929\u673a\u5668\u4eba\u3001\u667a\u80fd\u52a9\u624b\u8fd8\u662f\u590d\u6742\u7684 AI \u5de5\u4f5c\u6d41\uff0cZipAgent \u90fd\u80fd\u8ba9\u4f60\u5feb\u901f\u4e0a\u624b\u3002\n\n## \u2728 \u6838\u5fc3\u7279\u6027\n\n- **\ud83c\udfaf \u7b80\u6d01 API**: \u6781\u7b80\u8bbe\u8ba1\uff0c\u51e0\u884c\u4ee3\u7801\u6784\u5efa AI Agent\n- **\ud83d\udd27 \u5de5\u5177\u7cfb\u7edf**: \u5f3a\u5927\u7684 `@function_tool` \u88c5\u9970\u5668\uff0c\u8f7b\u677e\u6269\u5c55 AI \u80fd\u529b\n- **\ud83c\udf0a \u6d41\u5f0f\u8f93\u51fa**: \u5b8c\u6574\u7684\u6d41\u5f0f\u5904\u7406\u652f\u6301\uff0c\u63d0\u4f9b\u5b9e\u65f6\u4ea4\u4e92\u4f53\u9a8c\n- **\ud83d\udcdd \u4e0a\u4e0b\u6587\u7ba1\u7406**: \u81ea\u52a8\u7ba1\u7406\u5bf9\u8bdd\u5386\u53f2\u548c\u4e0a\u4e0b\u6587\u72b6\u6001\n- **\ud83d\udd17 MCP \u96c6\u6210**: \u539f\u751f\u652f\u6301 Model Context Protocol\uff0c\u96c6\u6210\u5916\u90e8\u5de5\u5177\n- **\u26a1 \u73b0\u4ee3\u5316**: \u57fa\u4e8e Python 3.10+\uff0c\u652f\u6301\u5f02\u6b65\u7f16\u7a0b\n- **\ud83e\uddea \u9ad8\u8d28\u91cf**: 120+ \u6d4b\u8bd5\u7528\u4f8b\uff0c78% \u4ee3\u7801\u8986\u76d6\u7387\n\n## \ud83d\ude80 \u5feb\u901f\u5f00\u59cb\n\n### \u5b89\u88c5\n\n```bash\npip install zipagent\n```\n\n### 5\u5206\u949f\u4e0a\u624b\n\n```python\nfrom zipagent import Agent, Runner, function_tool\n\n# 1. \u5b9a\u4e49\u5de5\u5177\n@function_tool\ndef calculate(expression: str) -> str:\n \"\"\"\u8ba1\u7b97\u6570\u5b66\u8868\u8fbe\u5f0f\"\"\"\n return str(eval(expression))\n\n# 2. \u521b\u5efa Agent\nagent = Agent(\n name=\"MathAssistant\",\n instructions=\"\u4f60\u662f\u4e00\u4e2a\u6570\u5b66\u52a9\u624b\",\n tools=[calculate]\n)\n\n# 3. \u5f00\u59cb\u5bf9\u8bdd\nresult = Runner.run(agent, \"\u8ba1\u7b97 23 + 45\")\nprint(result.content) # \"23 + 45 \u7684\u8ba1\u7b97\u7ed3\u679c\u662f 68\"\n```\n\n## \ud83d\udcda \u529f\u80fd\u5c55\u793a\n\n### \ud83c\udf0a \u6d41\u5f0f\u8f93\u51fa\n\n```python\nfrom zipagent import StreamEventType\n\n# \u5b9e\u65f6\u6d41\u5f0f\u54cd\u5e94\nfor event in Runner.run_stream(agent, \"\u89e3\u91ca\u4ec0\u4e48\u662f\u4eba\u5de5\u667a\u80fd\"):\n if event.type == StreamEventType.ANSWER_DELTA:\n print(event.content, end=\"\", flush=True) # \u6253\u5b57\u673a\u6548\u679c\n elif event.type == StreamEventType.TOOL_CALL:\n print(f\"\ud83d\udd27 \u8c03\u7528\u5de5\u5177: {event.tool_name}\")\n```\n\n### \ud83d\udcdd \u4e0a\u4e0b\u6587\u7ba1\u7406\n\n```python\nfrom zipagent import Context\n\n# \u591a\u8f6e\u5bf9\u8bdd\ncontext = Context()\n\nresult1 = Runner.run(agent, \"\u6211\u53eb\u5c0f\u660e\", context=context)\nresult2 = Runner.run(agent, \"\u6211\u53eb\u4ec0\u4e48\u540d\u5b57\uff1f\", context=context)\nprint(result2.content) # \"\u4f60\u53eb\u5c0f\u660e\"\n\n# \u5bf9\u8bdd\u7edf\u8ba1\nprint(f\"\u5bf9\u8bdd\u8f6e\u6570: {context.turn_count}\")\nprint(f\"Token \u4f7f\u7528: {context.usage}\")\n```\n\n### \ud83d\udd17 MCP \u5de5\u5177\u96c6\u6210\n\n```python\nfrom zipagent import MCPTool\n\n# \u8fde\u63a5\u5916\u90e8 MCP \u5de5\u5177\nasync def demo():\n # \u8fde\u63a5\u9ad8\u5fb7\u5730\u56fe\u5de5\u5177\n amap_tools = await MCPTool.connect(\n command=\"npx\",\n args=[\"-y\", \"@amap/amap-maps-mcp-server\"],\n env={\"AMAP_MAPS_API_KEY\": \"your_key\"}\n )\n \n # \u6df7\u5408\u4f7f\u7528\u672c\u5730\u5de5\u5177\u548c MCP \u5de5\u5177\n agent = Agent(\n name=\"MapAssistant\",\n instructions=\"\u4f60\u662f\u4e00\u4e2a\u5730\u56fe\u52a9\u624b\",\n tools=[calculate, amap_tools] # \u7edf\u4e00\u63a5\u53e3\uff01\n )\n \n result = Runner.run(agent, \"\u5317\u4eac\u4eca\u5929\u5929\u6c14\u600e\u4e48\u6837\uff1f\")\n print(result.content)\n```\n\n## \ud83d\udd27 \u9ad8\u7ea7\u529f\u80fd\n\n### \u5f02\u5e38\u5904\u7406\n\n```python\nfrom zipagent import ToolExecutionError, MaxTurnsError\n\ntry:\n result = Runner.run(agent, \"\u8ba1\u7b97 10 / 0\", max_turns=3)\nexcept ToolExecutionError as e:\n print(f\"\u5de5\u5177\u6267\u884c\u5931\u8d25: {e.details['tool_name']}\")\nexcept MaxTurnsError as e:\n print(f\"\u8fbe\u5230\u6700\u5927\u8f6e\u6b21: {e.details['max_turns']}\")\n```\n\n### \u81ea\u5b9a\u4e49\u6a21\u578b\n\n```python\nfrom zipagent import OpenAIModel\n\n# \u81ea\u5b9a\u4e49\u6a21\u578b\u914d\u7f6e\nmodel = OpenAIModel(\n model=\"gpt-4\",\n api_key=\"your_api_key\",\n base_url=\"https://api.openai.com/v1\"\n)\n\nagent = Agent(\n name=\"CustomAgent\",\n instructions=\"\u4f60\u662f\u4e00\u4e2a\u52a9\u624b\",\n tools=[calculate],\n model=model\n)\n```\n\n## \ud83c\udfaf \u4f7f\u7528\u573a\u666f\n\n- **\ud83d\udcac \u804a\u5929\u673a\u5668\u4eba**: \u5ba2\u670d\u3001\u95ee\u7b54\u3001\u95f2\u804a\u673a\u5668\u4eba\n- **\ud83d\udd27 \u667a\u80fd\u52a9\u624b**: \u4ee3\u7801\u52a9\u624b\u3001\u5199\u4f5c\u52a9\u624b\u3001\u6570\u636e\u5206\u6790\u52a9\u624b \n- **\ud83c\udf10 \u5de5\u5177\u96c6\u6210**: \u96c6\u6210 API\u3001\u6570\u636e\u5e93\u3001\u7b2c\u4e09\u65b9\u670d\u52a1\n- **\ud83d\udcca \u5de5\u4f5c\u6d41\u81ea\u52a8\u5316**: \u590d\u6742\u7684\u591a\u6b65\u9aa4\u4efb\u52a1\u81ea\u52a8\u5316\n- **\ud83d\udd0d \u77e5\u8bc6\u95ee\u7b54**: \u57fa\u4e8e\u77e5\u8bc6\u5e93\u7684\u667a\u80fd\u95ee\u7b54\u7cfb\u7edf\n\n## \ud83d\udcd6 \u5b8c\u6574\u793a\u4f8b\n\n\u67e5\u770b `examples/` \u76ee\u5f55\u83b7\u53d6\u66f4\u591a\u793a\u4f8b\uff1a\n\n- [`basic_demo.py`](examples/basic_demo.py) - \u57fa\u7840\u529f\u80fd\u6f14\u793a\n- [`stream_demo.py`](examples/stream_demo.py) - \u6d41\u5f0f\u8f93\u51fa\u6f14\u793a\n- [`mcp_demo.py`](examples/mcp_demo.py) - MCP \u5de5\u5177\u96c6\u6210\u6f14\u793a\n\n```bash\n# \u8fd0\u884c\u793a\u4f8b\npython examples/basic_demo.py\npython examples/stream_demo.py\npython examples/mcp_demo.py\n```\n\n## \ud83c\udfd7\ufe0f \u9879\u76ee\u67b6\u6784\n\n```\nZipAgent/\n\u251c\u2500\u2500 src/zipagent/ # \u6838\u5fc3\u6846\u67b6\n\u2502 \u251c\u2500\u2500 agent.py # Agent \u6838\u5fc3\u7c7b\n\u2502 \u251c\u2500\u2500 context.py # \u4e0a\u4e0b\u6587\u7ba1\u7406\n\u2502 \u251c\u2500\u2500 model.py # LLM \u6a21\u578b\u62bd\u8c61\n\u2502 \u251c\u2500\u2500 runner.py # \u6267\u884c\u5f15\u64ce\n\u2502 \u251c\u2500\u2500 tool.py # \u5de5\u5177\u7cfb\u7edf\n\u2502 \u251c\u2500\u2500 stream.py # \u6d41\u5f0f\u5904\u7406\n\u2502 \u251c\u2500\u2500 mcp_tool.py # MCP \u5de5\u5177\u96c6\u6210\n\u2502 \u2514\u2500\u2500 exceptions.py # \u5f02\u5e38\u7cfb\u7edf\n\u251c\u2500\u2500 examples/ # \u4f7f\u7528\u793a\u4f8b\n\u251c\u2500\u2500 tests/ # \u6d4b\u8bd5\u5957\u4ef6\uff08120+ \u6d4b\u8bd5\uff09\n\u2514\u2500\u2500 docs/ # \u6587\u6863\n```\n\n## \ud83d\udce6 \u4f9d\u8d56\n\n**\u6838\u5fc3\u4f9d\u8d56**:\n- `openai` - OpenAI API \u5ba2\u6237\u7aef\n- `pydantic` - \u6570\u636e\u9a8c\u8bc1\n\n**\u53ef\u9009\u4f9d\u8d56**:\n- `mcp` - MCP \u5de5\u5177\u652f\u6301\n- `nest-asyncio` - \u5d4c\u5957\u5f02\u6b65\u652f\u6301\n- `python-dotenv` - \u73af\u5883\u53d8\u91cf\u7ba1\u7406\n\n## \ud83d\udee0\ufe0f \u5f00\u53d1\n\n### \u672c\u5730\u5f00\u53d1\u73af\u5883\n\n```bash\n# \u514b\u9686\u9879\u76ee\ngit clone https://github.com/JiayuXu0/LiteAgent.git\ncd LiteAgent\n\n# \u4f7f\u7528 uv \u7ba1\u7406\u4f9d\u8d56\uff08\u63a8\u8350\uff09\ncurl -LsSf https://astral.sh/uv/install.sh | sh\nuv sync\n\n# \u8fd0\u884c\u6d4b\u8bd5\nuv run pytest\n\n# \u4ee3\u7801\u68c0\u67e5\nuv run ruff check --fix\nuv run pyright\n```\n\n### \u8d21\u732e\u6307\u5357\n\n\u6211\u4eec\u6b22\u8fce\u5404\u79cd\u5f62\u5f0f\u7684\u8d21\u732e\uff01\n\n1. \ud83d\udc1b **\u62a5\u544a Bug**: \u63d0\u4ea4 [Issue](https://github.com/JiayuXu0/LiteAgent/issues)\n2. \ud83d\udca1 **\u529f\u80fd\u5efa\u8bae**: \u8ba8\u8bba\u65b0\u529f\u80fd\u60f3\u6cd5\n3. \ud83d\udcdd **\u6587\u6863\u6539\u8fdb**: \u5b8c\u5584\u6587\u6863\u548c\u793a\u4f8b\n4. \ud83d\udd27 **\u4ee3\u7801\u8d21\u732e**: \u63d0\u4ea4 Pull Request\n\n### \u5f00\u53d1\u89c4\u8303\n\n- \u4f7f\u7528 `ruff` \u8fdb\u884c\u4ee3\u7801\u683c\u5f0f\u5316\u548c\u68c0\u67e5\n- \u4f7f\u7528 `pyright` \u8fdb\u884c\u7c7b\u578b\u68c0\u67e5\n- \u7f16\u5199\u6d4b\u8bd5\u7528\u4f8b\uff0c\u4fdd\u6301\u9ad8\u8986\u76d6\u7387\n- \u9075\u5faa\u8bed\u4e49\u5316\u7248\u672c\u89c4\u8303\n\n## \ud83d\udcca \u6027\u80fd\n\n- \u26a1 **\u542f\u52a8\u901f\u5ea6**: \u6beb\u79d2\u7ea7\u521d\u59cb\u5316\n- \ud83d\udd04 **\u5e76\u53d1\u80fd\u529b**: \u652f\u6301\u5f02\u6b65\u5e76\u53d1\u5904\u7406\n- \ud83d\udcbe **\u5185\u5b58\u5360\u7528**: \u8f7b\u91cf\u7ea7\u8bbe\u8ba1\uff0c\u4f4e\u5185\u5b58\u5360\u7528\n- \ud83d\udce6 **\u5305\u5927\u5c0f**: Wheel \u5305\u4ec5 ~15KB\n\n## \ud83d\uddfa\ufe0f \u8def\u7ebf\u56fe\n\n- [ ] **\u591a\u6a21\u578b\u652f\u6301**: Claude\u3001Gemini\u3001\u672c\u5730\u6a21\u578b\n- [ ] **\u63d2\u4ef6\u7cfb\u7edf**: \u66f4\u4e30\u5bcc\u7684\u6269\u5c55\u673a\u5236\n- [ ] **\u53ef\u89c6\u5316\u754c\u9762**: Web UI \u548c\u76d1\u63a7\u9762\u677f\n- [ ] **\u5206\u5e03\u5f0f\u652f\u6301**: \u591a\u5b9e\u4f8b\u534f\u4f5c\n- [ ] **\u6027\u80fd\u4f18\u5316**: \u7f13\u5b58\u548c\u6279\u5904\u7406\u4f18\u5316\n\n## \ud83d\udcc4 \u8bb8\u53ef\u8bc1\n\nMIT License - \u8be6\u89c1 [LICENSE](LICENSE) \u6587\u4ef6\n\n## \ud83e\udd1d \u81f4\u8c22\n\n\u611f\u8c22\u6240\u6709\u8d21\u732e\u8005\u548c\u793e\u533a\u652f\u6301\uff01\n\n- OpenAI - \u63d0\u4f9b\u5f3a\u5927\u7684 LLM API\n- MCP \u793e\u533a - Model Context Protocol \u6807\u51c6\n- Python \u751f\u6001 - \u4f18\u79c0\u7684\u5f00\u53d1\u5de5\u5177\u94fe\n\n---\n\n\u2b50 \u5982\u679c\u8fd9\u4e2a\u9879\u76ee\u5bf9\u4f60\u6709\u5e2e\u52a9\uff0c\u8bf7\u7ed9\u6211\u4eec\u4e00\u4e2a Star\uff01\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "\u8f7b\u91cf\u7ea7\u7684 AI Agent \u6846\u67b6",
"version": "0.1.1",
"project_urls": {
"Homepage": "https://github.com/JiayuXu0/LiteAgent",
"Issues": "https://github.com/JiayuXu0/LiteAgent/issues",
"Repository": "https://github.com/JiayuXu0/LiteAgent.git"
},
"split_keywords": [
"agent",
" ai",
" assistant",
" framework",
" llm"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "724dcf60aac60c6e00418f698a2de7ec4e636efe9a569865c6f9030633658157",
"md5": "34348700dd6c42e4c77c856e498623dd",
"sha256": "1321ae5fd5a7a346f159df0ed3adb03a450759131c5282ea285b8d41abe6c278"
},
"downloads": -1,
"filename": "zipagent-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "34348700dd6c42e4c77c856e498623dd",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 24565,
"upload_time": "2025-08-13T02:40:14",
"upload_time_iso_8601": "2025-08-13T02:40:14.340971Z",
"url": "https://files.pythonhosted.org/packages/72/4d/cf60aac60c6e00418f698a2de7ec4e636efe9a569865c6f9030633658157/zipagent-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "364de62ce852c24adff66077dc17f20963dba9d1ca8595e868853efdf32084e1",
"md5": "ae226bf4b6c0e98cf0c39ad1d8dbf9e0",
"sha256": "f1c07790842a6aafd431c8fbf78ba73e6d80e1dc9d0ac3370ffb35d9e63db18c"
},
"downloads": -1,
"filename": "zipagent-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "ae226bf4b6c0e98cf0c39ad1d8dbf9e0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 35773,
"upload_time": "2025-08-13T02:40:15",
"upload_time_iso_8601": "2025-08-13T02:40:15.748385Z",
"url": "https://files.pythonhosted.org/packages/36/4d/e62ce852c24adff66077dc17f20963dba9d1ca8595e868853efdf32084e1/zipagent-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-13 02:40:15",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "JiayuXu0",
"github_project": "LiteAgent",
"github_not_found": true,
"lcname": "zipagent"
}