Name | agimat-agent JSON |
Version |
0.1.9
JSON |
| download |
home_page | None |
Summary | 基于 FastAPI 和 LangGraph 的智能代理管理平台 |
upload_time | 2025-07-12 16:53:34 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.12 |
license | MIT |
keywords |
agent
ai
fastapi
langchain
mcp
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# 🤖 AGI-MAT Agent Management Platform
基于 FastAPI 和 LangGraph 的智能代理管理平台,支持多种大语言模型和MCP工具集成。
## ✨ 主要特性
- 🎯 **多模型支持** - 支持 Claude、Gemini、GPT、豆包等主流模型
- 🛠️ **MCP工具集成** - 内置本地工具和外部MCP服务器支持
- 🔄 **流式响应** - 支持实时流式对话和WebSocket连接
- 📊 **可观测性** - 集成LangSmith追踪和监控
- 🔌 **插件化架构** - 灵活的工具和模型扩展机制
## 🚀 支持的模型
### Anthropic Claude
- `claude-3-5-sonnet` - 最新平衡型模型
- `claude-3-5-haiku` - 快速轻量级模型
- `claude-3-opus` - 最强推理能力模型
### Google Gemini
- `gemini-1.5-pro` - 高性能多模态模型
- `gemini-1.5-flash` - 快速响应模型
### OpenAI
- `gpt-4o-mini` - 轻量级多模态模型
- `gpt-4o` - 完整多模态模型
### 国产模型
- `doubao-1-5-lite-32k-250115` - 字节跳动豆包
## 📦 快速开始
### 1. 环境准备
```bash
# 克隆项目
git clone <repository-url>
cd agimat-agent
# 创建虚拟环境
python -m venv .venv
source .venv/bin/activate # Linux/Mac
# 或 .venv\Scripts\activate # Windows
# 安装依赖
pip install -r requirements.txt
```
### 2. 使用 uv 管理环境依赖
```bash
# 同步依赖
uv sync
# 直接启动
uv run main.py
```
## 🖥️ CLI 命令行工具
AGI-MAT Agent 提供了便捷的命令行工具来管理服务。
### 基本命令
```bash
# 查看帮助
agimat --help
# 启动后端服务器
agimat server
# 启动前端UI
agimat ui
# 打开配置目录
agimat config
```
### 详细用法
#### 启动后端服务器
```bash
# 使用默认配置启动服务器
agimat server
# 指定端口启动
agimat server --port 9000
# 指定主机地址
agimat server --host 0.0.0.0 --port 8000
# 使用自定义配置文件
agimat server --config /path/to/custom/config.yaml
```
#### 启动前端UI
```bash
# 使用默认端口启动UI
agimat ui
# 指定UI端口
agimat ui --port 8502
# 使用自定义配置文件
agimat ui --config /path/to/custom/config.yaml
```
#### 管理配置文件
```bash
# 打开配置目录(使用系统默认方式)
agimat config
# 使用VS Code打开配置目录
agimat config --editor code
# 使用vim打开配置目录
agimat config --editor vim
# 使用nano打开配置目录
agimat config --editor nano
```
### 配置文件说明
AGI-MAT Agent 会自动在 `~/.agimat/` 目录下创建配置文件:
#### 主配置文件 (`~/.agimat/conf.yaml`)
包含 AGI-MAT Agent 的基本配置,如服务器地址、模型参数等。
#### 环境变量文件 (`~/.agimat/env`)
包含各种API密钥和服务器配置,如:
- OpenAI API 配置
- Google AI 配置
- Anthropic 配置
- LangSmith 配置
- 数据库配置
- 服务器配置
- 日志配置
#### MCP配置文件 (`~/.agimat/mcp.json`)
包含MCP服务器的配置信息,支持各种外部工具集成。
### 配置优先级
1. 命令行参数指定的配置文件
2. `~/.agimat/conf.yaml`
3. 项目根目录的 `conf.yaml`
4. 默认配置
### 首次运行
首次运行 `agimat` 命令时,系统会自动:
1. 创建 `~/.agimat/` 配置目录
2. 生成默认的配置文件
3. 创建环境变量模板文件
4. 设置MCP工具配置
### 故障排除
#### 常见问题
**Q: 配置文件在哪里?**
A: 默认位置是 `~/.agimat/` 目录,使用 `agimat config` 命令可以快速打开。
**Q: 如何修改API密钥?**
A: 编辑 `~/.agimat/env` 文件,或者使用 `agimat config --editor code` 打开配置目录。
**Q: 端口被占用怎么办?**
A: 使用 `--port` 参数指定其他端口,例如:`agimat server --port 9000`
**Q: 如何查看日志?**
A: 在 `~/.agimat/env` 文件中设置 `LOG_LEVEL=DEBUG` 查看详细日志。
### 3. 配置模型
使用CLI工具快速配置:
```bash
# 打开配置目录
agimat config
# 或者使用VS Code编辑配置
agimat config --editor code
```
编辑 `~/.agimat/env` 文件,配置你的API密钥:
```bash
# OpenAI API 配置
OPENAI_API_KEY=your_openai_api_key_here
# Google AI 配置
GOOGLE_API_KEY=your_google_api_key_here
# Anthropic 配置
ANTHROPIC_API_KEY=your_anthropic_api_key_here
```
### 4. 启动服务
使用CLI工具启动服务:
```bash
# 启动后端服务器
agimat server
# 启动前端UI
agimat ui
# 或者同时启动两个服务(在不同终端)
agimat server --port 8000
agimat ui --port 8501
```
服务将在 `http://localhost:8000` 启动,UI在 `http://localhost:8501`。
## 🔧 使用示例
### API调用
```bash
# 基础对话
curl -X POST "http://localhost:8000/api/v1/agents/invoke" \
-H "Content-Type: application/json" \
-d '{
"agent_name": "agent_test",
"query": "你好,请介绍一下你自己",
"task_id": "test-task-1"
}'
```
### 流式对话
```bash
# SSE流式响应
curl -X POST "http://localhost:8000/api/v1/agents/stream" \
-H "Content-Type: application/json" \
-d '{
"agent_name": "agent_test",
"query": "写一首关于AI的诗",
"task_id": "stream-task-1"
}'
```
### WebSocket连接
```javascript
const ws = new WebSocket('ws://localhost:8000/api/v1/agents/ws');
ws.onopen = () => {
ws.send(JSON.stringify({
agent_name: "agent_test",
query: "解释一下量子计算的原理",
task_id: "ws-task-1"
}));
};
ws.onmessage = (event) => {
const data = JSON.parse(event.data);
console.log(data);
};
```
## 🧪 测试配置
运行模型配置测试:
```bash
# 完整测试
python test_models.py
# 快速测试
python test_models.py --quick
```
## 📚 文档
- [多模型配置指南](MULTI_MODEL_SETUP.md) - 详细的模型配置说明
- [MCP工具文档](MCP_FASTMCP_IMPLEMENTATION.md) - MCP工具集成指南
- [API文档](http://localhost:8000/docs) - 启动服务后访问
## 🏗️ 项目结构
```
agimat-agent/
├── api/ # API路由层
│ └── agent.py # Agent API端点
├── core/ # 核心业务逻辑
│ ├── apps/
│ │ ├── agents/ # Agent实现
│ │ ├── mcp/ # MCP工具集成
│ │ ├── tools/ # 本地工具
│ │ └── builder/ # Agent构建器
│ └── models/ # 数据模型
├── lib/ # 通用库
│ ├── llm_provider.py # 多模型支持
│ └── config.py # 配置管理
├── conf.yaml # 主配置文件
├── main.py # 应用入口
└── requirements.txt # 依赖包
```
## 🎨 UI 启动
使用CLI工具启动UI:
```bash
# 使用默认端口启动UI
agimat ui
# 指定端口启动UI
agimat ui --port 8501
# 使用uv直接启动(如果需要)
uv run streamlit run ui/ui.py --server.port 8501
```
## 🤝 贡献指南
1. Fork 本仓库
2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 创建 Pull Request
## 📄 许可证
本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。
## 🙏 致谢
- [LangChain](https://github.com/langchain-ai/langchain) - 强大的LLM应用框架
- [FastAPI](https://github.com/tiangolo/fastapi) - 现代化的Web API框架
- [MCP](https://github.com/modelcontextprotocol) - 模型上下文协议
Raw data
{
"_id": null,
"home_page": null,
"name": "agimat-agent",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.12",
"maintainer_email": null,
"keywords": "agent, ai, fastapi, langchain, mcp",
"author": null,
"author_email": "Your Name <your.email@example.com>",
"download_url": "https://files.pythonhosted.org/packages/40/04/5068d7714aea8c72a26e77375eee07cf8cb96bea7d241117152d475d06f2/agimat_agent-0.1.9.tar.gz",
"platform": null,
"description": "# \ud83e\udd16 AGI-MAT Agent Management Platform\n\n\u57fa\u4e8e FastAPI \u548c LangGraph \u7684\u667a\u80fd\u4ee3\u7406\u7ba1\u7406\u5e73\u53f0\uff0c\u652f\u6301\u591a\u79cd\u5927\u8bed\u8a00\u6a21\u578b\u548cMCP\u5de5\u5177\u96c6\u6210\u3002\n\n## \u2728 \u4e3b\u8981\u7279\u6027\n\n- \ud83c\udfaf **\u591a\u6a21\u578b\u652f\u6301** - \u652f\u6301 Claude\u3001Gemini\u3001GPT\u3001\u8c46\u5305\u7b49\u4e3b\u6d41\u6a21\u578b\n- \ud83d\udee0\ufe0f **MCP\u5de5\u5177\u96c6\u6210** - \u5185\u7f6e\u672c\u5730\u5de5\u5177\u548c\u5916\u90e8MCP\u670d\u52a1\u5668\u652f\u6301\n- \ud83d\udd04 **\u6d41\u5f0f\u54cd\u5e94** - \u652f\u6301\u5b9e\u65f6\u6d41\u5f0f\u5bf9\u8bdd\u548cWebSocket\u8fde\u63a5\n- \ud83d\udcca **\u53ef\u89c2\u6d4b\u6027** - \u96c6\u6210LangSmith\u8ffd\u8e2a\u548c\u76d1\u63a7\n- \ud83d\udd0c **\u63d2\u4ef6\u5316\u67b6\u6784** - \u7075\u6d3b\u7684\u5de5\u5177\u548c\u6a21\u578b\u6269\u5c55\u673a\u5236\n\n## \ud83d\ude80 \u652f\u6301\u7684\u6a21\u578b\n\n### Anthropic Claude\n- `claude-3-5-sonnet` - \u6700\u65b0\u5e73\u8861\u578b\u6a21\u578b\n- `claude-3-5-haiku` - \u5feb\u901f\u8f7b\u91cf\u7ea7\u6a21\u578b\n- `claude-3-opus` - \u6700\u5f3a\u63a8\u7406\u80fd\u529b\u6a21\u578b\n\n### Google Gemini\n- `gemini-1.5-pro` - \u9ad8\u6027\u80fd\u591a\u6a21\u6001\u6a21\u578b\n- `gemini-1.5-flash` - \u5feb\u901f\u54cd\u5e94\u6a21\u578b\n\n### OpenAI\n- `gpt-4o-mini` - \u8f7b\u91cf\u7ea7\u591a\u6a21\u6001\u6a21\u578b\n- `gpt-4o` - \u5b8c\u6574\u591a\u6a21\u6001\u6a21\u578b\n\n### \u56fd\u4ea7\u6a21\u578b\n- `doubao-1-5-lite-32k-250115` - \u5b57\u8282\u8df3\u52a8\u8c46\u5305\n\n## \ud83d\udce6 \u5feb\u901f\u5f00\u59cb\n\n### 1. \u73af\u5883\u51c6\u5907\n\n```bash\n# \u514b\u9686\u9879\u76ee\ngit clone <repository-url>\ncd agimat-agent\n\n# \u521b\u5efa\u865a\u62df\u73af\u5883\npython -m venv .venv\nsource .venv/bin/activate # Linux/Mac\n# \u6216 .venv\\Scripts\\activate # Windows\n\n# \u5b89\u88c5\u4f9d\u8d56\npip install -r requirements.txt\n```\n\n### 2. \u4f7f\u7528 uv \u7ba1\u7406\u73af\u5883\u4f9d\u8d56\n\n```bash\n# \u540c\u6b65\u4f9d\u8d56\nuv sync\n\n# \u76f4\u63a5\u542f\u52a8\nuv run main.py\n```\n\n## \ud83d\udda5\ufe0f CLI \u547d\u4ee4\u884c\u5de5\u5177\n\nAGI-MAT Agent \u63d0\u4f9b\u4e86\u4fbf\u6377\u7684\u547d\u4ee4\u884c\u5de5\u5177\u6765\u7ba1\u7406\u670d\u52a1\u3002\n\n### \u57fa\u672c\u547d\u4ee4\n\n```bash\n# \u67e5\u770b\u5e2e\u52a9\nagimat --help\n\n# \u542f\u52a8\u540e\u7aef\u670d\u52a1\u5668\nagimat server\n\n# \u542f\u52a8\u524d\u7aefUI\nagimat ui\n\n# \u6253\u5f00\u914d\u7f6e\u76ee\u5f55\nagimat config\n```\n\n### \u8be6\u7ec6\u7528\u6cd5\n\n#### \u542f\u52a8\u540e\u7aef\u670d\u52a1\u5668\n\n```bash\n# \u4f7f\u7528\u9ed8\u8ba4\u914d\u7f6e\u542f\u52a8\u670d\u52a1\u5668\nagimat server\n\n# \u6307\u5b9a\u7aef\u53e3\u542f\u52a8\nagimat server --port 9000\n\n# \u6307\u5b9a\u4e3b\u673a\u5730\u5740\nagimat server --host 0.0.0.0 --port 8000\n\n# \u4f7f\u7528\u81ea\u5b9a\u4e49\u914d\u7f6e\u6587\u4ef6\nagimat server --config /path/to/custom/config.yaml\n```\n\n#### \u542f\u52a8\u524d\u7aefUI\n\n```bash\n# \u4f7f\u7528\u9ed8\u8ba4\u7aef\u53e3\u542f\u52a8UI\nagimat ui\n\n# \u6307\u5b9aUI\u7aef\u53e3\nagimat ui --port 8502\n\n# \u4f7f\u7528\u81ea\u5b9a\u4e49\u914d\u7f6e\u6587\u4ef6\nagimat ui --config /path/to/custom/config.yaml\n```\n\n#### \u7ba1\u7406\u914d\u7f6e\u6587\u4ef6\n\n```bash\n# \u6253\u5f00\u914d\u7f6e\u76ee\u5f55\uff08\u4f7f\u7528\u7cfb\u7edf\u9ed8\u8ba4\u65b9\u5f0f\uff09\nagimat config\n\n# \u4f7f\u7528VS Code\u6253\u5f00\u914d\u7f6e\u76ee\u5f55\nagimat config --editor code\n\n# \u4f7f\u7528vim\u6253\u5f00\u914d\u7f6e\u76ee\u5f55\nagimat config --editor vim\n\n# \u4f7f\u7528nano\u6253\u5f00\u914d\u7f6e\u76ee\u5f55\nagimat config --editor nano\n```\n\n### \u914d\u7f6e\u6587\u4ef6\u8bf4\u660e\n\nAGI-MAT Agent \u4f1a\u81ea\u52a8\u5728 `~/.agimat/` \u76ee\u5f55\u4e0b\u521b\u5efa\u914d\u7f6e\u6587\u4ef6\uff1a\n\n#### \u4e3b\u914d\u7f6e\u6587\u4ef6 (`~/.agimat/conf.yaml`)\n\n\u5305\u542b AGI-MAT Agent \u7684\u57fa\u672c\u914d\u7f6e\uff0c\u5982\u670d\u52a1\u5668\u5730\u5740\u3001\u6a21\u578b\u53c2\u6570\u7b49\u3002\n\n#### \u73af\u5883\u53d8\u91cf\u6587\u4ef6 (`~/.agimat/env`)\n\n\u5305\u542b\u5404\u79cdAPI\u5bc6\u94a5\u548c\u670d\u52a1\u5668\u914d\u7f6e\uff0c\u5982\uff1a\n- OpenAI API \u914d\u7f6e\n- Google AI \u914d\u7f6e \n- Anthropic \u914d\u7f6e\n- LangSmith \u914d\u7f6e\n- \u6570\u636e\u5e93\u914d\u7f6e\n- \u670d\u52a1\u5668\u914d\u7f6e\n- \u65e5\u5fd7\u914d\u7f6e\n\n#### MCP\u914d\u7f6e\u6587\u4ef6 (`~/.agimat/mcp.json`)\n\n\u5305\u542bMCP\u670d\u52a1\u5668\u7684\u914d\u7f6e\u4fe1\u606f\uff0c\u652f\u6301\u5404\u79cd\u5916\u90e8\u5de5\u5177\u96c6\u6210\u3002\n\n### \u914d\u7f6e\u4f18\u5148\u7ea7\n\n1. \u547d\u4ee4\u884c\u53c2\u6570\u6307\u5b9a\u7684\u914d\u7f6e\u6587\u4ef6\n2. `~/.agimat/conf.yaml`\n3. \u9879\u76ee\u6839\u76ee\u5f55\u7684 `conf.yaml`\n4. \u9ed8\u8ba4\u914d\u7f6e\n\n### \u9996\u6b21\u8fd0\u884c\n\n\u9996\u6b21\u8fd0\u884c `agimat` \u547d\u4ee4\u65f6\uff0c\u7cfb\u7edf\u4f1a\u81ea\u52a8\uff1a\n\n1. \u521b\u5efa `~/.agimat/` \u914d\u7f6e\u76ee\u5f55\n2. \u751f\u6210\u9ed8\u8ba4\u7684\u914d\u7f6e\u6587\u4ef6\n3. \u521b\u5efa\u73af\u5883\u53d8\u91cf\u6a21\u677f\u6587\u4ef6\n4. \u8bbe\u7f6eMCP\u5de5\u5177\u914d\u7f6e\n\n### \u6545\u969c\u6392\u9664\n\n#### \u5e38\u89c1\u95ee\u9898\n\n**Q: \u914d\u7f6e\u6587\u4ef6\u5728\u54ea\u91cc\uff1f**\nA: \u9ed8\u8ba4\u4f4d\u7f6e\u662f `~/.agimat/` \u76ee\u5f55\uff0c\u4f7f\u7528 `agimat config` \u547d\u4ee4\u53ef\u4ee5\u5feb\u901f\u6253\u5f00\u3002\n\n**Q: \u5982\u4f55\u4fee\u6539API\u5bc6\u94a5\uff1f**\nA: \u7f16\u8f91 `~/.agimat/env` \u6587\u4ef6\uff0c\u6216\u8005\u4f7f\u7528 `agimat config --editor code` \u6253\u5f00\u914d\u7f6e\u76ee\u5f55\u3002\n\n**Q: \u7aef\u53e3\u88ab\u5360\u7528\u600e\u4e48\u529e\uff1f**\nA: \u4f7f\u7528 `--port` \u53c2\u6570\u6307\u5b9a\u5176\u4ed6\u7aef\u53e3\uff0c\u4f8b\u5982\uff1a`agimat server --port 9000`\n\n**Q: \u5982\u4f55\u67e5\u770b\u65e5\u5fd7\uff1f**\nA: \u5728 `~/.agimat/env` \u6587\u4ef6\u4e2d\u8bbe\u7f6e `LOG_LEVEL=DEBUG` \u67e5\u770b\u8be6\u7ec6\u65e5\u5fd7\u3002\n\n### 3. \u914d\u7f6e\u6a21\u578b\n\n\u4f7f\u7528CLI\u5de5\u5177\u5feb\u901f\u914d\u7f6e\uff1a\n\n```bash\n# \u6253\u5f00\u914d\u7f6e\u76ee\u5f55\nagimat config\n\n# \u6216\u8005\u4f7f\u7528VS Code\u7f16\u8f91\u914d\u7f6e\nagimat config --editor code\n```\n\n\u7f16\u8f91 `~/.agimat/env` \u6587\u4ef6\uff0c\u914d\u7f6e\u4f60\u7684API\u5bc6\u94a5\uff1a\n\n```bash\n# OpenAI API \u914d\u7f6e\nOPENAI_API_KEY=your_openai_api_key_here\n\n# Google AI \u914d\u7f6e \nGOOGLE_API_KEY=your_google_api_key_here\n\n# Anthropic \u914d\u7f6e\nANTHROPIC_API_KEY=your_anthropic_api_key_here\n```\n\n### 4. \u542f\u52a8\u670d\u52a1\n\n\u4f7f\u7528CLI\u5de5\u5177\u542f\u52a8\u670d\u52a1\uff1a\n\n```bash\n# \u542f\u52a8\u540e\u7aef\u670d\u52a1\u5668\nagimat server\n\n# \u542f\u52a8\u524d\u7aefUI\nagimat ui\n\n# \u6216\u8005\u540c\u65f6\u542f\u52a8\u4e24\u4e2a\u670d\u52a1\uff08\u5728\u4e0d\u540c\u7ec8\u7aef\uff09\nagimat server --port 8000\nagimat ui --port 8501\n```\n\n\u670d\u52a1\u5c06\u5728 `http://localhost:8000` \u542f\u52a8\uff0cUI\u5728 `http://localhost:8501`\u3002\n\n## \ud83d\udd27 \u4f7f\u7528\u793a\u4f8b\n\n### API\u8c03\u7528\n\n```bash\n# \u57fa\u7840\u5bf9\u8bdd\ncurl -X POST \"http://localhost:8000/api/v1/agents/invoke\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"agent_name\": \"agent_test\",\n \"query\": \"\u4f60\u597d\uff0c\u8bf7\u4ecb\u7ecd\u4e00\u4e0b\u4f60\u81ea\u5df1\",\n \"task_id\": \"test-task-1\"\n }'\n```\n\n### \u6d41\u5f0f\u5bf9\u8bdd\n\n```bash\n# SSE\u6d41\u5f0f\u54cd\u5e94\ncurl -X POST \"http://localhost:8000/api/v1/agents/stream\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"agent_name\": \"agent_test\", \n \"query\": \"\u5199\u4e00\u9996\u5173\u4e8eAI\u7684\u8bd7\",\n \"task_id\": \"stream-task-1\"\n }'\n```\n\n### WebSocket\u8fde\u63a5\n\n```javascript\nconst ws = new WebSocket('ws://localhost:8000/api/v1/agents/ws');\n\nws.onopen = () => {\n ws.send(JSON.stringify({\n agent_name: \"agent_test\",\n query: \"\u89e3\u91ca\u4e00\u4e0b\u91cf\u5b50\u8ba1\u7b97\u7684\u539f\u7406\",\n task_id: \"ws-task-1\"\n }));\n};\n\nws.onmessage = (event) => {\n const data = JSON.parse(event.data);\n console.log(data);\n};\n```\n\n## \ud83e\uddea \u6d4b\u8bd5\u914d\u7f6e\n\n\u8fd0\u884c\u6a21\u578b\u914d\u7f6e\u6d4b\u8bd5\uff1a\n\n```bash\n# \u5b8c\u6574\u6d4b\u8bd5\npython test_models.py\n\n# \u5feb\u901f\u6d4b\u8bd5\npython test_models.py --quick\n```\n\n## \ud83d\udcda \u6587\u6863\n\n- [\u591a\u6a21\u578b\u914d\u7f6e\u6307\u5357](MULTI_MODEL_SETUP.md) - \u8be6\u7ec6\u7684\u6a21\u578b\u914d\u7f6e\u8bf4\u660e\n- [MCP\u5de5\u5177\u6587\u6863](MCP_FASTMCP_IMPLEMENTATION.md) - MCP\u5de5\u5177\u96c6\u6210\u6307\u5357\n- [API\u6587\u6863](http://localhost:8000/docs) - \u542f\u52a8\u670d\u52a1\u540e\u8bbf\u95ee\n\n## \ud83c\udfd7\ufe0f \u9879\u76ee\u7ed3\u6784\n\n```\nagimat-agent/\n\u251c\u2500\u2500 api/ # API\u8def\u7531\u5c42\n\u2502 \u2514\u2500\u2500 agent.py # Agent API\u7aef\u70b9\n\u251c\u2500\u2500 core/ # \u6838\u5fc3\u4e1a\u52a1\u903b\u8f91\n\u2502 \u251c\u2500\u2500 apps/\n\u2502 \u2502 \u251c\u2500\u2500 agents/ # Agent\u5b9e\u73b0\n\u2502 \u2502 \u251c\u2500\u2500 mcp/ # MCP\u5de5\u5177\u96c6\u6210\n\u2502 \u2502 \u251c\u2500\u2500 tools/ # \u672c\u5730\u5de5\u5177\n\u2502 \u2502 \u2514\u2500\u2500 builder/ # Agent\u6784\u5efa\u5668\n\u2502 \u2514\u2500\u2500 models/ # \u6570\u636e\u6a21\u578b\n\u251c\u2500\u2500 lib/ # \u901a\u7528\u5e93\n\u2502 \u251c\u2500\u2500 llm_provider.py # \u591a\u6a21\u578b\u652f\u6301\n\u2502 \u2514\u2500\u2500 config.py # \u914d\u7f6e\u7ba1\u7406\n\u251c\u2500\u2500 conf.yaml # \u4e3b\u914d\u7f6e\u6587\u4ef6\n\u251c\u2500\u2500 main.py # \u5e94\u7528\u5165\u53e3\n\u2514\u2500\u2500 requirements.txt # \u4f9d\u8d56\u5305\n```\n\n## \ud83c\udfa8 UI \u542f\u52a8\n\n\u4f7f\u7528CLI\u5de5\u5177\u542f\u52a8UI\uff1a\n\n```bash\n# \u4f7f\u7528\u9ed8\u8ba4\u7aef\u53e3\u542f\u52a8UI\nagimat ui\n\n# \u6307\u5b9a\u7aef\u53e3\u542f\u52a8UI\nagimat ui --port 8501\n\n# \u4f7f\u7528uv\u76f4\u63a5\u542f\u52a8\uff08\u5982\u679c\u9700\u8981\uff09\nuv run streamlit run ui/ui.py --server.port 8501\n```\n\n## \ud83e\udd1d \u8d21\u732e\u6307\u5357\n\n1. Fork \u672c\u4ed3\u5e93\n2. \u521b\u5efa\u7279\u6027\u5206\u652f (`git checkout -b feature/AmazingFeature`)\n3. \u63d0\u4ea4\u66f4\u6539 (`git commit -m 'Add some AmazingFeature'`)\n4. \u63a8\u9001\u5230\u5206\u652f (`git push origin feature/AmazingFeature`)\n5. \u521b\u5efa Pull Request\n\n## \ud83d\udcc4 \u8bb8\u53ef\u8bc1\n\n\u672c\u9879\u76ee\u91c7\u7528 MIT \u8bb8\u53ef\u8bc1 - \u67e5\u770b [LICENSE](LICENSE) \u6587\u4ef6\u4e86\u89e3\u8be6\u60c5\u3002\n\n## \ud83d\ude4f \u81f4\u8c22\n\n- [LangChain](https://github.com/langchain-ai/langchain) - \u5f3a\u5927\u7684LLM\u5e94\u7528\u6846\u67b6\n- [FastAPI](https://github.com/tiangolo/fastapi) - \u73b0\u4ee3\u5316\u7684Web API\u6846\u67b6\n- [MCP](https://github.com/modelcontextprotocol) - \u6a21\u578b\u4e0a\u4e0b\u6587\u534f\u8bae\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "\u57fa\u4e8e FastAPI \u548c LangGraph \u7684\u667a\u80fd\u4ee3\u7406\u7ba1\u7406\u5e73\u53f0",
"version": "0.1.9",
"project_urls": {
"Documentation": "https://github.com/your-username/agimat-agent#readme",
"Homepage": "https://github.com/your-username/agimat-agent",
"Repository": "https://github.com/your-username/agimat-agent"
},
"split_keywords": [
"agent",
" ai",
" fastapi",
" langchain",
" mcp"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "5f17b3baca44f053ed8b12fb88580a6af3ec5bba8d07ba97d8f0570a0191393a",
"md5": "30b1db62743ec8f06456ff6e2956a4f8",
"sha256": "ea5712e415d402b43b46b368602968efdfbffe45582f4c3862349e704c3b65f7"
},
"downloads": -1,
"filename": "agimat_agent-0.1.9-py3-none-any.whl",
"has_sig": false,
"md5_digest": "30b1db62743ec8f06456ff6e2956a4f8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.12",
"size": 64173,
"upload_time": "2025-07-12T16:53:32",
"upload_time_iso_8601": "2025-07-12T16:53:32.982778Z",
"url": "https://files.pythonhosted.org/packages/5f/17/b3baca44f053ed8b12fb88580a6af3ec5bba8d07ba97d8f0570a0191393a/agimat_agent-0.1.9-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "40045068d7714aea8c72a26e77375eee07cf8cb96bea7d241117152d475d06f2",
"md5": "a8456ed4963edbf605d7670ec042b27c",
"sha256": "e3f49d1fd4156ad51b1bfd7876264e8b1315d9dc3fb8dcfdb0d6edffb5fef087"
},
"downloads": -1,
"filename": "agimat_agent-0.1.9.tar.gz",
"has_sig": false,
"md5_digest": "a8456ed4963edbf605d7670ec042b27c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.12",
"size": 40311,
"upload_time": "2025-07-12T16:53:34",
"upload_time_iso_8601": "2025-07-12T16:53:34.590522Z",
"url": "https://files.pythonhosted.org/packages/40/04/5068d7714aea8c72a26e77375eee07cf8cb96bea7d241117152d475d06f2/agimat_agent-0.1.9.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-12 16:53:34",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "your-username",
"github_project": "agimat-agent#readme",
"github_not_found": true,
"lcname": "agimat-agent"
}