Skip to content

Navigation Menu

Sign in
Sign up

Repository files navigation

AI Mine

AI Agent 探索平台,集成 RAG、Knowledge Graph、Memory、Skill、MCP 等核心能力。

TypeScript React Hono License

✨ 特性

  • 🤖 双模式 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

🤖 Agent 模式

ReAct 模式

经典的 Reasoning + Acting 循环,适合简单直接的任务:

用户问题 → 思考 → 调用工具 → 观察结果 → 思考 → ... → 最终回答

Plan 模式

先规划后执行,适合复杂多步骤任务:

用户问题 → 规划器 → 任务计划 → [用户确认] → 执行器 → SubAgents → 汇总结果

SubAgents 角色专家(WHO - 通用能力):

  • planner - 任务规划,分解复杂任务
  • researcher - 信息检索,知识库和图谱查询
  • coder - 代码实现,编写和执行代码
  • critic - 质量审查,评估和改进建议
  • writer - 内容创作,文档和报告撰写

🔧 工具系统

三层架构设计:

Primitives(原子操作)

工具 描述
bash 在 E2B 沙箱中执行命令
file_read 读取文件内容
file_write 写入文件

Services(服务连接器)

工具 描述
rag_search 知识库检索
rag_upload 上传文档
kg_query 查询知识图谱
kg_addEntity 添加实体
kg_addRelation 添加关系
memory_search 搜索记忆
memory_add 添加记忆
todo_* TODO 管理
mcp_* MCP 服务交互

Specialists(专家代理)

工具 描述
specialist_list 列出可用专家
specialist_call 调用专家执行任务

📚 核心模块

RAG 知识库

  • 文档上传(支持文本分块)
  • 向量化存储(pgvector)
  • 相似度检索
  • Reranking 重排序(BGE-Reranker)

知识图谱

  • Neo4j 存储实体和关系
  • 可视化展示(Canvas 力导向图)
  • Cypher 查询
  • LLM 驱动的信息抽取

记忆系统

  • 短期记忆(对话上下文)
  • 长期记忆(向量检索)
  • 记忆提升机制
  • 按对话维度管理

MCP 集成

  • 支持 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-m3

📖 常用命令

pnpm 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 管理 - 服务器连接和工具查看
  • 技能库 - 技能创建和编辑

📝 License

MIT

About

Agent 实验,所有代码由AI完成

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /