Files
nexora-portal/index.html

725 lines
40 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Nexora — AI 驱动的智能研发平台</title>
<script src="https://cdn.tailwindcss.com"></script>
<script>
tailwind.config = {
theme: {
extend: {
colors: {
nexora: { 50: '#fef2f2', 100: '#fee2e2', 500: '#ef4444', 600: '#dc2626', 700: '#b91c1c', 800: '#991b1b', 900: '#1a1a2e' },
dark: { 800: '#1e1e2e', 900: '#0f0f1a', 700: '#2a2a3e' }
}
}
}
}
</script>
<style>
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');
body { font-family: 'Inter', system-ui, sans-serif; }
html { scroll-behavior: smooth; }
.gradient-text { background: linear-gradient(135deg, #ef4444, #f97316, #eab308); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.card-hover { transition: all 0.3s ease; }
.card-hover:hover { transform: translateY(-4px); box-shadow: 0 20px 40px rgba(0,0,0,0.3); }
.glow { box-shadow: 0 0 30px rgba(239, 68, 68, 0.15); }
.nav-blur { backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.hero-bg { background: radial-gradient(ellipse at 50% 0%, rgba(239,68,68,0.12) 0%, transparent 60%); }
.section-divider { background: linear-gradient(90deg, transparent, rgba(239,68,68,0.3), transparent); height: 1px; }
.flow-arrow { color: #ef4444; font-size: 1.5rem; }
.chat-bubble { position: relative; background: #2a2a3e; border-radius: 1rem; padding: 1rem 1.25rem; }
.chat-bubble-user { background: #1e3a5f; border-bottom-right-radius: 0.25rem; }
.chat-bubble-ai { background: #2a2a3e; border-bottom-left-radius: 0.25rem; }
.typing-dots span { animation: blink 1.4s infinite both; }
.typing-dots span:nth-child(2) { animation-delay: 0.2s; }
.typing-dots span:nth-child(3) { animation-delay: 0.4s; }
@keyframes blink { 0%,80%,100% { opacity: 0.3; } 40% { opacity: 1; } }
.env-dev { border-color: #22c55e; }
.env-staging { border-color: #eab308; }
.env-prod { border-color: #ef4444; }
.roadmap-line { position: relative; }
.roadmap-line::before { content: ''; position: absolute; left: 1.25rem; top: 2.5rem; bottom: 0; width: 2px; background: linear-gradient(180deg, #ef4444, transparent); }
</style>
</head>
<body class="bg-dark-900 text-gray-200 antialiased">
<!-- Navigation -->
<nav class="fixed top-0 w-full z-50 nav-blur bg-dark-900/80 border-b border-gray-800/50">
<div class="max-w-6xl mx-auto px-6 py-4 flex items-center justify-between">
<a href="#" class="flex items-center gap-3">
<span class="text-3xl">🦞</span>
<span class="text-xl font-bold text-white">Nexora</span>
</a>
<div class="hidden md:flex items-center gap-8 text-sm">
<a href="#how" class="text-gray-400 hover:text-white transition">工作方式</a>
<a href="#services" class="text-gray-400 hover:text-white transition">服务</a>
<a href="#migrate" class="text-gray-400 hover:text-white transition">迁移指南</a>
<a href="#docs" class="text-gray-400 hover:text-white transition">文档</a>
<a href="#roadmap" class="text-gray-400 hover:text-white transition">演进路线</a>
<a href="https://uptime.nexora.restry.cn" target="_blank" class="px-4 py-2 bg-nexora-600/20 text-nexora-500 rounded-lg hover:bg-nexora-600/30 transition text-sm">服务状态 ↗</a>
</div>
</div>
</nav>
<!-- Hero -->
<section class="hero-bg pt-32 pb-24">
<div class="max-w-6xl mx-auto px-6 text-center">
<div class="inline-flex items-center gap-2 px-4 py-2 rounded-full bg-dark-700/50 border border-gray-700/50 text-sm text-gray-400 mb-8">
<span class="w-2 h-2 bg-green-500 rounded-full animate-pulse"></span>
AI 管家在线 · 全部服务运行中
</div>
<h1 class="text-5xl md:text-7xl font-800 text-white mb-6 leading-tight">
告诉 AI 你要什么<br><span class="gradient-text">剩下的交给 Nexora</span>
</h1>
<p class="text-xl text-gray-400 max-w-2xl mx-auto mb-10 leading-relaxed">
不用写命令,不用记流程。对话即开发 — 你说需求AI 来建仓库、写代码、跑测试、部署上线。<br>
<strong class="text-gray-300">Nexora 是一套 AI 驱动的自托管研发平台。</strong>
</p>
<div class="flex flex-wrap justify-center gap-4">
<a href="#how" class="px-8 py-3 bg-nexora-600 text-white rounded-lg font-medium hover:bg-nexora-700 transition">
看看怎么用 →
</a>
<a href="#migrate" class="px-8 py-3 bg-dark-700 text-gray-300 rounded-lg font-medium hover:bg-dark-800 border border-gray-700 transition">
迁移现有资产
</a>
</div>
</div>
</section>
<div class="section-divider max-w-4xl mx-auto"></div>
<!-- How it works: AI-first -->
<section id="how" class="py-20">
<div class="max-w-5xl mx-auto px-6">
<div class="text-center mb-16">
<h2 class="text-3xl md:text-4xl font-bold text-white mb-4">对话即操作</h2>
<p class="text-gray-400 max-w-2xl mx-auto">传统开发:学工具 → 记命令 → 手动操作。Nexora<strong class="text-white">说人话AI 干活</strong></p>
</div>
<!-- Chat Demo 1: Create repo -->
<div class="grid md:grid-cols-2 gap-12 mb-20">
<div>
<h3 class="text-xl font-semibold text-white mb-2">🗃️ 创建项目</h3>
<p class="text-gray-400 text-sm mb-6">不用打开 Gitea不用填表单。告诉 AI 你要什么项目,它替你搞定。</p>
<div class="space-y-3">
<div class="chat-bubble chat-bubble-user text-sm text-gray-200">
<p class="text-xs text-blue-400 mb-1"></p>
帮我建一个前端项目React + TypeScript叫 nexora-dashboard
</div>
<div class="chat-bubble chat-bubble-ai text-sm text-gray-200">
<p class="text-xs text-nexora-500 mb-1">🦞 Nexora AI</p>
搞定 ✅ 已创建仓库 <code class="text-nexora-500">nexora-dashboard</code>,包含:<br>
• React 18 + TypeScript 模板<br>
• ESLint + Prettier 配置<br>
• CI/CD 流水线(.gitea/workflows/<br>
• README 和基础目录结构<br>
<span class="text-gray-500 text-xs">→ gitea.nexora.restry.cn/admin/nexora-dashboard</span>
</div>
</div>
</div>
<!-- Chat Demo 2: Deploy -->
<div>
<h3 class="text-xl font-semibold text-white mb-2">🚀 部署上线</h3>
<p class="text-gray-400 text-sm mb-6">不用 SSH 登录服务器不用写部署脚本。AI 管家帮你部署。</p>
<div class="space-y-3">
<div class="chat-bubble chat-bubble-user text-sm text-gray-200">
<p class="text-xs text-blue-400 mb-1"></p>
把 dashboard 的 develop 分支部署到测试环境
</div>
<div class="chat-bubble chat-bubble-ai text-sm text-gray-200">
<p class="text-xs text-nexora-500 mb-1">🦞 Nexora AI</p>
正在部署...<br>
✅ 构建成功 (23s)<br>
✅ 测试通过 (8/8)<br>
✅ 已部署到 staging-dashboard.nexora.restry.cn<br>
<span class="text-gray-500 text-xs">需要推到生产环境吗?</span>
</div>
</div>
</div>
</div>
<!-- Chat Demo 3: Migrate -->
<div class="grid md:grid-cols-2 gap-12 mb-12">
<div>
<h3 class="text-xl font-semibold text-white mb-2">📦 迁移代码</h3>
<p class="text-gray-400 text-sm mb-6">把 GitHub 上的项目搬过来?一句话搞定,包括 Issues 和 CI 配置。</p>
<div class="space-y-3">
<div class="chat-bubble chat-bubble-user text-sm text-gray-200">
<p class="text-xs text-blue-400 mb-1"></p>
把我们 GitHub 上 org/backend-api 这个仓库迁移过来
</div>
<div class="chat-bubble chat-bubble-ai text-sm text-gray-200">
<p class="text-xs text-nexora-500 mb-1">🦞 Nexora AI</p>
迁移完成 ✅<br>
• 代码:全部分支和标签已导入<br>
• Issues42 个已迁移<br>
• CIGitHub Actions → Gitea Actions 已适配<br>
<span class="text-gray-500 text-xs">还有其他仓库要迁吗?</span>
</div>
</div>
</div>
<!-- Chat Demo 4: Write docs -->
<div>
<h3 class="text-xl font-semibold text-white mb-2">📝 写文档</h3>
<p class="text-gray-400 text-sm mb-6">AI 读代码、生成文档、发布到知识库,一步到位。</p>
<div class="space-y-3">
<div class="chat-bubble chat-bubble-user text-sm text-gray-200">
<p class="text-xs text-blue-400 mb-1"></p>
把 backend-api 的接口整理成 API 文档,发布到 Outline
</div>
<div class="chat-bubble chat-bubble-ai text-sm text-gray-200">
<p class="text-xs text-nexora-500 mb-1">🦞 Nexora AI</p>
已扫描 23 个 endpoint文档已发布 ✅<br>
• 用户模块5 个接口<br>
• 订单模块12 个接口<br>
• 支付模块6 个接口<br>
<span class="text-gray-500 text-xs">→ outline.nexora.restry.cn/doc/api-reference</span>
</div>
</div>
</div>
</div>
<!-- Key message -->
<div class="text-center bg-dark-800 rounded-2xl p-8 border border-gray-700/50 glow">
<p class="text-lg text-gray-300 leading-relaxed">
<strong class="text-white">你的团队不需要学 Git 命令、不需要记部署流程、不需要配 CI/CD。</strong><br>
打开 Mattermost跟 Nexora AI 说你要什么 — 代码、测试、部署、文档、监控,全部通过对话完成。
</p>
</div>
</div>
</section>
<div class="section-divider max-w-4xl mx-auto"></div>
<!-- Services -->
<section id="services" class="py-20">
<div class="max-w-6xl mx-auto px-6">
<div class="text-center mb-16">
<h2 class="text-3xl md:text-4xl font-bold text-white mb-4">平台服务</h2>
<p class="text-gray-400 max-w-xl mx-auto">AI 管家在背后操作这些服务,你也可以随时直接访问。统一账号,一次登录。</p>
</div>
<div class="grid md:grid-cols-2 lg:grid-cols-3 gap-6">
<a href="https://gitea.nexora.restry.cn" target="_blank" class="card-hover p-6 rounded-2xl bg-dark-800 border border-gray-700/50 glow block">
<div class="text-4xl mb-4">🗃️</div>
<h3 class="text-xl font-semibold text-white mb-2">Gitea — 代码管理</h3>
<p class="text-gray-400 text-sm leading-relaxed mb-3">
Git 仓库托管,支持 PR、代码审查、Issue 跟踪、CI/CD。AI 在这里创建仓库、提交代码、管理分支。
</p>
<div class="text-xs text-gray-500">gitea.nexora.restry.cn ↗</div>
</a>
<a href="https://outline.nexora.restry.cn" target="_blank" class="card-hover p-6 rounded-2xl bg-dark-800 border border-gray-700/50 glow block">
<div class="text-4xl mb-4">📝</div>
<h3 class="text-xl font-semibold text-white mb-2">Outline — 知识库</h3>
<p class="text-gray-400 text-sm leading-relaxed mb-3">
团队文档协作。AI 自动生成 API 文档、技术方案、会议记录,人只需审核和补充。
</p>
<div class="text-xs text-gray-500">outline.nexora.restry.cn ↗</div>
</a>
<a href="https://uptime.nexora.restry.cn" target="_blank" class="card-hover p-6 rounded-2xl bg-dark-800 border border-gray-700/50 glow block">
<div class="text-4xl mb-4">📊</div>
<h3 class="text-xl font-semibold text-white mb-2">Uptime Kuma — 监控</h3>
<p class="text-gray-400 text-sm leading-relaxed mb-3">
7×24 服务可用性监控。故障时 AI 管家第一时间告警,并尝试自动诊断和修复。
</p>
<div class="text-xs text-gray-500">uptime.nexora.restry.cn ↗</div>
</a>
<a href="https://portainer.nexora.restry.cn" target="_blank" class="card-hover p-6 rounded-2xl bg-dark-800 border border-gray-700/50 glow block">
<div class="text-4xl mb-4">🐳</div>
<h3 class="text-xl font-semibold text-white mb-2">Portainer — 容器管理</h3>
<p class="text-gray-400 text-sm leading-relaxed mb-3">
Docker 可视化管理。查看容器状态、日志、资源,或者直接让 AI 管家来操作。
</p>
<div class="text-xs text-gray-500">portainer.nexora.restry.cn ↗</div>
</a>
<a href="https://mm.dora.restry.cn" target="_blank" class="card-hover p-6 rounded-2xl bg-dark-800 border border-gray-700/50 glow block">
<div class="text-4xl mb-4">💬</div>
<h3 class="text-xl font-semibold text-white mb-2">Mattermost — 团队沟通</h3>
<p class="text-gray-400 text-sm leading-relaxed mb-3">
你与 AI 的主要交互界面。也是团队沟通、CI 通知、监控告警的汇聚地。
</p>
<div class="text-xs text-gray-500">mm.dora.restry.cn ↗</div>
</a>
<div class="card-hover p-6 rounded-2xl bg-dark-800 border border-gray-700/50 glow">
<div class="text-4xl mb-4">🦞</div>
<h3 class="text-xl font-semibold text-white mb-2">Nexora AI — 运维管家</h3>
<p class="text-gray-400 text-sm leading-relaxed mb-3">
平台的大脑。代码管理、文档撰写、服务监控、自动化运维 — 你说它做。7×24 在线。
</p>
<div class="text-xs text-gray-500">通过 Mattermost @nexora 交互</div>
</div>
</div>
</div>
</section>
<div class="section-divider max-w-4xl mx-auto"></div>
<!-- Migration Guide -->
<section id="migrate" class="py-20">
<div class="max-w-5xl mx-auto px-6">
<h2 class="text-3xl md:text-4xl font-bold text-white mb-4 text-center">🚚 迁移指南</h2>
<p class="text-gray-400 text-center mb-16 max-w-2xl mx-auto">已有代码、文档、项目?告诉 AI 管家,它帮你搬。以下是典型的迁移路径:</p>
<div class="space-y-8">
<!-- Step 1 -->
<div class="flex gap-6">
<div class="flex-shrink-0 w-12 h-12 bg-nexora-600 rounded-xl flex items-center justify-center font-bold text-white text-lg">1</div>
<div>
<h3 class="text-xl font-semibold text-white mb-2">代码仓库迁移</h3>
<p class="text-gray-400 mb-3">告诉 AI 你的代码在哪里,它自动完成迁移:</p>
<div class="chat-bubble chat-bubble-user text-sm text-gray-200 max-w-lg">
<p class="text-xs text-blue-400 mb-1"></p>
把我们 GitHub 组织 <code>acme-corp</code> 下面所有仓库都迁移过来
</div>
<p class="text-sm text-gray-500 mt-3">AI 会处理代码所有分支和标签、Issues、PR 历史、CI 配置转换GitHub Actions → Gitea Actions</p>
<div class="mt-4 p-4 rounded-xl bg-dark-800 border border-gray-700/50">
<p class="text-sm text-gray-400"><strong class="text-white">支持的来源:</strong>GitHub、GitLab、Bitbucket、Gitea、Gogs、本地 Git 仓库</p>
</div>
</div>
</div>
<!-- Step 2 -->
<div class="flex gap-6">
<div class="flex-shrink-0 w-12 h-12 bg-nexora-600 rounded-xl flex items-center justify-center font-bold text-white text-lg">2</div>
<div>
<h3 class="text-xl font-semibold text-white mb-2">文档迁移</h3>
<p class="text-gray-400 mb-3">Confluence、Notion、Google Docs、Markdown 文件 — 都可以迁移到 Outline</p>
<div class="chat-bubble chat-bubble-user text-sm text-gray-200 max-w-lg">
<p class="text-xs text-blue-400 mb-1"></p>
这个目录下有我们所有的 Markdown 文档,帮我整理成 Outline 知识库
</div>
<p class="text-sm text-gray-500 mt-3">AI 会:分析文档结构 → 创建分类(集合)→ 导入并格式化 → 建立交叉链接</p>
</div>
</div>
<!-- Step 3 -->
<div class="flex gap-6">
<div class="flex-shrink-0 w-12 h-12 bg-nexora-600 rounded-xl flex items-center justify-center font-bold text-white text-lg">3</div>
<div>
<h3 class="text-xl font-semibold text-white mb-2">团队成员导入</h3>
<p class="text-gray-400 mb-3">批量创建团队账号,设置权限:</p>
<div class="chat-bubble chat-bubble-user text-sm text-gray-200 max-w-lg">
<p class="text-xs text-blue-400 mb-1"></p>
创建 5 个开发账号、2 个测试账号、1 个产品经理账号
</div>
<p class="text-sm text-gray-500 mt-3">AI 会创建 Gitea 账号并设置角色权限,其他服务通过 SSO 自动关联。</p>
</div>
</div>
<!-- Step 4 -->
<div class="flex gap-6">
<div class="flex-shrink-0 w-12 h-12 bg-nexora-600 rounded-xl flex items-center justify-center font-bold text-white text-lg">4</div>
<div>
<h3 class="text-xl font-semibold text-white mb-2">CI/CD 流水线配置</h3>
<p class="text-gray-400 mb-3">AI 根据你的项目类型自动配置构建和部署流程:</p>
<div class="chat-bubble chat-bubble-user text-sm text-gray-200 max-w-lg">
<p class="text-xs text-blue-400 mb-1"></p>
给 backend-api 配上 CI/CDpush 到 develop 自动部署测试环境,打 tag 部署生产
</div>
<p class="text-sm text-gray-500 mt-3">AI 会生成 Gitea Actions 配置、设置环境变量、配置部署目标。</p>
</div>
</div>
</div>
<div class="mt-12 text-center bg-dark-800 rounded-2xl p-8 border border-gray-700/50">
<p class="text-lg text-gray-300">
<strong class="text-white">整个迁移过程只需要对话。</strong><br>
<span class="text-gray-400">告诉 AI 你现在用的工具和资产在哪里,它会给你一个迁移计划,你确认后开始执行。</span>
</p>
</div>
</div>
</section>
<div class="section-divider max-w-4xl mx-auto"></div>
<!-- How AI works with the platform -->
<section class="py-20">
<div class="max-w-5xl mx-auto px-6">
<h2 class="text-3xl md:text-4xl font-bold text-white mb-4 text-center">AI 在哪里?无处不在</h2>
<p class="text-gray-400 text-center mb-16 max-w-2xl mx-auto">Nexora AI 不只是一个聊天机器人,它是整个平台的操控者。</p>
<div class="grid md:grid-cols-2 gap-8">
<div class="p-6 rounded-2xl bg-dark-800 border border-gray-700/50">
<h3 class="text-lg font-semibold text-white mb-3">💻 代码层面</h3>
<ul class="text-sm text-gray-400 space-y-2">
<li>• 根据需求描述生成代码(可调用子代理专注前端/后端/数据库)</li>
<li>• 代码审查 — AI 自动 review PR提出改进建议</li>
<li>• Bug 修复 — 描述问题AI 定位并提交修复</li>
<li>• 重构优化 — "这个模块性能不好" → AI 分析并重构</li>
</ul>
</div>
<div class="p-6 rounded-2xl bg-dark-800 border border-gray-700/50">
<h3 class="text-lg font-semibold text-white mb-3">🔧 运维层面</h3>
<ul class="text-sm text-gray-400 space-y-2">
<li>• 服务监控 — 7×24 自动巡检,故障告警 + 自诊断</li>
<li>• 部署管理 — 对话式部署,支持三环境切换</li>
<li>• 容器管理 — 查看日志、重启服务、资源分析</li>
<li>• 安全审计 — 自动扫描漏洞、检查配置安全</li>
</ul>
</div>
<div class="p-6 rounded-2xl bg-dark-800 border border-gray-700/50">
<h3 class="text-lg font-semibold text-white mb-3">📝 文档层面</h3>
<ul class="text-sm text-gray-400 space-y-2">
<li>• 自动生成 API 文档、数据库文档</li>
<li>• 将技术讨论整理成文档发布到 Outline</li>
<li>• 维护更新日志Changelog</li>
<li>• 新人入职指南自动生成</li>
</ul>
</div>
<div class="p-6 rounded-2xl bg-dark-800 border border-gray-700/50">
<h3 class="text-lg font-semibold text-white mb-3">🤝 协作层面</h3>
<ul class="text-sm text-gray-400 space-y-2">
<li>• 多代理编排 — 前端、后端、DBA 子代理分工协作</li>
<li>• 自动同步信息 — 代码变更通知到 Mattermost 频道</li>
<li>• 项目状态汇总 — "这周做了什么?" → AI 总结</li>
<li>• 跨团队协调 — AI 帮你跟踪依赖和阻塞</li>
</ul>
</div>
</div>
</div>
</section>
<div class="section-divider max-w-4xl mx-auto"></div>
<!-- Three Environments -->
<section class="py-20">
<div class="max-w-5xl mx-auto px-6">
<h2 class="text-3xl md:text-4xl font-bold text-white mb-4 text-center">🏗️ 三环境架构</h2>
<p class="text-gray-400 text-center mb-12">从开发到上线AI 管理整个流程。你只需要说"可以上线了"。</p>
<div class="grid md:grid-cols-3 gap-6 mb-12">
<div class="p-6 rounded-2xl bg-dark-800 border-2 env-dev">
<div class="text-3xl mb-3">🟢</div>
<h4 class="text-lg font-bold text-green-400 mb-2">Development</h4>
<p class="text-sm text-gray-400 mb-3">AI 写代码、跑测试,你 review</p>
<ul class="text-xs text-gray-500 space-y-1">
<li>• AI 在 feature 分支上开发</li>
<li>• 每次提交自动跑单元测试</li>
<li>• 完成后自动创建 PR</li>
<li><code>dev-*.nexora.restry.cn</code></li>
</ul>
</div>
<div class="p-6 rounded-2xl bg-dark-800 border-2 env-staging">
<div class="text-3xl mb-3">🟡</div>
<h4 class="text-lg font-bold text-yellow-400 mb-2">Staging</h4>
<p class="text-sm text-gray-400 mb-3">集成测试,验证一切正常</p>
<ul class="text-xs text-gray-500 space-y-1">
<li>• PR 合并后自动部署</li>
<li>• AI 运行集成测试</li>
<li>• 模拟生产数据验证</li>
<li><code>staging-*.nexora.restry.cn</code></li>
</ul>
</div>
<div class="p-6 rounded-2xl bg-dark-800 border-2 env-prod">
<div class="text-3xl mb-3">🔴</div>
<h4 class="text-lg font-bold text-red-400 mb-2">Production</h4>
<p class="text-sm text-gray-400 mb-3">你说"上线"AI 帮你发</p>
<ul class="text-xs text-gray-500 space-y-1">
<li>• 打 tag 触发发版流程</li>
<li>• 人工确认后部署</li>
<li>• AI 监控运行状态</li>
<li><code>*.nexora.restry.cn</code></li>
</ul>
</div>
</div>
<div class="bg-dark-800 rounded-2xl p-6 border border-gray-700/50 text-center">
<p class="text-sm text-gray-400">
<strong class="text-white">典型流程:</strong>
<span class="inline-flex items-center gap-2 flex-wrap justify-center mt-2">
<span class="px-3 py-1 bg-blue-900/30 text-blue-400 rounded-lg text-xs">你说需求</span>
<span class="flow-arrow text-sm"></span>
<span class="px-3 py-1 bg-green-900/30 text-green-400 rounded-lg text-xs">AI 开发</span>
<span class="flow-arrow text-sm"></span>
<span class="px-3 py-1 bg-purple-900/30 text-purple-400 rounded-lg text-xs">你审核 PR</span>
<span class="flow-arrow text-sm"></span>
<span class="px-3 py-1 bg-yellow-900/30 text-yellow-400 rounded-lg text-xs">自动测试</span>
<span class="flow-arrow text-sm"></span>
<span class="px-3 py-1 bg-red-900/30 text-red-400 rounded-lg text-xs">你说上线</span>
<span class="flow-arrow text-sm"></span>
<span class="px-3 py-1 bg-nexora-900/50 text-nexora-500 rounded-lg text-xs">AI 部署</span>
</span>
</p>
</div>
</div>
</section>
<div class="section-divider max-w-4xl mx-auto"></div>
<!-- Documentation -->
<section id="docs" class="py-20">
<div class="max-w-6xl mx-auto px-6">
<div class="text-center mb-16">
<h2 class="text-3xl md:text-4xl font-bold text-white mb-4">📚 平台文档</h2>
<p class="text-gray-400 max-w-xl mx-auto">详细文档在 Outline 知识库。当然,你也可以直接问 AI 管家。</p>
</div>
<div class="grid md:grid-cols-2 lg:grid-cols-3 gap-6">
<a href="https://outline.nexora.restry.cn/doc/5bmz5yw5qac6kei-5exmIeWrQg" target="_blank" class="card-hover p-6 rounded-2xl bg-dark-800 border border-gray-700/50 block">
<div class="text-2xl mb-3">🌐</div>
<h3 class="text-lg font-semibold text-white mb-2">平台概览</h3>
<p class="text-sm text-gray-400">Nexora 是什么、核心服务、基础架构。</p>
</a>
<a href="https://outline.nexora.restry.cn/doc/5br6ycf5bya5ael-FSeBsQafAJ" target="_blank" class="card-hover p-6 rounded-2xl bg-dark-800 border border-gray-700/50 block">
<div class="text-2xl mb-3">🚀</div>
<h3 class="text-lg font-semibold text-white mb-2">快速开始</h3>
<p class="text-sm text-gray-400">从获取账号到第一个项目5 分钟上手。</p>
</a>
<a href="https://outline.nexora.restry.cn/doc/5bya5yr5rwb56il-pvdrsXPpje" target="_blank" class="card-hover p-6 rounded-2xl bg-dark-800 border border-gray-700/50 block">
<div class="text-2xl mb-3">🔄</div>
<h3 class="text-lg font-semibold text-white mb-2">开发流程</h3>
<p class="text-sm text-gray-400">三环境、Git Flow、CI/CD 配置。</p>
</a>
<a href="https://outline.nexora.restry.cn/doc/5pyn5yqh5l255so5oyh5y2x-5JAPWGUvee" target="_blank" class="card-hover p-6 rounded-2xl bg-dark-800 border border-gray-700/50 block">
<div class="text-2xl mb-3">📖</div>
<h3 class="text-lg font-semibold text-white mb-2">服务使用指南</h3>
<p class="text-sm text-gray-400">每个服务的功能和使用方法。</p>
</a>
<a href="https://outline.nexora.restry.cn/doc/sso-5oknaH4XNt" target="_blank" class="card-hover p-6 rounded-2xl bg-dark-800 border border-gray-700/50 block">
<div class="text-2xl mb-3">🔑</div>
<h3 class="text-lg font-semibold text-white mb-2">统一认证 (SSO)</h3>
<p class="text-sm text-gray-400">Gitea OAuth 统一登录配置。</p>
</a>
<a href="https://outline.nexora.restry.cn/collection/nexora-platform" target="_blank" class="card-hover p-6 rounded-2xl bg-dark-800 border border-dashed border-gray-600 flex flex-col items-center justify-center block">
<div class="text-2xl mb-3">📝</div>
<h3 class="text-lg font-semibold text-gray-400">查看全部文档 →</h3>
<p class="text-sm text-gray-500">Outline 知识库</p>
</a>
</div>
</div>
</section>
<div class="section-divider max-w-4xl mx-auto"></div>
<!-- Roadmap -->
<section id="roadmap" class="py-20">
<div class="max-w-4xl mx-auto px-6">
<h2 class="text-3xl md:text-4xl font-bold text-white mb-4 text-center">🗺️ 演进路线</h2>
<p class="text-gray-400 text-center mb-16 max-w-2xl mx-auto">Nexora 还在快速进化。以下是已规划的能力升级方向 — 如果你有想法,随时跟 AI 管家或团队沟通。</p>
<div class="space-y-8">
<!-- Now -->
<div class="flex gap-5">
<div class="flex-shrink-0">
<div class="w-10 h-10 bg-green-600 rounded-full flex items-center justify-center text-white text-sm font-bold"></div>
</div>
<div>
<div class="flex items-center gap-3 mb-2">
<h3 class="text-lg font-semibold text-white">现有能力</h3>
<span class="px-2 py-0.5 text-xs bg-green-900/50 text-green-400 rounded-full">已上线</span>
</div>
<p class="text-sm text-gray-400">代码托管 (Gitea) · 知识库 (Outline) · 服务监控 (Uptime Kuma) · 容器管理 (Portainer) · 团队沟通 (Mattermost) · AI 运维管家 · SSO 统一登录 · FRP 内网穿透 · 自动 TLS</p>
</div>
</div>
<!-- Short term -->
<div class="flex gap-5">
<div class="flex-shrink-0">
<div class="w-10 h-10 bg-yellow-600 rounded-full flex items-center justify-center text-white text-sm font-bold"></div>
</div>
<div>
<div class="flex items-center gap-3 mb-2">
<h3 class="text-lg font-semibold text-white">近期计划</h3>
<span class="px-2 py-0.5 text-xs bg-yellow-900/50 text-yellow-400 rounded-full">开发中</span>
</div>
<ul class="text-sm text-gray-400 space-y-1">
<li>🔧 <strong class="text-gray-300">Gitea Actions Runner</strong> — 配置 CI/CD runner实现自动构建和部署</li>
<li>🤖 <strong class="text-gray-300">多代理编排</strong> — 前端、后端、DBA 专属子代理,分工协作</li>
<li>📊 <strong class="text-gray-300">Grafana + Prometheus</strong> — 系统级监控CPU、内存、磁盘、网络</li>
<li>🔐 <strong class="text-gray-300">Vault / 密钥管理</strong> — 安全存储 API Key、数据库密码等敏感信息</li>
<li>📦 <strong class="text-gray-300">Docker Registry</strong> — 私有镜像仓库CI 构建的镜像直接推送</li>
</ul>
</div>
</div>
<!-- Mid term -->
<div class="flex gap-5">
<div class="flex-shrink-0">
<div class="w-10 h-10 bg-blue-600 rounded-full flex items-center justify-center text-white text-sm font-bold"></div>
</div>
<div>
<div class="flex items-center gap-3 mb-2">
<h3 class="text-lg font-semibold text-white">中期目标</h3>
<span class="px-2 py-0.5 text-xs bg-blue-900/50 text-blue-400 rounded-full">规划中</span>
</div>
<ul class="text-sm text-gray-400 space-y-1">
<li>☸️ <strong class="text-gray-300">Kubernetes</strong> — 容器编排升级,支持自动扩缩容</li>
<li>🌐 <strong class="text-gray-300">多节点部署</strong> — 开发/测试/生产环境隔离到不同服务器</li>
<li>📧 <strong class="text-gray-300">邮件服务</strong> — 自建邮件 + 通知集成</li>
<li>🎯 <strong class="text-gray-300">项目管理</strong> — AI 驱动的任务看板(或集成 Plane/Taiga</li>
<li>📱 <strong class="text-gray-300">移动端接入</strong> — 手机上也能跟 AI 管家对话操作</li>
</ul>
</div>
</div>
<!-- Long term -->
<div class="flex gap-5">
<div class="flex-shrink-0">
<div class="w-10 h-10 bg-purple-600 rounded-full flex items-center justify-center text-white text-sm font-bold"></div>
</div>
<div>
<div class="flex items-center gap-3 mb-2">
<h3 class="text-lg font-semibold text-white">远期愿景</h3>
<span class="px-2 py-0.5 text-xs bg-purple-900/50 text-purple-400 rounded-full">探索中</span>
</div>
<ul class="text-sm text-gray-400 space-y-1">
<li>🧠 <strong class="text-gray-300">全自主开发</strong> — AI 从需求文档直接生成可部署的应用</li>
<li>🔄 <strong class="text-gray-300">自愈系统</strong> — 故障自动检测、诊断、修复,零人工干预</li>
<li>📈 <strong class="text-gray-300">智能分析</strong> — 代码质量趋势、团队效率报告、技术债务预警</li>
<li>🌍 <strong class="text-gray-300">多团队/多租户</strong> — 支持多个团队独立运营</li>
</ul>
</div>
</div>
</div>
<div class="mt-12 text-center bg-dark-800 rounded-2xl p-8 border border-gray-700/50">
<p class="text-lg text-gray-300 mb-3">
<strong class="text-white">这份路线图是活的。</strong>
</p>
<p class="text-gray-400">
有什么想加的功能?觉得哪个优先级该调?直接在 Mattermost 里跟 @nexora 或团队聊。<br>
好的平台是用出来的,不是规划出来的。
</p>
</div>
</div>
</section>
<div class="section-divider max-w-4xl mx-auto"></div>
<!-- Team -->
<section id="team" class="py-20">
<div class="max-w-4xl mx-auto px-6">
<h2 class="text-3xl md:text-4xl font-bold text-white mb-4 text-center">团队</h2>
<p class="text-gray-400 text-center mb-12">统一账号由 Gitea 管理SSO 登录全平台。</p>
<div class="grid md:grid-cols-2 lg:grid-cols-4 gap-6">
<div class="text-center p-6 rounded-2xl bg-dark-800 border border-gray-700/50">
<div class="text-4xl mb-3">👨‍💼</div>
<h4 class="font-semibold text-white">admin</h4>
<p class="text-xs text-nexora-500">管理员</p>
<p class="text-xs text-gray-500 mt-1">admin@nexora.dev</p>
</div>
<div class="text-center p-6 rounded-2xl bg-dark-800 border border-gray-700/50">
<div class="text-4xl mb-3">👩‍💻</div>
<h4 class="font-semibold text-white">dev-alice</h4>
<p class="text-xs text-green-400">开发</p>
<p class="text-xs text-gray-500 mt-1">alice@nexora.dev</p>
</div>
<div class="text-center p-6 rounded-2xl bg-dark-800 border border-gray-700/50">
<div class="text-4xl mb-3">👨‍💻</div>
<h4 class="font-semibold text-white">dev-bob</h4>
<p class="text-xs text-green-400">开发</p>
<p class="text-xs text-gray-500 mt-1">bob@nexora.dev</p>
</div>
<div class="text-center p-6 rounded-2xl bg-dark-800 border border-gray-700/50">
<div class="text-4xl mb-3">🧪</div>
<h4 class="font-semibold text-white">qa-charlie</h4>
<p class="text-xs text-yellow-400">测试</p>
<p class="text-xs text-gray-500 mt-1">charlie@nexora.dev</p>
</div>
</div>
<div class="mt-6 text-center text-sm text-gray-500">
需要新建账号?告诉 🦞 AI 管家,一句话搞定。
</div>
</div>
</section>
<div class="section-divider max-w-4xl mx-auto"></div>
<!-- SSO -->
<section id="sso" class="py-20">
<div class="max-w-4xl mx-auto px-6">
<h2 class="text-3xl md:text-4xl font-bold text-white mb-4 text-center">🔑 统一认证</h2>
<p class="text-gray-400 text-center mb-12">一个 Gitea 账号,登录所有服务。接入新服务?告诉 AI 就行。</p>
<div class="bg-dark-800 rounded-2xl p-8 border border-gray-700/50">
<div class="flex flex-wrap items-center justify-center gap-4 mb-8 text-sm">
<span class="px-4 py-2 bg-gray-700 rounded-lg text-white">Outline</span>
<span class="px-4 py-2 bg-gray-700 rounded-lg text-white">Portainer</span>
<span class="px-4 py-2 bg-gray-700 rounded-lg text-white">你的新服务</span>
<span class="flow-arrow"></span>
<span class="px-4 py-2 bg-nexora-600 rounded-lg text-white font-semibold">🗃️ Gitea SSO</span>
<span class="flow-arrow"></span>
<span class="px-4 py-2 bg-green-800 rounded-lg text-white">✅ 一键登录</span>
</div>
<div class="chat-bubble chat-bubble-user text-sm text-gray-200 max-w-lg mx-auto">
<p class="text-xs text-blue-400 mb-1"></p>
我要上一个新的内部工具 Metabase帮我接入 SSO
</div>
<div class="chat-bubble chat-bubble-ai text-sm text-gray-200 max-w-lg mx-auto mt-3">
<p class="text-xs text-nexora-500 mb-1">🦞 Nexora AI</p>
已完成 ✅<br>
• Gitea OAuth 应用已创建<br>
• Metabase OIDC 配置已写入<br>
• 团队成员可以用 "通过 Nexora Git 登录" 了
</div>
</div>
</div>
</section>
<!-- Architecture (collapsed) -->
<section class="py-20">
<div class="max-w-4xl mx-auto px-6">
<h2 class="text-3xl md:text-4xl font-bold text-white mb-4 text-center">⚙️ 技术架构</h2>
<p class="text-gray-400 text-center mb-12">全容器化 · FRP 内网穿透 · Caddy 自动 TLS · AI 全栈管控</p>
<div class="bg-dark-800 rounded-2xl p-8 border border-gray-700/50 overflow-x-auto">
<pre class="text-xs md:text-sm text-gray-300 leading-relaxed"><code>
┌───────────────────────────────────────────────────────────────┐
│ 外网用户 (HTTPS) │
└──────────────────────────┬────────────────────────────────────┘
┌───────────────────────────────────────────────────────────────┐
│ FRP Server (公网) — *.nexora.restry.cn 流量入口 │
└──────────────────────────┬────────────────────────────────────┘
↓ 隧道
┌───────────────────────────────────────────────────────────────┐
│ claw-bot (内网服务器) │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ Caddy (自动 TLS + 反向代理) │ │
│ │ ├── www. → 门户网站 (本站) │ │
│ │ ├── gitea. → Gitea (代码) │ │
│ │ ├── outline. → Outline (文档) │ │
│ │ ├── uptime. → Uptime Kuma (监控) │ │
│ │ └── portainer. → Portainer (容器) │ │
│ └─────────────────────────────────────────────────────────┘ │
│ ┌────────┐ ┌────────┐ ┌──────────┐ ┌────────┐ ┌─────────┐ │
│ │ Gitea │ │Outline │ │ Postgres │ │ Redis │ │Portainer│ │
│ └────────┘ └────────┘ └──────────┘ └────────┘ └─────────┘ │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ 🦞 Nexora AI (OpenClaw) — 操控以上所有服务的 AI 管家 │ │
│ └──────────────────────────────────────────────────────────┘ │
└───────────────────────────────────────────────────────────────┘
</code></pre>
</div>
</div>
</section>
<!-- Footer -->
<footer class="border-t border-gray-800/50 py-12">
<div class="max-w-6xl mx-auto px-6 text-center">
<div class="flex items-center justify-center gap-3 mb-4">
<span class="text-2xl">🦞</span>
<span class="text-lg font-semibold text-white">Nexora</span>
</div>
<p class="text-sm text-gray-500 mb-4">AI 驱动的智能研发平台 — 对话即开发</p>
<div class="flex flex-wrap justify-center gap-6 text-sm text-gray-500 mb-6">
<a href="https://gitea.nexora.restry.cn" class="hover:text-white transition">Gitea</a>
<a href="https://outline.nexora.restry.cn" class="hover:text-white transition">Outline</a>
<a href="https://uptime.nexora.restry.cn" class="hover:text-white transition">服务状态</a>
<a href="https://portainer.nexora.restry.cn" class="hover:text-white transition">Portainer</a>
<a href="https://mm.dora.restry.cn" class="hover:text-white transition">Mattermost</a>
</div>
<p class="text-xs text-gray-600">© 2026 Nexora. Built by humans and AI, together.</p>
</div>
</footer>
</body>
</html>