GitHub 仓库: https://github.com/wenhaoyuan24/AgentForge

📋 项目概览

AgentForge 是一个灵活的智能体(Agent)框架项目,集成了两个强大的 Agent 引擎,为开发者提供多种选择来构建和定制自己的 AI 智能体。

该项目包含两个核心引擎:

  • ClaudeAgent: 基于 Claude Agent SDK 的实现,提供开箱即用的强大功能
  • DeepAgent: 基于 LangChain 框架的实现,具有更强的扩展性和灵活性

🚀 快速开始

前置要求

1. 克隆仓库

git clone https://github.com/wenhaoyuan24/AgentForge.git
cd AgentForge

2. 安装 uv 工具

uv 是一个快速的 Python 包管理工具,用于创建和管理虚拟环境:

curl -LsSf https://astral.sh/uv/install.sh | sh

3. 配置 uv(可选)

创建或编辑配置文件 ~/.config/uv/uv.toml,添加以下内容以使用国内镜像源:

index-strategy = "unsafe-first-match"
index-url = "https://pypi.tuna.tsinghua.edu.cn/simple"
extra-index-url = [
    "https://pypi.org/simple"
]

选择运行方式

你可以根据需求选择使用 ClaudeAgent 或 DeepAgent。

方案 A: 使用 ClaudeAgent(推荐)

ClaudeAgent 基于 Claude Agent SDK 构建,提供更稳定和完善的功能。

# 1. 创建虚拟环境 (Python 3.11)
uv venv --python 3.11 .env/claudeagent

# 2. 激活虚拟环境
# Linux/Mac
source .env/claudeagent/bin/activate
# Windows
.envclaudeagentScriptsactivate

# 3. 进入项目目录
cd claudeagent

# 4. 安装依赖
pip install -r requirements.txt

# 5. 配置 API
# 编辑 config/config.yaml,配置你的 API 密钥

# 6. 运行 Web 界面(推荐)
# Linux
./run.sh --web
# Windows
./run.bat --web

# 或使用 CLI 模式执行任务
# Linux
./run.sh -p "你的任务描述"
# Windows
./run.bat -p "你的任务描述"

方案 B: 使用 DeepAgent

DeepAgent 基于 LangChain 框架,具有以下特点:

优势

  • 支持多种大模型:火山引擎免费模型(doubao1.8、GLM4.7、DeepSeekV3.2、Kimi-K2)
  • 基于 LangChain 框架,扩展性强
  • 社区生态丰富

劣势

  • 默认不支持 bash、skill 等工具,需自定义工具适配(本项目已完成适配)
# 1. 创建虚拟环境 (Python 3.11)
uv venv --python 3.11 .env/deepagent

# 2. 激活虚拟环境
# Linux/Mac
source .env/deepagent/bin/activate
# Windows
.envdeepagentScriptsactivate

# 3. 进入项目目录
cd deepagent

# 4. 安装依赖
pip install -r requirements.txt

# 5. 配置 API
# 编辑 config/config.yaml,配置你的 API 密钥

# 6. 运行 Web 界面
# Linux
./run.sh --web
# Windows
./run.bat --web

# 或使用 CLI 模式执行任务
# Linux
./run.sh -p "你的任务描述"
# Windows
./run.bat -p "你的任务描述"

环境切换

如果你想在两个引擎之间切换,只需激活对应的虚拟环境:

# 切换到 ClaudeAgent
source .env/claudeagent/bin/activate
cd claudeagent

# 切换到 DeepAgent
source .env/deepagent/bin/activate
cd deepagent

🧩 ClaudeAgent 详解

特点

ClaudeAgent 是基于 Claude Agent SDK 开发的智能体实现,具有以下特点:

  • 原生支持 Claude 模型的强大能力
  • 内置丰富的工具和技能系统
  • 提供 CLI 和 Web 两种交互界面
  • 支持对话历史持久化
  • 易于扩展和自定义

项目结构

claudeagent/
├── src/
│   ├── cli.py                           # CLI 入口点
│   └── claudeagent/                     # 核心包
│       ├── __init__.py
│       ├── core/                        # 核心模块
│       │   ├── agent.py                 # Agent 主逻辑
│       │   ├── config.py                # 配置管理
│       │   └── __init__.py
│       ├── ui/                          # 用户界面
│       │   ├── console.py               # CLI 控制台界面
│       │   ├── web/                     # Web 界面
│       │   │   ├── server.py            # Flask Web 服务器
│       │   │   ├── templates/           # HTML 模板文件
│       │   │   └── __init__.py
│       │   └── __init__.py
│       ├── prompts/                     # 提示词管理
│       │   ├── loader.py                # 提示词加载器
│       │   ├── system_prompt.py         # 系统提示词
│       │   └── __init__.py
│       ├── storage/                     # 存储层
│       │   ├── database.py              # 数据库操作
│       │   └── __init__.py
│       └── tools/                       # 工具层
│           └── __init__.py
├── config/
│   └── config.yaml                      # 配置文件
├── data/
│   └── conversations.db                 # SQLite 数据库
├── requirements.txt                     # Python 依赖
├── webserver.py                         # Web 服务启动脚本
├── run.sh                               # 启动脚本(Linux)
├── run.bat                              # 启动脚本(Windows)
└── README.md                            # 项目文档

核心模块说明

  • core/agent.py: 实现 Agent 的核心逻辑,处理用户输入、调用工具、生成响应
  • core/config.py: 管理配置文件的加载和解析
  • ui/console.py: CLI 控制台界面,提供命令行交互体验
  • ui/web/: Web 界面相关文件,基于 Flask 框架
  • prompts/: 管理系统提示词和技能提示词
  • storage/database.py: 处理对话历史的持久化存储
  • tools/: 工具模块,可扩展自定义工具

🔧 DeepAgent 详解

特点

DeepAgent 基于 LangChain 框架构建,具有以下特点:

  • 支持多种大语言模型(LLM)
  • 基于成熟的 LangChain 生态系统
  • 灵活的工具集成机制
  • 支持自定义工具和技能
  • 提供 CLI 和 Web 两种交互模式

项目结构

deepagent/
├── src/
│   ├── cli.py                        # CLI 入口点
│   ├── deepagent/                    # 核心包
│   │   ├── core/                     # 核心模块 (agent.py, config.py)
│   │   ├── ui/                       # UI (console.py, web/)
│   │   ├── tools/                    # 工具模块 (shell.py)
│   │   ├── storage/                  # 存储层 (database.py)
│   │   └── prompts/                  # 提示词 (system_prompt.py)
│   └── deepagents-master/            # LangChain 官方库
├── config/config.yaml                # 主配置文件
├── data/conversations.db             # 对话历史数据库
├── requirements.txt                  # Python 依赖
├── run.sh                            # 快速启动脚本(Linux)
└── run.bat                           # 快速启动脚本(Windows)

核心模块说明

  • core/agent.py: Agent 核心逻辑,基于 LangChain 框架实现
  • tools/shell.py: Shell 工具,支持执行 bash 命令
  • ui/: 用户界面模块,包含 CLI 和 Web 界面
  • storage/: 数据持久化层
  • deepagents-master/: LangChain 官方库的集成

📁 整体项目结构

AgentForge/
├── claudeagent/                # Claude Agent SDK 实现
│   ├── src/                    # 源代码
│   ├── config/                 # 配置文件
│   ├── data/                   # 数据存储
│   └── README.md
├── deepagent/                  # LangChain 框架实现
│   ├── src/                    # 源代码
│   ├── config/                 # 配置文件
│   ├── data/                   # 数据存储
│   └── README.md
├── .env/                       # 虚拟环境
│   ├── claudeagent/            # ClaudeAgent 虚拟环境
│   ├── deepagent/              # DeepAgent 虚拟环境
│   └── README.md               # 虚拟环境配置文档
├── .claude/                    # Agent 记忆与技能
│   ├── CLAUDE.md               # Agent 记忆文档
│   └── skills/                 # Agent skills 目录
└── README.md                   # 项目主文档

🛠 Skills 系统

Skills(技能)是 AgentForge 的一个重要特性,允许你为 Agent 添加专门的能力。

Skills 存放位置

所有 skills 存放在 .claude/skills/ 目录下。

Skills 结构

每个 skill 通常包含:

  • SKILL.md: 技能的描述和使用说明
  • 相关的实现代码和资源文件

自定义 Skills

你可以根据需要创建自定义的 skills,扩展 Agent 的能力。具体方法请参考 .claude/skills/skill-creator/ 目录。

💡 使用场景

AgentForge 适用于多种场景:

  1. 代码助手: 帮助开发者编写、审查和调试代码
  2. 数据分析: 分析数据集,生成报告和可视化
  3. 内容创作: 生成博客文章、文档、社交媒体内容
  4. 研究助手: 搜索信息、总结文档、生成研究报告
  5. 任务自动化: 自动化重复性任务,提高工作效率

🔍 技术栈

ClaudeAgent

  • 核心框架: Claude Agent SDK
  • Web 框架: Flask
  • 数据库: SQLite
  • 语言: Python 3.11+

DeepAgent

  • 核心框架: LangChain
  • Web 框架: Flask
  • 数据库: SQLite
  • 语言: Python 3.11+
  • LLM 支持: Claude, OpenAI, 火山引擎模型等

🎯 两种引擎的选择建议

选择 ClaudeAgent 的场景:

  • 你想要更稳定、开箱即用的体验
  • 主要使用 Claude 模型
  • 需要快速上手,不想花太多时间配置

选择 DeepAgent 的场景:

  • 需要使用多种不同的 LLM 模型
  • 需要深度自定义和扩展
  • 熟悉 LangChain 生态系统
  • 预算有限,想使用免费的开源模型

📝 配置说明

两个引擎都需要配置 API 密钥,配置文件位于各自的 config/config.yaml

基本配置项:

# API 配置
api_key: "your-api-key-here"
model: "claude-3-5-sonnet-20241022"  # 或其他模型

# 其他配置项
max_tokens: 4096
temperature: 0.7

🤝 贡献指南

欢迎贡献代码、报告问题或提出建议!

📄 许可证

本项目采用开源许可证,具体请查看项目仓库。

🔗 相关链接

📧 联系方式

如有问题或建议,欢迎通过 GitHub Issues 联系。


AgentForge - 构建你的智能体,释放 AI 的力量!