Home4j 功能列表
版本:v1.1
更新日期:2026年2月3日
说明:本文档定义 Home4j 的完整功能架构,从 MVP 到未来扩展,采用三级结构组织
核心定位说明
Home4j 是一个导航工具,核心竞争力是:
- Java 技术栈:基于 Quarkus,对 Java 开发者友好
- 轻量部署体验:Docker 一键部署,资源占用低
- 离线友好:所有资源本地化,支持内网部署
功能优先级说明
| 标记 |
含义 |
版本规划 |
| 🔴 P0 |
必须有,MVP 核心功能 |
v0.1 |
| 🟡 P1 |
重要,体验优化功能 |
v0.5 |
| 🟢 P2 |
增强,v1.0 完整功能 |
v1.0 |
| ⚪ P3 |
未来,长期规划功能 |
v1.x+ |
一、书签管理模块 🔖
核心价值:快速访问和组织用户的常用链接
1.1 书签基础操作
| 三级功能 |
描述 |
优先级 |
| 1.1.1 添加书签 |
支持手动输入 URL、名称、描述创建书签 |
🔴 P0 |
| 1.1.2 编辑书签 |
修改书签的所有属性信息 |
🔴 P0 |
| 1.1.3 删除书签 |
单个删除,需二次确认 |
🔴 P0 |
| 1.1.4 批量删除 |
多选后批量删除书签 |
🟡 P1 |
| 1.1.5 书签排序 |
拖拽调整书签顺序 |
🔴 P0 |
| 1.1.6 书签复制 |
复制现有书签快速创建新书签 |
🟡 P1 |
1.2 书签属性配置
| 三级功能 |
描述 |
优先级 |
| 1.2.1 基础信息 |
名称、URL、描述 |
🔴 P0 |
| 1.2.2 图标设置 |
支持内置图标/URL图标/上传图标/自动获取favicon |
🔴 P0 |
| 1.2.3 分组归属 |
选择书签所属分组 |
🔴 P0 |
| 1.2.4 标签设置 |
为书签添加多个标签用于筛选 |
🟡 P1 |
| 1.2.5 打开方式 |
新标签页/当前页/iframe嵌入 |
🟡 P1 |
| 1.2.6 自定义颜色 |
书签卡片的强调色 |
🟢 P2 |
| 1.2.7 访问密码 |
单个书签的访问保护 |
🟢 P2 |
1.3 书签高级功能
| 三级功能 |
描述 |
优先级 |
| 1.3.1 URL 有效性检测 |
定期检查书签链接是否可访问 |
🟢 P2 |
| 1.3.2 Favicon 自动获取 |
根据 URL 自动抓取网站图标 |
🟡 P1 |
| 1.3.3 书签置顶 |
将重要书签置顶显示 |
🟡 P1 |
| 1.3.4 书签隐藏 |
临时隐藏不常用书签 |
🟢 P2 |
| 1.3.5 快捷访问编号 |
数字键 1-9 快速打开对应书签 |
🟢 P2 |
| 1.3.6 访问统计 |
记录书签点击次数和最近访问时间 |
🟢 P2 |
二、分组管理模块 📁
核心价值:按场景/类型组织书签,提升查找效率
2.1 分组基础操作
| 三级功能 |
描述 |
优先级 |
| 2.1.1 创建分组 |
新建分组并设置名称、图标 |
🔴 P0 |
| 2.1.2 编辑分组 |
修改分组名称、图标、描述 |
🔴 P0 |
| 2.1.3 删除分组 |
删除分组(书签移至默认分组或一并删除) |
🔴 P0 |
| 2.1.4 分组排序 |
拖拽调整分组显示顺序 |
🔴 P0 |
| 2.1.5 分组折叠 |
折叠/展开分组内容 |
🔴 P0 |
| 2.1.6 默认折叠状态 |
设置分组默认是否折叠 |
🟡 P1 |
2.2 分组属性配置
| 三级功能 |
描述 |
优先级 |
| 2.2.1 分组名称 |
显示名称,支持中英文 |
🔴 P0 |
| 2.2.2 分组图标 |
内置图标库选择或自定义 |
🔴 P0 |
| 2.2.3 分组描述 |
可选的分组说明文字 |
🟡 P1 |
| 2.2.4 分组颜色 |
分组标题栏的主题色 |
🟢 P2 |
| 2.2.5 显示模式 |
网格/列表/紧凑三种布局 |
🟢 P2 |
| 2.2.6 列数设置 |
分组内书签每行显示数量 |
🟡 P1 |
2.3 分组高级功能
| 三级功能 |
描述 |
优先级 |
| 2.3.1 分组可见性 |
设置分组仅特定用户可见 |
🟢 P2 |
| 2.3.2 分组标签页 |
多个分组作为 Tab 切换显示 |
⚪ P3 |
| 2.3.3 嵌套分组 |
支持分组内创建子分组 |
⚪ P3 |
| 2.3.4 分组独立页面 |
分组可作为独立页面访问 |
⚪ P3 |
三、搜索与筛选模块 🔍
核心价值:快速定位目标书签,提升使用效率
3.1 全局搜索
| 三级功能 |
描述 |
优先级 |
| 3.1.1 快捷键激活 |
Ctrl+K 或 / 打开搜索框 |
🔴 P0 |
| 3.1.2 实时搜索 |
输入即搜索,无需回车 |
🔴 P0 |
| 3.1.3 多字段匹配 |
搜索名称、URL、描述、标签 |
🔴 P0 |
| 3.1.4 模糊搜索 |
支持拼音首字母、模糊匹配 |
🟡 P1 |
| 3.1.5 搜索高亮 |
匹配关键词高亮显示 |
🔴 P0 |
| 3.1.6 键盘导航 |
↑↓ 选择,Enter 打开,Esc 关闭 |
🔴 P0 |
3.2 筛选功能
| 三级功能 |
描述 |
优先级 |
| 3.2.1 按分组筛选 |
只显示特定分组的书签 |
🟡 P1 |
| 3.2.2 按标签筛选 |
根据标签过滤书签 |
🟡 P1 |
| 3.2.3 按访问频率 |
显示最常访问/最近访问的书签 |
🟢 P2 |
| 3.2.4 组合筛选 |
多条件组合筛选 |
🟢 P2 |
3.3 搜索增强
| 三级功能 |
描述 |
优先级 |
| 3.3.1 搜索历史 |
记录最近搜索词 |
🟢 P2 |
| 3.3.2 搜索建议 |
输入时显示匹配建议 |
🟢 P2 |
| 3.3.3 外部搜索引擎 |
未匹配时跳转到搜索引擎 |
🟡 P1 |
| 3.3.4 搜索引擎切换 |
支持 Google/Bing/百度 等 |
🟡 P1 |
四、主题与外观模块 🎨
核心价值:满足个性化需求,提升视觉体验
4.1 主题切换
| 三级功能 |
描述 |
优先级 |
| 4.1.1 预设主题 |
提供 10+ 预设主题(light/dark/nord/dracula等) |
🔴 P0 |
| 4.1.2 一键切换 |
点击即时切换,无需刷新 |
🔴 P0 |
| 4.1.3 跟随系统 |
自动跟随操作系统深色/浅色模式 |
🔴 P0 |
| 4.1.4 主题偏好保存 |
记住用户选择的主题 |
🔴 P0 |
| 4.1.5 定时切换 |
按时间段自动切换主题 |
🟢 P2 |
4.2 自定义外观
| 三级功能 |
描述 |
优先级 |
| 4.2.1 自定义背景 |
支持颜色/图片/渐变背景 |
🟡 P1 |
| 4.2.2 背景模糊 |
背景图片模糊度调节 |
🟡 P1 |
| 4.2.3 背景遮罩 |
背景透明度遮罩 |
🟡 P1 |
| 4.2.4 自定义 CSS |
高级用户可注入自定义样式 |
🟡 P1 |
| 4.2.5 字体设置 |
自定义字体和字号 |
🟢 P2 |
| 4.2.6 圆角设置 |
卡片圆角大小调节 |
🟢 P2 |
4.3 布局配置
| 三级功能 |
描述 |
优先级 |
| 4.3.1 布局模式 |
网格/列表/紧凑三种模式 |
🔴 P0 |
| 4.3.2 列数设置 |
每行显示 2/3/4/5/6 列可选 |
🔴 P0 |
| 4.3.3 卡片尺寸 |
小/中/大三种卡片尺寸 |
🟡 P1 |
| 4.3.4 显示密度 |
紧凑/标准/宽松间距 |
🟡 P1 |
| 4.3.5 响应式断点 |
参考 Tailwind 断点,移动端(<640px)单列 |
🔴 P0 |
五、配置管理模块 ⚙️
核心价值:灵活的配置方式,满足不同用户习惯
5.1 Web UI 配置(主要方式)
| 三级功能 |
描述 |
优先级 |
| 5.1.1 可视化编辑器 |
通过界面修改所有配置项 |
� P0 |
| 5.1.2 实时预览 |
修改后即时预览效果 |
🟡 P1 |
| 5.1.3 保存到数据库 |
所有配置保存到数据库 |
� P0 |
| 5.1.4 配置分类 |
常规/外观/数据/账号 Tab 分类 |
� P0 |
| 5.1.5 配置重置 |
恢复默认配置 |
🟡 P1 |
5.2 数据管理
| 三级功能 |
描述 |
优先级 |
| 5.2.1 数据导出 |
导出所有数据为 JSON/YAML |
🟡 P1 |
| 5.2.2 数据导入 |
从 JSON/YAML 导入数据 |
🟡 P1 |
| 5.2.3 数据备份 |
定时自动备份数据 |
🟢 P2 |
| 5.2.4 备份恢复 |
从备份文件恢复数据 |
🟢 P2 |
| 5.2.5 数据清空 |
清空所有数据(需二次确认) |
🟡 P1 |
| 5.2.6 竞品数据导入 |
支持从 Flame/Homer 导入数据 |
⚪ P3 |
六、图标系统模块 🖼️
核心价值:丰富的图标支持,提升视觉识别效率
6.1 内置图标库
| 三级功能 |
描述 |
优先级 |
| 6.1.1 基础图标集 |
内置 500+ 常用图标(基于 Lucide/Tabler) |
🔴 P0 |
| 6.1.2 品牌图标集 |
常见网站/服务的 Logo 图标 |
🟡 P1 |
| 6.1.3 图标搜索 |
在图标库中搜索图标 |
🔴 P0 |
| 6.1.4 图标预览 |
选择前预览图标效果 |
🔴 P0 |
| 6.1.5 最近使用 |
显示最近使用的图标 |
🟡 P1 |
6.2 自定义图标
| 三级功能 |
描述 |
优先级 |
| 6.2.1 URL 图标 |
支持外部图片 URL 作为图标 |
🔴 P0 |
| 6.2.2 URL 图标降级 |
URL 不可访问时显示默认图标 |
🔴 P0 |
| 6.2.3 图标上传 |
上传本地图片作为图标 |
🟡 P1 |
| 6.2.4 Emoji 图标 |
支持使用 Emoji 作为图标 |
🟡 P1 |
| 6.2.5 文字图标 |
使用文字首字母作为图标 |
🔴 P0 |
| 6.2.6 SVG 图标 |
支持自定义 SVG 代码 |
🟢 P2 |
6.3 图标增强
| 三级功能 |
描述 |
优先级 |
| 6.3.1 图标颜色 |
自定义图标颜色 |
🟡 P1 |
| 6.3.2 图标大小 |
调整图标显示大小 |
🟡 P1 |
| 6.3.3 图标背景 |
图标背景色/形状设置 |
🟢 P2 |
| 6.3.4 Dashboard Icons |
集成 Dashboard Icons 图标集 |
🟢 P2 |
七、首页定制模块 🏠
核心价值:个性化首页展示,满足品牌和场景需求
7.1 页面头部
| 三级功能 |
描述 |
优先级 |
| 7.1.1 网站标题 |
自定义首页标题 |
🔴 P0 |
| 7.1.2 副标题 |
可选的副标题/欢迎语 |
🔴 P0 |
| 7.1.3 Logo 设置 |
自定义 Logo 图片 |
🟡 P1 |
| 7.1.4 Favicon 设置 |
自定义浏览器标签图标 |
🟡 P1 |
| 7.1.5 问候语 |
根据时间显示不同问候语 |
🟢 P2 |
| 7.1.6 头部隐藏 |
可选择隐藏头部区域 |
🟡 P1 |
7.2 页面布局
| 三级功能 |
描述 |
优先级 |
| 7.2.1 居中布局 |
内容区域居中显示 |
🔴 P0 |
| 7.2.2 最大宽度 |
设置内容区域最大宽度 |
🟡 P1 |
| 7.2.3 侧边栏模式 |
分组作为侧边栏导航 |
🟢 P2 |
| 7.2.4 全屏模式 |
隐藏所有 UI 只显示书签 |
🟢 P2 |
7.3 页面底部
| 三级功能 |
描述 |
优先级 |
| 7.3.1 版权信息 |
自定义底部版权文字 |
🟡 P1 |
| 7.3.2 快捷链接 |
底部显示常用链接 |
🟢 P2 |
| 7.3.3 底部隐藏 |
可选择隐藏底部区域 |
🟡 P1 |
| 7.3.4 页脚自定义 HTML |
高级用户可自定义页脚内容 |
⚪ P3 |
八、用户与权限模块 👥
核心价值:保护编辑权限,支持简单的访问控制
8.1 管理员登录(MVP)
| 三级功能 |
描述 |
优先级 |
| 8.1.1 首次设置账号 |
首次启动强制设置管理员账号密码 |
� P0 |
| 8.1.2 管理员登录 |
用户名密码登录 |
� P0 |
| 8.1.3 Session 保持 |
登录状态保持,支持记住登录 |
� P0 |
| 8.1.4 退出登录 |
退出管理员状态 |
� P0 |
| 8.1.5 修改密码 |
管理员修改自己的密码 |
� P0 |
8.2 访问控制(MVP)
| 三级功能 |
描述 |
优先级 |
| 8.2.1 只读访问 |
未登录用户只能浏览,不能编辑 |
🔴 P0 |
| 8.2.2 编辑权限保护 |
添加/编辑/删除操作需要登录 |
🔴 P0 |
| 8.2.3 设置页面保护 |
设置页面需要登录才能访问 |
🔴 P0 |
8.3 多用户支持(v1.0+)
| 三级功能 |
描述 |
优先级 |
| 8.3.1 用户注册 |
管理员邀请注册新用户 |
🟢 P2 |
| 8.3.2 用户列表 |
管理员查看所有用户 |
🟢 P2 |
| 8.3.3 用户编辑 |
修改用户信息和权限 |
🟢 P2 |
| 8.3.4 用户删除 |
删除用户账号 |
� P2 |
| 8.3.5 角色权限 |
管理员/普通用户角色区分 |
🟢 P2 |
| 8.3.6 密码重置 |
管理员重置用户密码 |
🟢 P2 |
8.4 认证集成(未来)
| 三级功能 |
描述 |
优先级 |
| 8.4.1 OAuth2 登录 |
支持 GitHub/Google OAuth |
⚪ P3 |
| 8.4.2 LDAP 集成 |
企业 LDAP/AD 认证 |
⚪ P3 |
| 8.4.3 SSO 支持 |
单点登录集成 |
⚪ P3 |
| 8.4.4 2FA 支持 |
两步验证(TOTP) |
⚪ P3 |
九、服务状态监控模块 📊
核心价值:简单了解服务可用性(非核心功能,保持轻量)
9.1 简单状态检测(v1.0)
| 三级功能 |
描述 |
优先级 |
| 9.1.1 HTTP 状态检测 |
检测 URL 返回状态码 |
🟢 P2 |
| 9.1.2 状态图标显示 |
书签上显示红/绿状态点 |
🟢 P2 |
| 9.1.3 自定义检测间隔 |
设置检测频率 |
🟢 P2 |
9.2 状态展示
| 三级功能 |
描述 |
优先级 |
| 9.2.1 响应时间 |
显示服务响应延迟 |
🟢 P2 |
| 9.2.2 状态汇总 |
首页显示服务整体健康度 |
🟢 P2 |
| 9.2.3 故障提示 |
服务异常时醒目提示 |
🟢 P2 |
说明:
- 不保存历史数据
- 不生成报表
- 不支持告警通知
- 复杂监控需求可使用 Quarkus Dev UI 或专业工具
十、Widget 组件模块 🧩
核心价值:丰富信息展示(非核心差异化,延后实现)
10.1 内置 Widget(v1.0 简化版)
| 三级功能 |
描述 |
优先级 |
| 10.1.1 时钟组件 |
显示当前时间/日期 |
🟢 P2 |
| 10.1.2 搜索框组件 |
独立的搜索引擎入口 |
� P2 |
10.2 Widget 管理(v1.0)
| 三级功能 |
描述 |
优先级 |
| 10.2.1 Widget 启用/禁用 |
选择显示哪些 Widget |
🟢 P2 |
| 10.2.2 Widget 位置 |
设置 Widget 显示位置 |
🟢 P2 |
10.3 扩展 Widget(v1.x+)
| 三级功能 |
描述 |
优先级 |
| 10.3.1 天气组件 |
显示当前天气信息 |
⚪ P3 |
| 10.3.2 快捷笔记 |
简单的便签/待办 |
⚪ P3 |
| 10.3.3 系统信息 |
显示服务器 CPU/内存/磁盘 |
⚪ P3 |
| 10.3.4 插件加载机制 |
基于 SPI 的插件加载 |
⚪ P3 |
| 10.3.5 插件开发 SDK |
提供 Widget 开发工具包 |
⚪ P3 |
| 10.3.6 插件市场 |
社区 Widget 分享平台 |
⚪ P3 |
说明:Widget 系统不是 Home4j 的核心差异化点,v1.0 仅提供简单的时钟和搜索组件,复杂 Widget 延后到 v1.x 作为可选插件。
十一、快捷操作模块 ⌨️
核心价值:键盘友好,提升操作效率
11.1 全局快捷键
| 三级功能 |
描述 |
优先级 |
| 11.1.1 搜索 |
Ctrl+K 或 / 打开搜索 |
🔴 P0 |
| 11.1.2 添加书签 |
Ctrl+N 打开添加弹窗 |
🟡 P1 |
| 11.1.3 设置 |
Ctrl+, 打开设置 |
🟡 P1 |
| 11.1.4 主题切换 |
Ctrl+T 切换深色/浅色 |
🟡 P1 |
| 11.1.5 帮助 |
? 显示快捷键帮助 |
🟡 P1 |
| 11.1.6 全屏 |
F11 切换全屏模式 |
🟢 P2 |
11.2 导航快捷键
| 三级功能 |
描述 |
优先级 |
| 11.2.1 数字键访问 |
1-9 打开对应位置书签 |
🟢 P2 |
| 11.2.2 分组跳转 |
G+数字 跳转到对应分组 |
🟢 P2 |
| 11.2.3 方向键导航 |
方向键在书签间移动 |
🟢 P2 |
| 11.2.4 Tab 导航 |
Tab 键在元素间切换 |
🔴 P0 |
十二、部署与运维模块 🚀
核心价值:简化部署,降低运维成本
12.1 部署方式
| 三级功能 |
描述 |
优先级 |
| 12.1.1 Docker 部署 |
官方 Docker 镜像 |
🔴 P0 |
| 12.1.2 Docker Compose |
提供 compose 示例文件 |
🔴 P0 |
| 12.1.3 JAR 直接运行 |
单 JAR 文件直接运行 |
🔴 P0 |
| 12.1.4 Kubernetes |
K8s 部署 YAML 和 Helm Chart |
⚪ P3 |
| 12.1.5 一键脚本 |
Linux 一键安装脚本 |
🟡 P1 |
12.2 数据库支持
| 三级功能 |
描述 |
优先级 |
| 12.2.1 H2 数据库 |
默认嵌入式数据库,零配置 |
🔴 P0 |
| 12.2.2 MySQL 支持 |
可选切换到 MySQL |
🟡 P1 |
| 12.2.3 PostgreSQL |
可选切换到 PostgreSQL |
🟢 P2 |
| 12.2.4 SQLite |
可选切换到 SQLite |
🟢 P2 |
12.3 运维功能
| 三级功能 |
描述 |
优先级 |
| 12.3.1 健康检查端点 |
/health 接口 |
🔴 P0 |
| 12.3.2 就绪检查端点 |
/ready 接口 |
🟡 P1 |
| 12.3.3 Metrics 端点 |
Prometheus 格式指标 |
🟢 P2 |
| 12.3.4 日志配置 |
日志级别动态调整 |
🟡 P1 |
| 12.3.5 版本信息 |
/info 显示版本信息 |
🔴 P0 |
十三、API 接口模块 🔌
核心价值:支持自动化和二次开发
13.1 RESTful API
| 三级功能 |
描述 |
优先级 |
| 13.1.1 书签 CRUD API |
书签的增删改查接口 |
🟢 P2 |
| 13.1.2 分组 CRUD API |
分组的增删改查接口 |
🟢 P2 |
| 13.1.3 配置 API |
读取和修改配置接口 |
🟢 P2 |
| 13.1.4 导入导出 API |
数据导入导出接口 |
🟢 P2 |
| 13.1.5 API 文档 |
Swagger/OpenAPI 文档 |
🟢 P2 |
13.2 API 安全
| 三级功能 |
描述 |
优先级 |
| 13.2.1 API Key 认证 |
使用 API Key 访问接口 |
🟢 P2 |
| 13.2.2 速率限制 |
API 调用频率限制 |
⚪ P3 |
| 13.2.3 CORS 配置 |
跨域访问配置 |
🟢 P2 |
十四、国际化模块 🌍
核心价值:支持多语言,扩大用户群体
14.1 语言支持
| 三级功能 |
描述 |
优先级 |
| 14.1.1 中文(简体) |
默认语言 |
🔴 P0 |
| 14.1.2 英文 |
完整英文支持 |
🔴 P0 |
| 14.1.3 中文(繁体) |
繁体中文支持 |
🟢 P2 |
| 14.1.4 日文 |
日语支持 |
⚪ P3 |
| 14.1.5 社区翻译 |
支持社区贡献翻译 |
⚪ P3 |
14.2 语言切换
| 三级功能 |
描述 |
优先级 |
| 14.2.1 手动切换 |
设置中选择语言 |
🔴 P0 |
| 14.2.2 浏览器检测 |
自动检测浏览器语言 |
🟡 P1 |
| 14.2.3 语言偏好保存 |
记住用户语言选择 |
🔴 P0 |
功能统计汇总
| 版本 |
P0 功能数 |
P1 功能数 |
P2 功能数 |
P3 功能数 |
| MVP (v0.1) |
50 |
- |
- |
- |
| v0.5 |
50 |
35 |
- |
- |
| v1.0 |
50 |
35 |
35 |
- |
| v1.x+ |
50 |
35 |
35 |
25 |
总计:约 145 个功能点
版本交付物清单
MVP (v0.1) 交付物
v0.5 交付物
v1.0 交付物
文档结束
本功能列表将随项目进展持续更新