# seerlord_ai
**Repository Path**: seerlord/seerlord_ai
## Basic Information
- **Project Name**: seerlord_ai
- **Description**: SeerLord AI :基于微内核架构与 LangGraph 的下一代模块化 AI 智能体编排平台,原生支持 MCP 协议与人机协同(Human-in-the-loop),让复杂 Agent 开发更稳定、更灵活。
- **Primary Language**: Python
- **License**: MIT
- **Default Branch**: master
- **Homepage**: https://www.seerlord.cn
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 1
- **Created**: 2025-12-12
- **Last Updated**: 2026-01-29
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# SeerLord AI
**中文文档** | [English](README.md)
> **SeerLord AI**:一个基于**微内核 + 插件化架构**构建的模块化 AI 平台。它利用 LangGraph 进行强大的智能体(Agent)编排,支持灵活的插件扩展,旨在为开发者提供一个高效、可扩展的 AI 应用开发框架。
## SeerLord AI:重新定义 AI Agent 开发架构
在构建复杂的 AI 应用时,我们往往面临代码耦合严重、扩展困难、状态管理混乱等痛点。 SeerLord AI 正是为了解决这些问题而生。
作为一个 企业级 AI Agent 编排平台 ,SeerLord AI 采用了先进的 "Micro-Kernel + Plugin"(微内核+插件) 架构设计。这意味着它的核心(Kernel)仅负责最基础的路由、记忆管理和协议适配,而所有的业务能力(如教程生成、实时新闻、数据分析)都通过独立的插件(Plugin)实现。这种设计实现了真正的业务隔离与即插即用。
## 为什么选择 SeerLord AI?
1. 强大的编排能力 :基于 LangGraph 构建,原生支持复杂的图结构工作流(Graph Workflow),轻松实现循环、分支、回退等高级逻辑,而非简单的线性链(Chain)。
2. 生产级稳定性 :全异步(Asyncio)后端设计,内置数据库连接池管理、全局异常熔断机制,确保在高并发场景下的稳健运行。
3. 标准化的工具生态 :全面集成 Model Context Protocol (MCP) ,让 Agent 连接外部世界(文件系统、GitHub、数据库)变得标准化、通用化。
4. **可控性设计**:深度集成了 **Human-in-the-loop(人机协同)** 模式。Agent 在执行关键规划时可自动暂停,等待人工审批或修正,让 AI 的每一步都安全可控。
5. **自主进化的技能内核 (Voyager Agent)**:这是 SeerLord AI 的**核心亮点**。不同于传统 Agent 仅具备预设的通用能力,SeerLord 内置了 **Voyager Agent** 作为基础技能引擎。它具备**代码编写、自我纠错、技能沉淀与复用**的能力,能够随着任务的执行不断积累新技能,实现真正的“越用越强”。
## 🌟 项目亮点
- **双模式路由 (Dual-Mode Routing)**: 支持 "Auto" 自动意图识别模式与 "Manual" 手动指定智能体模式。用户既可以依赖 AI 自动规划,也可以强制指定特定 Agent(如 Tutorial Agent)执行任务,确保结果的确定性。
- **分层智能体体系 (Hierarchical Agent System)**:
- **基础智能体 (Voyager Agent - The Core)**: 项目的灵魂所在。作为通用的技能内核,它赋予了系统自主学习和进化的能力。其他 Agent 均构建于其上,调用其动态生成的技能来解决具体问题。
- **业务智能体 (Business Agents)**: 如 `Tutorial Agent`,专注于特定领域的业务流程。它们不重复造轮子,而是通过委托 Voyager Agent 获取底层能力,从而专注于高层逻辑。
- **微内核架构 (Micro-Kernel)**: 核心系统轻量稳定,负责生命周期管理、上下文共享和资源调度。
- **Skills 快速通道 (Fast Track)**: 针对简单指令(如计算、查询)提供毫秒级响应的技能执行路径。这些是系统内置的**静态原子技能**(如 Calculator, CurrentTime),无需复杂的规划流程。
- **插件化系统 (Plugin System)**: 所有的业务能力(如新闻播报、教程生成、金融分析等)均通过插件实现,即插即用。
- **智能体编排 (LangGraph)**: 利用 LangGraph 构建复杂的有状态多智能体工作流。
- **MCP 支持**: 集成 Model Context Protocol (MCP),实现标准化的上下文和工具交互。
- **双引擎知识系统**: 结合了标准 **RAG**(基于 Qdrant 的向量检索)用于高效文档检索,以及先进的 **GraphRAG**(基于 Neo4j 的图谱检索)用于深度实体关系推理与混合搜索。
- **高性能后端**: 基于 FastAPI 构建的异步后端,支持 SSE 流式响应。
## 🔌 内置生态系统
### 插件 (Agents)
SeerLord 在 `server/plugins/` 目录下提供了丰富的内置插件:
- **Comic Book Generator**: 自动根据故事生成漫画。
- **Data Analyst**: 数据分析与报告生成专家。
- **Deep Research**: 针对复杂话题进行深度研究。
- **Document Translator**: 保持格式的文档翻译工具。
- **FTA Agent**: 故障树分析 (Fault Tree Analysis) 智能体,用于系统可靠性工程。
- **General Chat**: 通用对话智能体。
- **Novel Generator**: 小说与创意故事写作助手。
- **Podcaster**: 播客脚本与音频内容生成。
- **PPT Generator**: 自动生成演示文稿 (PPT)。
- **Reasoning Engine**: 处理复杂问题的推理引擎。
### MCP 服务
在 `mcp_services/` 目录下集成了以下 MCP 服务以扩展能力:
- **Markdownify**: 将网页内容转换为干净的 Markdown。
- **MDToFiles**: 将 Markdown 文件拆分为多个文件。
- **News**: 获取并处理实时新闻更新。
## 🏗️ 架构概览 (Architecture)
```mermaid
graph TD
Start([Start]) --> CheckMode{"手动模式? (Manual)"}
CheckMode -- Yes --> Planner["Planner Node
(生成单一任务计划)"]
CheckMode -- No --> SkillRouter["Skill Router
(快速意图识别)"]
SkillRouter -->|"Match Found"| SkillExecutor["Skill Executor
(快速执行)"]
SkillExecutor --> End([End])
SkillRouter -->|"No Match"| Planner
Planner --> CheckApproval{"需人工审批?"}
CheckApproval -- Yes --> HumanApproval["Human Approval
(Interrupt Point)"]
CheckApproval -- No --> Dispatcher
HumanApproval --> Dispatcher["Dispatcher Node
(任务分发)"]
Dispatcher -->|"Task Done"| FinalAnswer["Final Answer
(结果汇总)"]
FinalAnswer --> End
Dispatcher -->|Chitchat| ChitchatNode[Chitchat Node]
ChitchatNode --> Progress
Dispatcher -->|"Plugin A"| PluginA[Plugin: Tutorial Generator]
Dispatcher -->|"Plugin B"| PluginB[Plugin: FTA Agent]
Dispatcher -->|"Plugin C"| PluginC[Plugin: News Reporter]
subgraph PluginExecution ["Plugin Execution"]
PluginA -.->|Delegate Skill| Voyager[Base: Voyager Agent]
PluginA --> Critic
PluginB --> Critic
PluginC --> Critic
Voyager --> Critic
end
Critic["Critic Node
(结果评估/打分)"]
Critic -->|Satisfied| Progress["Progress Node
(Step + 1)"]
Critic -->|"Retry (Feedback)"| Dispatcher
Critic -->|"Replan (Major Fail)"| Planner
Progress --> Dispatcher
```
## 🛠️ 技术栈
- **语言**: Python 3.11+
- **框架**: FastAPI, LangChain, LangGraph
- **数据库**: PostgreSQL(可选;用于持久化/Checkpoint)
- **向量库**: Qdrant(可选;用于记忆、技能检索与 RAG)
- **图数据库**: Neo4j(可选;用于知识图谱与 GraphRAG)
- **工具库**: Pydantic, Loguru, SSE-Starlette
- **管理台**: Vue 3 + Vite + TypeScript(位于 `admin/`)
## 📂 目录结构
```
seerlord_ai/
├── admin/ # Vue3 管理台(可选)
├── server/
│ ├── core/ # 核心配置与 LLM 封装
│ ├── kernel/ # 微内核实现 (注册表, MCP 管理, 记忆管理)
│ ├── main.py # 应用入口
├── mcp_services/ # MCP 服务实现
├── scripts/ # 实用脚本
├── mcp.json # MCP 服务配置(启动时如存在会自动加载)
└── pyproject.toml # 项目依赖配置
```
## 🚀 快速开始
### 前置要求
- Python 3.11 或更高版本
- Node.js 18+(可选;用于 `admin/` 与部分 MCP 服务)
- PostgreSQL(可选;用于 Checkpoint 与技能元数据)
- Qdrant(可选;用于向量记忆与技能检索)
- Neo4j(可选;用于知识图谱与 GraphRAG)
### 安装依赖
建议使用 Poetry 或 pip 进行安装。
```bash
# 使用 pip 安装依赖
pip install -r requirements.txt
```
### 配置环境
复制环境变量示例文件并修改配置:
```bash
cp .env.example .env
# 编辑 .env 文件,配置 LLM Provider 与(可选)数据库/Qdrant
```
关键说明:
- `LLM_PROVIDER` 支持 `openai` 与 `ollama`(兼容 OpenAI `/v1` 协议的服务也可用)。
- 未配置数据库时,LangGraph 会回退到内存 Checkpoint(重启后状态丢失)。
- 未配置 Qdrant 时,向量记忆与基于向量的技能检索会被禁用。
- 大部分 `/api/*` 与 `/agent` 路由需要携带用。
- 未配置 Neo4j 时,知识图谱与 GraphRAG 相关功能将不可租户头 `X-API-Key`;本地开发可用 `sk-admin-test`(见 `server/api/auth.py`)。
### 启动服务
```bash
# 启动后端服务
python run.py
```
或:
```bash
python -m server.main
```
### 健康检查
- `GET http://localhost:8000/health`
- API 文档:`http://localhost:8000/docs`
### 首启初始化管理员(可选)
用于创建第一个管理员账号(仅当用户表为空时允许执行一次):
1. 在 `.env` 中设置 `SETUP_TOKEN`
2. 调用:
- `POST http://localhost:8000/api/v1/setup/initialize`
- Header:`X-Setup-Token: `
- Body:`{"username":"admin","password":"change_me_please"}`
### 启动管理台(可选)
```bash
cd admin
npm install
npm run dev
```
可通过 `VITE_API_URL`(以及可选的 `VITE_TENANT_API_KEY`)指向后端地址。
## 📄 开源协议
本项目采用 [MIT 许可证](LICENSE) 开源。
这意味着您可以自由地:
- ✅ 商业使用
- ✅ 修改代码
- ✅ 分发副本
- ✅ 私有使用
只需在副本中包含原始许可证和版权声明即可。