{"id":49580321,"url":"https://github.com/xavier2code/next-flow","last_synced_at":"2026-05-03T19:05:02.285Z","repository":{"id":348179485,"uuid":"1196809939","full_name":"xavier2code/next-flow","owner":"xavier2code","description":null,"archived":false,"fork":false,"pushed_at":"2026-03-31T04:47:47.000Z","size":963,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-31T07:12:50.061Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xavier2code.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-31T04:06:56.000Z","updated_at":"2026-03-31T04:47:50.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/xavier2code/next-flow","commit_stats":null,"previous_names":["xavier2code/next-flow"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/xavier2code/next-flow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xavier2code%2Fnext-flow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xavier2code%2Fnext-flow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xavier2code%2Fnext-flow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xavier2code%2Fnext-flow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xavier2code","download_url":"https://codeload.github.com/xavier2code/next-flow/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xavier2code%2Fnext-flow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32581039,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T06:36:36.687Z","status":"ssl_error","status_checked_at":"2026-05-03T06:36:09.306Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-05-03T19:05:01.606Z","updated_at":"2026-05-03T19:05:02.274Z","avatar_url":"https://github.com/xavier2code.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NextFlow\n\n通用智能体（Agent）平台 — 可扩展、高性能、易集成。\n\nNextFlow 提供完整的 Agent 编排能力：基于 LangGraph 的有状态工作流引擎、标准化 MCP 工具集成、可插拔技能系统、分层记忆，以及基于 Vercel AI SDK 的流式对话前端。面向智能客服、自动化任务编排、知识库问答及企业 AI 应用集成等场景。\n\n## 架构概览\n\n```\n┌─────────────────────────────────────────────────────┐\n│                    Frontend (SPA)                    │\n│          React 19 + Vite 7 + shadcn/ui              │\n│        Vercel AI SDK (SSE Data Stream v2)            │\n└──────────────────────┬──────────────────────────────┘\n                       │ REST + SSE\n┌──────────────────────▼──────────────────────────────┐\n│                   FastAPI Gateway                     │\n│            JWT Auth · Cursor Pagination               │\n├──────────┬──────────┬──────────┬────────────────────┤\n│  Agent   │  Memory  │   MCP    │      Skill         │\n│  Engine  │  System  │ Manager  │    Service          │\n│ LangGraph│ 3-Layer  │ Protocol │  Docker Sandbox     │\n├──────────┴──────────┴──────────┴────────────────────┤\n│  PostgreSQL 16  ·  Redis 7  ·  MinIO  ·  Qdrant      │\n└─────────────────────────────────────────────────────┘\n```\n\n### 技术栈\n\n| 层级 | 技术 |\n|------|------|\n| **前端** | React 19 + TypeScript 5.7 + Vite 7 + shadcn/ui + Zustand 5 + TanStack Query |\n| **后端** | Python 3.12 + FastAPI 0.135 + LangGraph 1.1 + SQLAlchemy 2.x (async) |\n| **数据库** | PostgreSQL 16 + Redis 7 + Qdrant (向量) + MinIO (对象存储) |\n| **协议** | MCP (Model Context Protocol) · SSE Data Stream Protocol v2 |\n| **部署** | Docker Compose · Nginx 反向代理 |\n\n## 核心功能\n\n- **Agent 引擎** — LangGraph 4 节点工作流（Analyze → Plan → Execute → Respond），PostgreSQL checkpointer 持久化\n- **流式对话** — SSE Data Stream Protocol v2，支持 reasoning 展示、消息重新生成\n- **多 LLM 支持** — OpenAI / Anthropic / Ollama / vLLM，通过 LangChain 统一接入，支持流式输出\n- **分层记忆** — 短期（Redis 滑动窗口 + LLM 压缩）+ 长期（LangGraph Store 语义搜索）+ 工作记忆（AgentState）\n- **MCP 集成** — 多服务器连接、工具发现（namespaced 注册）、Streamable HTTP/SSE 自动回退、健康监控\n- **技能系统** — SKILL.md + ZIP 包格式验证、Docker 沙箱隔离执行、MinIO 存储\n- **认证** — JWT + refresh token rotation + argon2 密码哈希\n- **管理面板** — Agent / Skills / MCP 服务管理 + 用户设置\n\n## 快速开始\n\n### 环境要求\n\n- Python 3.12+\n- Node.js 22 LTS\n- Docker \u0026 Docker Compose\n- [uv](https://docs.astral.sh/uv/) (Python 包管理器)\n\n### 1. 启动基础设施\n\n```bash\ndocker compose up -d\n```\n\n启动 PostgreSQL (5432)、Redis (6380)、MinIO (9000/9001)。\n\n### 2. 配置后端\n\n```bash\ncd backend\ncp .env.example .env\n```\n\n编辑 `.env` 填入你的 API Key 和配置：\n\n```env\n# LLM Provider\nDEFAULT_PROVIDER=openai\nDEFAULT_MODEL=gpt-4o\nOPENAI_API_KEY=your-api-key\nOPENAI_API_BASE=https://api.openai.com/v1\n\n# Embedding\nEMBEDDING_PROVIDER=openai\nEMBEDDING_MODEL=embedding-3\nEMBEDDING_API_KEY=your-embedding-api-key\nEMBEDDING_API_BASE=https://open.bigmodel.cn/api/paas/v4\n```\n\n### 3. 安装后端依赖并运行\n\n```bash\ncd backend\nuv sync\nalembic upgrade head\nuv run uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload\n```\n\n### 4. 安装前端依赖并运行\n\n```bash\ncd frontend\nnpm install\nnpm run dev\n```\n\n前端默认运行在 http://localhost:5173，后端 API 在 http://localhost:8000。\n\n## 项目结构\n\n```\nnext-flow/\n├── backend/\n│   ├── app/\n│   │   ├── api/v1/              # REST 端点 (auth, chat, agents, skills, mcp_servers, settings)\n│   │   ├── core/                # 配置、安全、日志\n│   │   ├── db/                  # 数据库会话、Redis 连接\n│   │   ├── models/              # SQLAlchemy 模型\n│   │   ├── schemas/             # Pydantic 请求/响应模式\n│   │   └── services/\n│   │       ├── agent_engine/    # LangGraph Agent 编排 (4-node pipeline)\n│   │       ├── mcp/             # MCP 协议集成 (Client, Manager, 工具发现)\n│   │       ├── memory/          # 三层记忆系统\n│   │       ├── skill/           # 技能系统 (验证、沙箱执行)\n│   │       └── tool_registry/   # 统一工具注册\n│   ├── alembic/                 # 数据库迁移\n│   └── tests/\n├── frontend/\n│   └── src/\n│       ├── components/          # UI 组件 (auth, chat, layout, management, settings, shared)\n│       ├── pages/               # 页面 (ChatPage, ProtectedRoute)\n│       ├── hooks/               # React Query + 自定义 hooks\n│       ├── stores/              # Zustand 状态管理\n│       ├── lib/                 # 工具函数\n│       └── types/               # TypeScript 类型定义\n├── backend/Dockerfile           # 后端多阶段构建 (python:3.12-slim, Gunicorn)\n├── frontend/Dockerfile          # 前端多阶段构建 (Node 22 → Nginx)\n└── docker-compose.yml           # 基础设施 + 应用服务\n```\n\n## API 文档\n\n后端启动后访问：\n- Swagger UI: http://localhost:8000/docs\n- ReDoc: http://localhost:8000/redoc\n\n## Roadmap\n\n- [x] **v1.0** — MVP: 认证、Agent 引擎、对话管理、记忆系统、MCP 集成、技能系统、前端 UI\n- [ ] **v1.1** — Docker 部署就绪: 生产级容器化、Nginx 反向代理、多环境配置\n- [ ] **v2.0** — RBAC、RAG 知识库、并行工具执行、Human-in-the-loop、多租户、Skill 市场\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxavier2code%2Fnext-flow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxavier2code%2Fnext-flow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxavier2code%2Fnext-flow/lists"}