Skip to content

txl16095/NavDesk

Repository files navigation

🚀 NavDesk - 本地快捷导航工作台

NavDesk Logo

一个完全本地化的智能导航管理系统

支持多工作台环境 · 自动登录策略 · 书签导入 · 多搜索引擎 · 音乐播放器

License: MIT Node.js Version Vue 3 Fastify

功能特性 · 快速开始 · 界面预览 · 文档


📖 项目简介

NavDesk 是一个功能强大的本地导航管理系统,专为提升工作效率而设计。所有数据存储在本地 SQLite 数据库中,无需云服务,保护您的隐私安全。

🎯 适用场景

  • 🏢 多项目管理 - 为不同项目创建独立工作台,快速切换工作环境
  • 🔐 自动登录 - 配置登录策略,一键访问需要认证的内部系统
  • 📚 知识管理 - 导入浏览器书签,统一管理常用网站和资源
  • 🎨 个性化桌面 - 精美背景、音乐播放器、天气显示,打造专属工作空间

✨ 核心特性

功能 说明
🏠 完全本地化 所有数据存储在本地 SQLite,无需云服务,保护隐私
🔐 安全加密 敏感信息 AES-256 加密,服务仅监听 localhost
📁 多工作台 创建多个工作台环境,按项目/场景组织导航
🎯 自动登录 支持表单登录和 API 登录策略,一键访问内部系统
🔖 书签导入 一键导入 Chrome/Edge 书签,快速迁移数据
🖼️ 精美背景 40+ 精选高质量壁纸,支持自动轮换和自定义上传
🎵 音乐播放器 内置音乐播放器,支持本地音乐和在线音乐
🔍 多搜索引擎 百度、谷歌、必应等,支持自定义搜索引擎
📌 灵活排序 支持置顶、按热度排序、手动拖拽排序
🌤️ 天气显示 自动获取本地天气和温度信息

🛠️ 技术栈

后端: Fastify + SQLite3 + JWT + bcrypt
前端: Vue 3 + Vite + Pinia + Vue Router
图标: Lucide Icons

🚀 快速开始

前置要求

  • Node.js >= 16.0.0
  • npm >= 8.0.0

安装步骤

# 1. 克隆项目
git clone https://github.com/txl16095/NavDesk.git
cd NavDesk

# 2. 安装依赖
npm install

# 3. 配置环境变量
cp .env.example .env
# 编辑 .env 文件,修改 JWT_SECRET

# 4. 启动开发服务器
npm run dev

生产部署

# 构建前端
npm run build

# 启动生产服务器
npm start

打包分享

# 生成发布包(约 5 MB)
npm run release

生成的 NavDesk-v1.0.0.zip 包含完整的后端服务、前端构建产物和启动脚本。

Windows: 双击 start.bat 启动
Mac/Linux: 运行 ./start.sh 启动

📸 界面预览

主界面

主界面

主界面 - 精美背景、导航网格、搜索框、天气信息

背景管理

背景管理

背景管理 - 40+ 精选壁纸,支持自动轮换

音乐播放器

音乐播放器

音乐播放器 - 支持本地音乐和在线音乐

人生倒计时

人生倒计时

人生倒计时 - 珍惜时间,把握当下

设置页面

设置页面

设置页面 - 个性化配置

📚 文档

主要 API 模块

模块 说明 端点
🔐 认证 用户注册、登录、登出 /api/auth/*
📁 工作台 工作台 CRUD、切换 /api/workspaces/*
🔖 导航项 导航项管理、排序、导入 /api/navigation/*
🎯 登录策略 自动登录配置 /api/login-strategies/*
⚙️ 用户偏好 个性化设置 /api/preferences/*

🔐 安全说明

  • 🔒 用户密码使用 bcrypt 哈希存储
  • 🔐 登录策略凭证使用 AES-256 加密
  • 🌐 服务仅监听 localhost,不接受外部连接
  • ⏰ JWT token 有效期 24 小时
  • 📁 所有数据存储在本地,不上传云端

重要提示

  • 生产环境务必修改 .env 中的 JWT_SECRET
  • 不要将 .envdata/.encryption-key 提交到版本控制
  • 定期备份 data/ 目录

❓ 常见问题

端口被占用怎么办?

修改 .env 文件中的 PORT 配置,然后重启服务。

如何导入 Chrome 书签?
  1. Chrome 中进入 chrome://bookmarks/
  2. 点击右上角 导出书签
  3. 在 NavDesk 主界面点击 导入书签 按钮
  4. 选择导出的 HTML 文件
忘记密码怎么办?

目前不支持密码重置。可以删除 data/ 目录重新开始(会丢失所有数据)。

更多问题请查看 Issues

🛣️ 开发路线图

已完成 ✅

  • 用户认证系统
  • 多工作台管理
  • 自动登录策略
  • Chrome 书签导入
  • 背景图片管理
  • 音乐播放器
  • 拖拽排序

计划中 📋

  • 深色/浅色主题切换
  • 多语言支持
  • 浏览器扩展

🤝 贡献

欢迎提交 Issue 和 Pull Request!

详细的贡献指南请查看 CONTRIBUTING.md

📄 许可证

本项目采用 MIT License 开源许可证。

⚠️ 免责声明

  • 本项目仅供学习和个人使用
  • 自动登录功能需谨慎使用,确保符合目标网站的使用条款
  • 作者不对使用本软件造成的任何损失负责

🙏 致谢

感谢以下开源项目:

📞 联系方式


如果这个项目对你有帮助,请给它一个 Star ⭐️

Made with ❤️ by NavDesk Team

About

一个完全本地化的浏览器导航工作台

Resources

License

Contributing

Stars

3 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors