Go Nav:一个简洁高效的个人/团队导航站

在信息爆炸的时代,无论是个人还是团队,都需要一个高效的方式来组织和访问常用网址。今天逛github时发现了一款开源导航站项目------Go Nav

项目概览

一个简洁高效的个人/团队导航站,基于 Next.js 16、React 19、HeroUI v3 和 Tailwind CSS v4 构建。项目使用 JSON 配置驱动内容和布局,支持前台导航、后台管理、图片上传、备份还原和 Docker 部署。

项目提供了两种部署形态,灵活适应不同场景:

  • Server 模式:保留后台管理、API、上传和备份能力,适合自用或团队维护
  • Static 模式:导出纯静态前台页面,适合 GitHub Pages、对象存储、CDN 等无后台场景

GitHub 仓库github.com/dengxiwang/...

官网www.gotab.cn

项目预览nav.gotab.cn

该项目目前在github上有 24 star

功能特性

  • 配置驱动 :通过 data/nav.jsondata/website.json 管理站点信息、布局、搜索、广告、插件和分类数据。
  • 多级导航:分类支持递归嵌套,二级分类自动以标签页展示。
  • 站内搜索:前端本地搜索支持标题、描述、标签和分类名命中。
  • 外部搜索引擎 :可配置百度、Bing、Google 等搜索 URL,使用 {query} 作为搜索词占位符。
  • 后台管理 :server 模式下提供 /admin,可管理网站信息、分类、站点、广告、搜索引擎、插件、备份和上传素材。
  • 双构建模式server 模式保留后台和 API;static 模式导出纯静态页面,适合 GitHub Pages、对象存储、CDN。
  • Docker 友好:内置 Dockerfile、Compose 配置和发布脚本,镜像自带默认数据,挂载数据目录时优先使用用户数据。
  • 上传与备份:支持图片上传、完整 ZIP 备份、备份还原和无用素材清理。
  • 响应式体验:桌面侧边栏、移动端抽屉导航、最近访问、回到顶部和二维码入口。

环境要求

  • Node.js 20+ 推荐,最低请使用当前 Next.js 16 支持的 Node 版本
  • pnpm:建议使用 Corepack 读取项目 packageManager 指定版本;升级项目 pnpm 时更新该字段即可
  • Docker / Docker Compose:仅 Docker 部署需要

Docker 部署

Docker部署比较简单

  1. 创建docker-compose.yml 文件
yaml 复制代码
services:
  go-nav:
    image: doxwant/go-nav:latest
    restart: unless-stopped
    ports:
      - "3000:3000"
    environment:
      ADMIN_USER: admin
      ADMIN_PASS: change-this-password
      # 可选,不填则自动生成并保存到 ./go-nav-data/.session-secret
      # SESSION_SECRET: change-this-to-a-long-random-string
    volumes:
      - ./go-nav-data:/app/data
  1. 启动容器
shell 复制代码
docker compose up -d
  1. 访问网站首页

在浏览器中输入部署地址访问导航页

  1. 访问后台管理

访问 /admin 登录后台(账号密码是docker-compose.yml中配置的)。

后台可编辑:

  • 网站基础信息、主题、页脚、布局
  • 分类与网站条目,网址标签支持英文逗号 , 或中文逗号 分隔
  • 搜索引擎与搜索行为
  • 广告位、捐赠/二维码、插件
  • 图片上传、备份导出、备份还原、无用素材清理

上传接口仅接受 pngjpggifwebpico 图片,单文件最大 2MB。备份还原最大 20MB。

配置说明

data/nav.json

字段 说明
title / name / description / keywords SEO 与品牌展示信息
logo / favicon Logo 和浏览器图标路径
author / copyright 作者与版权信息
icp / beian 备案信息,留空则不显示
qrCode / qrCodeText 二维码图片与提示文案
footerLinks 页脚链接数组
themeMode lightdarksystem
search 搜索配置
ads / showAds / adsAspectRatio 广告配置
showRecentVisits / recentVisitsMax 最近访问配置
layout 布局与显示开关
plugins 自定义 CSS / JS 片段

data/website.json

json 复制代码
{
	"categories": [
		{
			"id": "tools",
			"name": "效率工具",
			"icon": "⚙️",
			"description": "常用工具集合",
			"sites": [
				{
					"title": "Go Nav",
					"description": "导航站项目",
					"url": "https://github.com/dengxiwang/go-nav",
					"icon": "/images/logo.svg",
					"tags": ["nav", "nextjs"]
				}
			],
			"children": []
		}
	]
}

分类可以无限嵌套。网站图标支持 emoji、本地路径、远程 URL;后台上传素材会返回 /uploads/xxx 路径。

应用场景

  • 个人导航页:收藏常用网站,打造个性化的上网入口
  • 团队资源中心:统一管理团队常用工具、文档和内部系统链接
  • 开源项目展示:作为项目生态的导航门户
  • 企业内部门户:集成公司各类系统和工具的快捷入口

写在最后

无论你是想搭建个人导航页,还是为团队构建资源中心,Go Nav 都是一个值得尝试的选择。它用现代化的技术栈、优雅的界面设计和灵活的部署方式,让导航站的管理变得简单而高效。

相关推荐
冬奇Lab11 小时前
Skill 系列(02):Skill 安全风险——三类攻击面的实战测试
人工智能·安全·开源
冬奇Lab11 小时前
每日一个开源项目(第138篇):OpenMontage - 把 AI 编程助手变成完整的视频制作团队
人工智能·开源·claude
修己xj1 天前
GoTab:打造属于你自己的个性化浏览器新标签页
开源
蝎子莱莱爱打怪2 天前
XZLL-IM干货系列 03|消息 ID 设计:一个 UUID 搞不定的事,我用两个 ID 解决了
后端·面试·开源
冬奇Lab2 天前
每日一个开源项目(第137篇):Penpot - 真正开源的设计协作工具,SVG 原生格式消灭设计-开发鸿沟
前端·开源·设计
冬奇Lab3 天前
每日一个开源项目(第135篇):codebase-memory-mcp - 给 AI Agent 一张代码库的知识图谱
人工智能·开源·llm
uniquejing4 天前
《每次 API 调用前扔掉 43% Token,我开源了一个 AI 提示词瘦身工具》
开源
文心快码BaiduComate5 天前
Comate 搭载GLM-5.2:百万上下文,稳定支撑长程任务
前端·程序员·开源
冬奇Lab5 天前
每日一个开源项目(第133篇):EchoBird - 把 AI 工具的安装和部署做成傻瓜操作
人工智能·开源·资讯