Observed since 20 Oct, 22:49 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
agent-os-base
基础智能体构建库
agent-base 是一个用于快速搭建智能体项目脚手架的 Python 库,核心目标是:
.env、agent.py、技能目录、本地函数目录、MCP 工具集目录google-adk 统一加载模型、Skills、本地函数工具、远端 MCP 工具核心代码位于 src/agent_base:
main.py:CLI 入口,解析命令并分发到 Operatoroperator.py:脚手架生成与文件落地逻辑agent_config.py:配置数据模型(Pydantic)adk_agent.py:智能体运行时封装,负责动态加载工具与技能observability/tracing.py:OpenTelemetry Trace 初始化templates/*.template:新建智能体时使用的代码和环境变量模板pyproject.toml 中定义:
>=3.10google-adk[extensions]>=1.27.0pydantic_yaml>=1.6.0agent-base = agent_base.main:mainagent-base -an <agent_name> create-agent \
-ad "<description>" \
-ai "<instruction>" \
-mdu "<model_base_url>" \
-mdn "<model_name>" \
-mdk "<model_api_key>" \
-mdt 0.0 \
-teh "<trace_endpoint_host>"
执行后会在当前目录下生成:
./<agent_name>/
├── .env
├── __init__.py
├── agent.py
├── skills/
├── local-functions/
│ └── function_toolset.py
└── mcp-toolsets/
agent-base -an <agent_name> create-mcp-toolset \
-mpn "<mcp_name>" \
-mpu "<mcp_url>" \
-mpst "SSE|StreamableHTTP" \
-mpat "<optional_token>"
会在 ./<agent_name>/mcp-toolsets/ 下生成对应 JSON 配置文件。
create-skillcreate-local-function-tool当前在 operator.py 中仍是占位实现(pass 或空函数体)。
ADKAgent 初始化时会把三类能力合并到 tools:
本地函数工具
扫描 ./<agent_name>/local-functions/*.py,通过动态 import 抽取顶层函数并注册。
Skills
扫描 ./<agent_name>/skills/*,使用 google.adk.skills.load_skill_from_dir 加载后封装为 SkillToolset。
远端 MCP 工具
扫描 ./<agent_name>/mcp-toolsets/*.json,按 server_type 构建:
SSE -> SseServerParamsStreamableHTTP -> StreamableHTTPServerParams当提供 TRACE_ENDPOINT_HOST 时,会调用 setup_tracing(endpoint_host, experiment_id):
${endpoint_host}/v1/tracesx-mlflow-experiment-idexperiment_id 在示例中由当前时间戳(毫秒)生成。
你本地示例目录中的 tests/test_agent/agent.py 展示了最小可运行初始化流程:
.env(dotenv)AgentConfig + ModelProviderroot_agent = ADKAgent(...)示例技能中包含:
skills/calculator:通过 scripts/calculate.py 提供加减乘除脚本工具skills/comment-news:给出“先搜新闻,再客观评价”的技能流程skills/tavily-search:封装 Tavily CLI 的检索能力(含安装与命令范式)operator.py 使用 os.system 进行目录与文件创建,后续可考虑改为 pathlib/shutil 提高可维护性与安全性。create-skill、create-local-function-tool 还未完成。.env 中出现了真实样式的 API Key,建议立即替换并避免提交到版本库(应使用环境注入或密钥管理)。agent-base ... create-agent 生成智能体目录skills/ 与 local-functions/ 中补充能力mcp-toolsets/*.jsonagent.py 中实例化并运行智能体如需扩展,建议优先补齐 create-skill 与 create-local-function-tool 的自动化生成能力,这样项目可以形成完整的“从 0 到可运行”脚手架闭环。
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
google-adkEnvironment{
"extras": "extensions",
"marker": null,
"requires_python": ">=3.10",
"evaluation": "NOT_EVALUATED"
} | google-adk[extensions]<=1.34.0 | runtime |
pydantic_yamlEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.10",
"evaluation": "NOT_EVALUATED"
} | pydantic_yaml>=1.6.0 | runtime |
ag_ui_adkEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.10",
"evaluation": "NOT_EVALUATED"
} | ag_ui_adk | runtime |
pytestEnvironment{
"extras": "",
"marker": "extra == \"test\"",
"requires_python": ">=3.10",
"evaluation": "NOT_EVALUATED"
} | pytest>=6.0; extra == "test" | runtime |
pytest-covEnvironment{
"extras": "",
"marker": "extra == \"test\"",
"requires_python": ">=3.10",
"evaluation": "NOT_EVALUATED"
} | pytest-cov; extra == "test" | runtime |
bdist_wheel · 16.02 KB · Python py3
sdist · 14.89 KB · Python source
Observed since 20 Oct, 22:49 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:bf3453dc14ffcf6031420ca914c4af2beb767b8b74ad303270910c6ed4e8b080