NexusMind 是一個基於 Next.js 16 與 Vercel AI SDK 建構的下一代 AI 智能中樞系統。它不僅是一個聊天機器人,更是一個整合了知識管理 (RAG + Knowledge Graph)、長期記憶 (Long-term Memory)、技能沙盒執行 (Docker-in-Docker) 以及視覺化編輯 (Canvas & Diagram) 的全方位 AI 協作平台。
- 🧠 雙層對話記憶系統 (Memory System):自動從對話中提取使用者的偏好與事實,讓 AI 越用越懂你。
- 📚 智慧知識庫 (Knowledge Graph + RAG):上傳任何格式(PDF, Word, PPT, TXT),系統將透過 Marker 與 LightRAG 微服務自動解析並抽取實體關聯,提供有根據、可溯源的 AI 回答。
- 🎭 Persona 角色切換:自訂 AI 角色、設定圖示與 system prompt,快速在不同的對話情境中切換。
- 🛠️ 隔離沙盒技能系統 (Skills System):在 Docker-in-Docker 容器內安全執行 Python, Node.js 等程式碼,能自動產出深度報告與 Excel / DOCX 等多種格式檔案。
- 🎨 視覺化編輯器 (Canvas & Diagram):TipTap 編輯器實作的 Canvas 畫布,並支援經由 Cytoscape.js 轉譯的互動式流程圖與心智圖,AI 可直接產出並編輯。
- 🤖 Telegram Bot 整合:無縫串接 Telegram,讓你在手機上也能隨時隨地與專屬 AI 助理互動並存取你的知識庫。
NexusMind 採用前端 Next.js 主應用,搭配後端多個 Python Docker 微服務的混合架構,兼顧開發效率與繁重資料處理的需求。
┌─────────────────────────────────────────────────────────────┐
│ Next.js 16 主應用 │
│ ┌──────────┐ ┌───────────┐ ┌───────────┐ ┌─────────────┐ │
│ │ AI 對話 │ │ 知識庫管理 │ │ 記憶管理 │ │ Telegram Bot│ │
│ └────┬─────┘ └─────┬─────┘ └─────┬─────┘ └──────┬──────┘ │
│ │ │ │ │ │
├───────┼─────────────┼─────────────┼──────────────┼──────────┤
│ Supabase (PostgreSQL + pgvector + RLS 行級安全) │
├───────┼─────────────┼─────────────┼──────────────┼──────────┤
│ │ │ │ │ │
│ ┌────┴─────┐ ┌─────┴─────┐ ┌─────┴─────┐ ┌──────┴──────┐ │
│ │ Marker │ │ LightRAG │ │ Skill │ │ Gemini API │ │
│ │ Document │ │ Graph/RAG │ │ Executor │ │ OpenAI API │ │
│ └──────────┘ └───────────┘ └───────────┘ └─────────────┘ │
│ Python 微服務 Docker-in-Docker 沙盒 │
└─────────────────────────────────────────────────────────────┘
系統運用 Supabase 處理關聯資料、向量檢索與即時訂閱,並使用 RLS 保護使用者隱私。
- 知識與檔案:
documents,document_embeddings,document_relations,knowledge_sources - 對話與狀態:
conversations,messages,personas,assistant_presets - 內容產出:
canvas_documents,reports,skills,skill_attachments - 使用者特徵:
user_memories(長期記憶),user_skill_preferences(技能偏好) - 外部整合:
telegram_users,telegram_bot_config,gdrive_user_tokens
nexusmind/
├── src/
│ ├── app/ # Next.js App Router
│ │ ├── (auth)/ # 登入與註冊頁面
│ │ ├── (protected)/ # 需要登入的核心功能 (Chat, Knowledge, Canvas, Settings)
│ │ └── api/ # 後端 API 路由 (AI, 知識庫, 技能, Webhook)
│ ├── components/ # React UI 組件
│ │ ├── chat/ # 對話視窗、訊息氣泡、輸入框
│ │ ├── canvas/ # TipTap 視覺化文件編輯器
│ │ ├── diagram/ # Cytoscape.js 圖表渲染
│ │ ├── knowledge/ # 檔案上傳、知識圖譜管理
│ │ └── skills/ # 技能執行沙盒 UI
│ └── lib/ # 核心業務邏輯
│ ├── ai/ # AI SDK 封裝與 Provider 設定
│ ├── rag/ # RAG 與向量檢索核心
│ ├── memory/ # 雙層記憶系統萃取邏輯
│ ├── skills/ # 技能定義與 DIND 呼叫邏輯
│ └── supabase/ # 資料庫客戶端
├── supabase/
│ └── migrations/ # PostgreSQL 資料庫結構定義
├── public/ # 靜態資源
└── components.json # shadcn/ui 設定檔- Node.js >= 20
- Docker & Docker Compose (微服務必需)
- Supabase Project (雲端 或 本地開源版)
- Google Gemini API Key 或 OpenAI API Key
複製範例設定檔並填入您的金鑰:
cp .env.local.example .env.local編輯 .env.local:
- 設定
NEXT_PUBLIC_SUPABASE_URL與NEXT_PUBLIC_SUPABASE_ANON_KEY - 設定
GOOGLE_GENERATIVE_AI_API_KEY
將 /supabase/migrations 下的所有腳本依序執行於您的 Supabase 專案中,以建立表格、函數與 RLS 規則。若使用本地 Supabase CLI:
supabase db push在包含 docker-compose.yml 的基礎設施資料夾中(通常為額外配置),啟動所需的微服務:
# 啟動 Marker 解析、LightRAG、Skill SandBox
docker-compose up -d安裝依賴並啟動 Next.js 開發伺服器:
npm install
npm run dev開啟 http://localhost:3000 即可開始體驗 NexusMind。
NexusMind 提供數十個 API 路由,以支援複雜的微服務整合:
- 對話處理:
/api/chat,/api/conversations/* - 知識庫與解析:
/api/knowledge/*,/api/knowledge/upload - 技能執行沙盒:
/api/skills/*,/api/skills/execute - 內容編輯器:
/api/canvas/*,/api/reports/* - 外部服務:
/api/telegram/webhook,/api/gdrive/*
(詳細的 API 文件請參閱 /docs 目錄)
NexusMind 採取 MIT 授權條款. 詳情請見 LICENSE 檔案。