Skip to content

Dajucoder/nexus-agent-model-hub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Nexus Agent Model Hub

CI License Docs Node

面向认证、Agent 运行、模型资料检索、排行榜和文档中心的一体化多租户源码开放工作台,内置中英文界面与双语文档。

这是一个把多租户认证、Agent 工具调用、模型站能力与部署资产放在同一根目录下的 Monorepo。

English | 中文

项目简介

Nexus Agent Model Hub 适合希望同时获得严格租户隔离、可复用登录系统、内置 Agent 工具调用、双语文档以及可部署基础设施的团队与开发者。它不是只展示界面原型的仓库,而是一套能直接启动、联调、扩展和部署的产品基线。

快速预览

下图展示了仓库首页、登录、控制台、模型库和会话工作区的整体风格。

Quick preview of login, dashboard, model hub, and chat workspace

架构总览

下图对应当前仓库的高层结构,包括前端、后端、Agent 运行时、数据存储和运维边界。

Architecture overview for frontend, backend, agent runtime, storage, and operations

许可证说明

本仓库使用 PolyForm Noncommercial 1.0.0

  • 允许个人学习、研究、测试、教学以及非商业组织内部的非商业使用。
  • 商业使用、付费托管、商业化云服务、嵌入商业产品或任何直接创造收入的使用方式,都需要单独获得商业授权
  • 这不是 OSI 认可的开源许可证,而是“源码可见 + 默认不可商用”的许可证。

开始使用前,请务必阅读 LICENSENOTICEdocs/en/LICENSE_GUIDE.md

官方许可证地址:https://polyformproject.org/licenses/noncommercial/1.0.0/

仓库提供了什么

  • 严格按租户边界划分的多租户登录系统
  • JWT 访问令牌 + Refresh Token 的认证流程
  • 租户级 RBAC 与审计日志能力
  • 支持插件注册的内置 Agent 工具调用
  • 已整合模型百科、模型对比、排行榜、供应商设置和聊天工作区页面
  • 中英文界面与中英文文档
  • Docker Compose、Kubernetes、Helm 等部署资产
  • OpenAPI 草案、Prisma Schema、数据库迁移、CI 工作流与贡献文档

方案基线说明

本仓库遵循既定 Scheme A 的设计精神,并在 docs/en/SCHEME_A_DECISIONS.md 中记录了主要决策。

关键选择包括:

  • 数据库:本仓库文档中的本地、CI 与生产路径统一以 PostgreSQL 为基线
  • 认证:提供完整用户认证流程,采用 JWT 与刷新令牌,并补充了 Next.js 客户端接入路径
  • Agent 通信:接口契约对 SSE 友好,首个版本内置基础工具
  • 部署方式:默认以 Docker 自托管为主,同时保留 Vercel 风格前端托管的可选路径
  • 国际化:MVP 默认交付 zh-CNen-US

仓库结构

<repo-root>/
├── .github/workflows/              # CI 工作流
├── content/                        # 模型内容与 MDX 资源
├── docker/                         # 前后端 Dockerfile
├── docs/                           # 中英文文档、OpenAPI、发布说明
├── helm/nexus-agent-model-hub/     # Helm Chart 草案
├── k8s/                            # Kubernetes 清单
├── packages/
│   ├── backend/                    # Express + Prisma API
│   └── frontend/                   # Next.js 前端(平台 + 模型站)
├── LICENSE
├── NOTICE
└── docker-compose.yml

更细的目录说明见 docs/en/REPOSITORY_MAP.mddocs/zh/REPOSITORY_MAP.md

快速开始

如果你希望以“本地源码联调”的方式启动,推荐使用下面这组命令:

# 可选:如需自定义密钥、端口或 API 地址,先复制模板
cp .env.example .env
docker compose up -d postgres redis
npm install
npm run db:generate
npm run db:migrate
npm run db:seed
npm run dev:backend
npm run dev:frontend

如果你想最快直接起完整容器栈,也可以使用:

cp .env.example .env
docker compose up --build

启动后可访问:

常用校验命令:

  • npm run typecheck
  • npm run test
  • npm run build
  • ./scripts/check.sh
  • npm run leaderboard:refresh --workspace=packages/frontend
  • npm run models:refresh --workspace=packages/frontend

模型内容说明:

  • 如果 content/models/*.mdx 中存在与模型 slug 对应的内容文件,前端模型详情页会自动把这部分内容作为知识卡片展示出来。
  • 当前已接入示例包括 gpt-4ogpt-4-1gpt-4-1-minio4-miniclaude-sonnet-4claude-3-5-sonnetgemini-2-5-progemini-2-5-flashdeepseek-r1deepseek-v3mistral-largemistral-small-4grok-4-20-beta,后续继续补内容时无需额外改页面结构。

常用快捷脚本:

  • npm run bootstrap:执行引导脚本,安装依赖并提示后续初始化步骤
  • npm run check:运行完整检查链路
  • npm run typecheck:backend / npm run typecheck:frontend
  • npm run test:backend / npm run test:frontend
  • npm run build:backend / npm run build:frontend

默认预置初始账号:

  • Tenant:primary
  • Email:owner@primary.local
  • Password:ChangeMe123!

最小产品验收流程

  1. 注册一个租户管理员,或直接使用预置初始账号登录。
  2. 打开控制台,确认可以读取当前租户数据。
  3. 浏览 /models/leaderboard/compare/chat/settings 页面。
  4. 在控制台里调用内置 echocalculator Agent。
  5. 查看审计日志与 Agent 运行历史,确认系统链路完整。

配置说明

  • CORS_ORIGIN 支持逗号分隔多个来源,适合前后端分域、预发环境和多入口预览。
  • NEXT_PUBLIC_API_URL 应指向外部可访问的后端 API 根地址,例如 https://api.example.com/api/v1
  • 当前浏览器端默认通过 Next.js BFF + HttpOnly Cookie 维持后端会话,本地存储仅保留租户与语言等非敏感界面状态。
  • /settings 页面会在服务端持久化供应商配置,并优先使用 PROVIDER_CONFIG_SECRET 对 API Key 做加密存储;它仍不能替代生产环境的密钥管理系统。
  • 供应商 Base URL 现在只接受与官方接入点一致的主机和路径,避免把聊天代理指向任意上游地址。

配置快照

  • 后端标识:APP_NAMEAPP_VERSIONAPP_PORT
  • 数据服务:DATABASE_URLREDIS_URL
  • 鉴权:JWT_SECRETJWT_REFRESH_SECRETJWT_EXPIRES_INJWT_REFRESH_EXPIRES_IN
  • 密钥托管:PROVIDER_CONFIG_SECRET
  • 浏览器/API 连接:CORS_ORIGINNEXT_PUBLIC_API_URLFRONTEND_URL
  • Agent 控制:AGENT_TIMEOUT_MSAGENT_MAX_RETRIESAGENT_CONCURRENCY_LIMITAGENT_HTTP_ALLOWED_HOSTS
  • 限流:RATE_LIMIT_WINDOW_MSRATE_LIMIT_MAXAUTH_RATE_LIMIT_MAXAGENT_RATE_LIMIT_WINDOW_MSAGENT_RATE_LIMIT_MAX
  • 开发默认值:LOG_LEVEL=infoLOG_FORMAT=pretty

文档导航

  • 站内帮助中心:启动前端后访问 /docs
  • 英文总览:docs/en/README.md
  • 中文总览:docs/zh/README.md
  • 产品就绪度:docs/en/PRODUCT_READYNESS.md
  • 架构设计:docs/en/ARCHITECTURE.md
  • 部署指南:docs/en/DEPLOYMENT.md
  • 运维手册:docs/en/OPERATIONS.md
  • 贡献指南:docs/en/CONTRIBUTING.md
  • 许可证指南:docs/en/LICENSE_GUIDE.md
  • 发布说明:docs/releases/v0.2.0.md
  • 发布流程:docs/zh/RELEASING.md
  • 示例说明:examples/README.md
  • 模型站规划文档:docs/zh/MODEL_HUB_MASTER_PLAN.md
  • 页面规格文档:docs/zh/MODEL_HUB_PAGE_SPEC.md

构建与交付补充说明

  • 后端镜像:docker/Dockerfile.backend 使用多阶段构建,在构建阶段生成 Prisma Client,并在容器启动时执行数据库迁移与 seed。
  • 前端镜像:docker/Dockerfile.frontend 使用 Next.js standalone 产物,同时把 docs/ 和部分根目录 Markdown 带入镜像,确保部署后 /docs 页面仍能读取文档内容。
  • CI 流程:.github/workflows/ci.yml 当前会执行 npm installnpm run db:generatenpm run typechecknpm run buildnpm run test
  • 本地最小栈:docker-compose.yml 现在包含 PostgreSQL、Redis、backend、frontend 的健康检查,适合做联调和故障定位。
  • 构建上下文控制:.dockerignore 会排除本地依赖、构建产物、日志和环境文件,避免把无关内容带进镜像构建上下文。
  • CI 可维护性:工作流现在给每个关键步骤加了命名,便于在 GitHub Actions 中快速定位失败阶段。

社区与仓库治理文件

  • CONTRIBUTING.md
  • CODE_OF_CONDUCT.md
  • SECURITY.md
  • CHANGELOG.md
  • COMMERCIAL_LICENSE.md

一个重要的合规澄清

仓库早期草稿里偶尔出现过 AGPL 相关表述,但那并不适合表达“默认不可商用”的边界。AGPL 本身并不禁止商业使用。

当前仓库已经统一为 PolyForm Noncommercial 1.0.0,因此代码、部署说明、贡献文档和许可证说明都应以这一许可边界为准。

About

多租户认证与 Agent 工具平台 | Bilingual auth, Agent runtime, model hub, leaderboard, and chat demo.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors