智能体服务
Project description
Agent Server
一个基于 Google ADK (Agent Development Kit) 和 FastAPI 构建的智能体服务服务器,用于运行和管理 AI 代理。
项目概述
agent-server 提供了多种接口方式来与 AI 代理进行交互,包括 HTTP API、AGUI 接口和命令行界面。
核心功能
1. ADK Server
基于 FastAPI 的 HTTP API 服务器,使用 Google ADK 的 Runner 来执行代理。
- 功能: 提供标准的 HTTP API 接口
- 会话管理: 支持会话创建和管理
- 安全: 包含用户白名单中间件
- 启动命令:
agent-server-adk
2. AGUI Server
提供 AGUI (Agent Graphical User Interface) 接口,用于图形化交互。
- 主要端点:
POST /agui/api/v1/chat/completions- 聊天完成接口GET /agui/api/v1/reload- 热重载代理配置GET /agui/api/v1/health- 健康检查
- 启动命令:
agent-server-agui
3. CMD Server
命令行交互界面,使用 rich 库实现彩色输出和 Markdown 渲染。
- 功能:
- 任务提交和执行
- 会话管理(列出、删除)
- 实时输出代理响应
- 支持工具调用和函数响应展示
- 启动命令:
agent-server-cmd
技术架构
依赖
- Google ADK: Agent Development Kit,用于代理运行
- FastAPI: Web 框架,提供 HTTP API
- Uvicorn: ASGI 服务器
- Rich: 命令行美化输出
- Python Dotenv: 环境变量管理
工具类 (utils.py)
- Utils.Service: 提供 session 和 memory 服务的创建
memory_service(): 创建记忆服务session_service(): 创建会话服务
- Utils.Agent: 负责代理的加载和运行器创建
load_adk_agents(): 从指定路径加载代理配置create_adk_agent_agui_runner(): 创建 AGUI 运行器create_adk_agent_adk_runner(): 创建 ADK 运行器
配置说明
配置文件:.server.env
# 代理配置路径
AGENTS_PATH=/Users/fubo/develop/apps/agent-os/agents
# 会话服务数据库 URI(留空使用内存服务)
SESSION_SERVICE_URI=
# 记忆服务 URI(留空使用内存服务)
MEMORY_SERVICE_URI=
# 用户服务 URI
USER_SERVICE_URI=
# 追踪服务 URI
TRACE_SERVICE_URI=
# 服务器监听地址
HOST=0.0.0.0
# 服务器端口
PORT=8000
安装与使用
安装依赖
pip install -e .
启动服务
# 启动 AGUI 服务器
agent-server-agui
# 启动命令行界面
agent-server-cmd
# 启动 ADK 服务器
agent-server-adk
项目结构
agent-server/
├── src/
│ └── agent_server/
│ ├── __init__.py
│ ├── adk_server.py # ADK HTTP 服务器
│ ├── agui_server.py # AGUI 服务器
│ ├── cmd_server.py # 命令行服务器
│ ├── utils.py # 工具类
│ └── .server.env # 配置文件
├── tests/
├── pyproject.toml
├── Dockerfile
└── README.md
开发信息
- 版本: 0.0.1
- 作者: fubo fb_linux@163.com
- 许可证: MIT
- Python 版本: >= 3.10
依赖项
agent-base>=0.1.2fastapiuvicornrichpython-dotenvgoogle-adk
测试
pip install -e ".[test]"
pytest
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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
File details
Details for the file agent_os_server-0.0.6.tar.gz.
File metadata
- Download URL: agent_os_server-0.0.6.tar.gz
- Upload date:
- Size: 10.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b514be3bcfceb121e1bf4c865bdd02ec1d119b0c093a45f000ac970823d9181
|
|
| MD5 |
40e9bf2f4e2ff61139dbc5ba5c35ca56
|
|
| BLAKE2b-256 |
7062973ca431dde1204fbf5e20055c657bcd6a85cb53efe2879c9a9c5d8e520f
|
File details
Details for the file agent_os_server-0.0.6-py3-none-any.whl.
File metadata
- Download URL: agent_os_server-0.0.6-py3-none-any.whl
- Upload date:
- Size: 12.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dc7bf8a26f5727a537868b4da2c2fa953e4e363c431a8e5d64fef1d3ea7a91ef
|
|
| MD5 |
00c61e7243900bc5f94dffc515ba31b0
|
|
| BLAKE2b-256 |
313a43fb465c478b1d582997ce20cede5140b9731ae3ba18b4255d7f8b1cc0b9
|