Skip to content

FreezeSoul/common-agent-framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Common Agent Framework

配置驱动、"一切皆为工具" (Everything is a Tool) 的多智能体框架

✨ 特性 (Features)

  • 🧩 配置驱动架构 (Config-Driven):通过 YAML/JSON 定义 Agent 行为,无需修改代码。
  • 🤖 多智能体协作 (Multi-Agent):Principal Agent 拆解任务,Specialist Agent 并行执行。
  • 🛠️ 统一工具系统 (Unified Tool System)
    • 原子工具 (Atomic Tools):内置文件、网页搜索、代码执行、终端操作等基础工具。
    • 技能 (Skills):基于 Markdown 定义的复合能力,作为智能体的"专业技能蓝图"。
    • MCP 集成 (MCP Integration):全面支持 Model Context Protocol (如 Chrome DevTools, Filesystem)。
  • 🧠 可插拔范式 (Pluggable Paradigms):支持 ReAct, Plan-and-Solve, Reflection, Auto (Autonomous Loop) 等多种思考模式的即时切换。
  • 🔌 接口导向 (Protocol-Oriented):基于 Python Protocol 的高度解耦架构。
  • ⚡ 异步与流式 (Async & Streaming):专为高并发和流式输出设计的底层核心。

🚀 快速开始 (Quick Start)

1. 安装 (Installation)

git clone https://github.com/freezesoul/common-agent-framework.git
cd common-agent-framework
pip install -r requirements.txt

2. 配置 (Configuration)

复制并配置环境变量:

cp .env.example .env
# 编辑 .env 文件,添加你的 API_KEY (如 OpenAI, DeepSeek 等)

(可选) 在 mcp.json 中配置 MCP 服务器:

{
  "mcp_servers": {
    "chrome": {
      "command": "npx",
      "args": ["-y", "chrome-devtools-mcp@latest"]
    }
  }
}

3. 使用示例 (Usage Example)

使用 Unified Facade (统一门面) 的标准初始化模式:

import asyncio
from core.agents.factory import AgentFactory
from core.config import AgentConfig, AgentType
from tools import ToolFacade
from skills import SkillFacade

async def main():
    # 1. 初始化能力层 (Unified API)
    ToolFacade.initialize()       # 加载内置工具 & MCP 服务
    await SkillFacade.initialize() # 加载 Markdown 定义的技能

    # 2. 创建 Agent
    factory = AgentFactory()
    config = AgentConfig(
        name="Assistant",
        type=AgentType.WORKER,
        model="deepseek-chat",
        tools=["web_search", "file_read"] # 按名称引用工具
    )
    agent = factory.create_agent(config)

    # 3. 执行任务
    result = await agent.run("调研 2025 年最新的 AI 趋势")
    print(result.result)

if __name__ == "__main__":
    asyncio.run(main())

📚 文档 (Documentation)

深入了解框架的各个方面:

  1. 整体架构 (Architecture) - 设计理念、架构图与核心组件。
  2. 智能体 (Agents) - Principal/Worker 模式与 ReAct/Plan/Reflection 范式说明。
  3. 工具系统 (Tools) - 原子工具、MCP 集成与会话管理。
  4. MCP 集成 (MCP) - Model Context Protocol 的配置与使用。
  5. 技能系统 (Skills) - Markdown 驱动的技能定义与 Facade 模式。
  6. 协议 (Protocols) - 核心接口定义与交互协议。

📦 项目结构 (Project Structure)

common-agent-framework/
├── core/              # 核心内核: Agent, Config, Context, Paradigms, LLMs
│   ├── agents/        # Agent 实现
│   ├── paradigms/     # 认知架构 (ReAct, Plan, etc)
│   ├── llms/          # LLM 接口封装
│   ├── context/       # 记忆与上下文管理
│   └── interfaces.py  # 核心协议定义
├── protocols/         # 交互协议实现 (MCP, A2A)
├── tools/             # 工具定义 & MCP 集成
│   ├── builtin/       # 原子工具 (File, Web, Code...)
│   └── facade.py      # ToolFacade 入口
├── skills/            # 技能定义 & Facade
├── examples/          # 示例与测试脚本
└── docs/              # 详细文档

🤝 贡献 (Contribution)

欢迎提交代码!请确保遵循 "Everything is a Tool" 的设计哲学。

📄 许可证 (License)

MIT License

About

Common Agent Framework

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages