AI Agent 探索平台,集成 RAG、Knowledge Graph、Memory、Skill、MCP 等核心能力。
- 🤖 双模式 Agent - ReAct(推理+行动)和 Plan(规划+执行)两种模式
- 📚 RAG 知识库 - 文档上传、向量检索、Reranking 重排序
- 🕸️ 知识图谱 - Neo4j 实体关系存储、可视化、图查询
- 🧠 记忆系统 - 短期/长期记忆,对话上下文管理
- 🔧 工具系统 - 三层架构(Primitives/Services/Specialists)
- 🔌 MCP 集成 - Model Context Protocol 动态工具加载
- 🎯 技能系统 - 预定义任务模板,可扩展
- 💬 流式对话 - SSE 实时输出,Markdown 渲染
- 🌓 主题切换 - 深色/浅色模式
| 层级 | 技术 |
|---|---|
| 前端 | React 19, Vite, TailwindCSS, Zustand, tRPC, react-markdown |
| 后端 | Hono, tRPC, Drizzle ORM, neo4j-driver, OpenAI SDK |
| 向量数据库 | PostgreSQL 16 + pgvector |
| 图数据库 | Neo4j 5 |
| 沙箱执行 | E2B Code Interpreter |
| Prompt | promptfoo + Handlebars |
aimine/
├── fe/ # React 前端
│ └── src/
│ ├── components/ # UI 组件 (ChatPanel, RAGPanel, KGPanel...)
│ ├── stores/ # Zustand 状态管理
│ └── trpc/ # tRPC 客户端
├── be/ # Hono 后端
│ └── src/
│ ├── db/ # Drizzle ORM + Schema
│ ├── lib/ # OpenAI, Neo4j 客户端
│ ├── services/ # 业务逻辑 (agent, rag, kg, memory, mcp...)
│ └── trpc/ # tRPC 路由
├── pkg/ # 共享包
│ ├── types/ # TypeScript 类型
│ ├── schema/ # Zod Schema
│ └── utils/ # 工具函数
├── prompts/ # Handlebars Prompt 模板
│ ├── agent/ # Agent 系统提示 (react.hbs, planner.hbs)
│ ├── subagent/ # SubAgent 提示
│ └── extraction/ # 信息抽取提示
└── skills/ # 技能配置 (WHAT - 任务模板)
├── code-review/ # 代码审查流程
├── data-analysis/ # 数据分析流程
├── document-qa/ # 文档问答流程
└── report-generation/ # 报告生成流程
- Node.js >= 20
- pnpm >= 9
- Docker & Docker Compose
# 克隆项目
git clone https://github.com/yourname/aimine.git
cd aimine
# 安装依赖
pnpm install
# 复制环境变量
cp env.example .env
# 编辑 .env 填入你的 API Key# 启动 PostgreSQL + Neo4j
pnpm db:up
# 推送数据库 schema
pnpm db:push# 同时启动前后端
pnpm dev
# 或分别启动
pnpm dev:be # 后端: http://localhost:3000
pnpm dev:fe # 前端: http://localhost:5173经典的 Reasoning + Acting 循环,适合简单直接的任务:
用户问题 → 思考 → 调用工具 → 观察结果 → 思考 → ... → 最终回答
先规划后执行,适合复杂多步骤任务:
用户问题 → 规划器 → 任务计划 → [用户确认] → 执行器 → SubAgents → 汇总结果
SubAgents 角色专家(WHO - 通用能力):
planner- 任务规划,分解复杂任务researcher- 信息检索,知识库和图谱查询coder- 代码实现,编写和执行代码critic- 质量审查,评估和改进建议writer- 内容创作,文档和报告撰写
三层架构设计:
| 工具 | 描述 |
|---|---|
bash |
在 E2B 沙箱中执行命令 |
file_read |
读取文件内容 |
file_write |
写入文件 |
| 工具 | 描述 |
|---|---|
rag_search |
知识库检索 |
rag_upload |
上传文档 |
kg_query |
查询知识图谱 |
kg_addEntity |
添加实体 |
kg_addRelation |
添加关系 |
memory_search |
搜索记忆 |
memory_add |
添加记忆 |
todo_* |
TODO 管理 |
mcp_* |
MCP 服务交互 |
| 工具 | 描述 |
|---|---|
specialist_list |
列出可用专家 |
specialist_call |
调用专家执行任务 |
- 文档上传(支持文本分块)
- 向量化存储(pgvector)
- 相似度检索
- Reranking 重排序(BGE-Reranker)
- Neo4j 存储实体和关系
- 可视化展示(Canvas 力导向图)
- Cypher 查询
- LLM 驱动的信息抽取
- 短期记忆(对话上下文)
- 长期记忆(向量检索)
- 记忆提升机制
- 按对话维度管理
- 支持 stdio 和 HTTP 传输
- 动态发现工具/资源/提示
- 多服务器连接管理
# OpenAI (必需)
OPENAI_API_KEY=sk-xxx
OPENAI_BASE_URL=https://api.openai.com/v1 # 可选,支持兼容 API
OPENAI_MODEL=gpt-4o # 可选,默认模型
# PostgreSQL (必需)
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/aimine
# Neo4j (必需)
NEO4J_URI=bolt://localhost:7687
NEO4J_USER=neo4j
NEO4J_PASSWORD=password
# E2B (代码执行)
E2B_API_KEY=e2b_xxx
# Reranker (可选)
RERANKER_MODEL=BAAI/bge-reranker-v2-m3pnpm dev # 启动开发服务器
pnpm build # 构建项目
pnpm lint # 类型检查
pnpm db:up # 启动数据库
pnpm db:down # 停止数据库
pnpm db:push # 推送 Schema
pnpm db:studio # 打开 Drizzle Studio
pnpm promptfoo # 运行 Prompt 测试- 对话面板 - 流式输出、Markdown 渲染、工具调用展示
- 知识库 - 文档管理、搜索测试
- 知识图谱 - 实体关系可视化
- 记忆管理 - 按对话查看和管理记忆
- TODO 管理 - Agent 执行计划追踪
- MCP 管理 - 服务器连接和工具查看
- 技能库 - 技能创建和编辑
MIT