405dfa77c4
- Install electron-updater - New updater.ts: check/download/install with progress events - IPC: updater:check, updater:download, updater:install, updater:status - Preload bridge for updater API - electron-builder publish config (github provider) - Fix build files path: out -> electron-dist - i18n keys for updater notifications (zh-CN + en)
85 lines
5.2 KiB
Markdown
85 lines
5.2 KiB
Markdown
# JRedisDesktop v2 路线图
|
||
|
||
> 基于 Legacy (AnotherRedisDesktopManager) 的对比分析,当前 v2 已覆盖约 40% 功能。
|
||
|
||
---
|
||
|
||
## P0 — 阻塞级(连接功能不完整)
|
||
|
||
- [x] **SSH 隧道** — 类型已定义,NewConnectionDialog 需添加 host/port/user/password/privateKey/passphrase 表单
|
||
- [x] **SSL/TLS 证书路径** — CA / Cert / Key 文件路径 + SNI servername,当前仅 TLS 复选框
|
||
- [x] **Sentinel 模式** — masterName + nodePassword 表单
|
||
- [x] **Cluster 开关** — UI 暴露 cluster 模式切换 + FAQ 说明
|
||
|
||
## P1 — 核心功能缺失
|
||
|
||
- [x] **内存分析** — `MEMORY USAGE` 扫描所有 key,虚拟化列表,按大小排序,暂停/恢复,大小过滤
|
||
- [x] **命令日志** — 记录每次命令的耗时/连接/时间,最多 5000 条,只写模式过滤
|
||
- [x] **自动更新** — electron-updater 集成,启动检查,下载进度,发行说明
|
||
- [ ] **多标签页** — 单连接支持同时打开 Status/Keys/CLI/SlowLog/内存分析/批量删除 多个标签
|
||
- [ ] **多连接并行** — 同时打开多个连接,各自独立标签页
|
||
- [ ] **Monaco 编辑器** — 替换 StringEditor 的 textarea,支持 JSON 折叠/展开/语法高亮
|
||
- [ ] **Redis 命令自动补全** — CLI 输入时智能提示(基于 commands.js 命令数据库)
|
||
- [ ] **CLI SUBSCRIBE/MONITOR** — 实时消息流 + MONITOR 命令流 + 停止按钮
|
||
- [ ] **CLI MULTI/EXEC** — 事务模式支持
|
||
- [ ] **Stream 消费者组** — XINFO GROUPS / XINFO CONSUMERS 展开表格
|
||
|
||
## P2 — 重要功能增强
|
||
|
||
- [ ] **多格式查看器** — Text / Hex / Json / Binary / Msgpack / PHP Serialize / Java Serialize / Pickle / Brotli / Gzip / Deflate / DeflateRaw / Protobuf(13 种格式)
|
||
- [ ] **自动格式检测** — 检查内容 magic bytes 自动选择查看器
|
||
- [ ] **自定义格式化器** — 外部可执行文件 + 模板参数 {KEY} {VALUE} {HEX} {HEX_FILE}
|
||
- [ ] **ReJson / TairJson 支持** — JSON.GET / JSON.SET / JSON.DEL 编辑
|
||
- [ ] **二进制 key 支持** — [Hex] 前缀输入,hex ↔ buffer 双向转换
|
||
- [ ] **虚拟化滚动** — 大 key 集合(200k+)的性能优化,KeyList 树形视图虚拟化
|
||
- [ ] **批量删除预览** — 先扫描预览,再确认删除,显示 key 数量和总大小
|
||
- [ ] **Key 导出** — DUMP + PTTL → CSV 下载
|
||
- [ ] **Key 导入** — CSV (hex_key, hex_value, ttl) → RESTORE
|
||
- [ ] **命令导入** — 文本文件逐行执行 Redis 命令
|
||
- [ ] **FlushDB** — 清空当前数据库,双重确认
|
||
- [ ] **Key 搜索历史** — 最近 200 条搜索模式自动补全
|
||
- [ ] **取消扫描** — 中断正在进行的 SCAN
|
||
|
||
## P3 — 体验优化
|
||
|
||
- [ ] **右键菜单** — key 列表右键:复制/删除/多选/导出/内存分析/加载文件夹/删除文件夹
|
||
- [ ] **多选增强** — Shift+Click 范围选择,全选复选框
|
||
- [ ] **快捷键增强** — Ctrl+,(设置) / Ctrl+G(命令日志) / Ctrl+W(关闭标签) / Ctrl+S(保存) / Ctrl+L(清CLI) / Ctrl+/(帮助)
|
||
- [ ] **连接颜色标记** — 每个连接可选颜色(预定义色板)
|
||
- [ ] **连接拖拽排序** — Sortable.js 拖拽重排连接列表
|
||
- [ ] **复制连接** — 右键复制现有连接配置
|
||
- [ ] **侧边栏可拖拽** — 调整宽度 200–1500px,持久化
|
||
- [ ] **DB 自定义名称** — 用户可重命名 DB0 → 生产库,下拉显示
|
||
- [ ] **DB key 数量显示** — 下拉框显示每个 DB 的 key 数量
|
||
- [ ] **DB 数量自动检测** — CONFIG GET databases + INFO keyspace
|
||
- [ ] **DB 记忆** — 每个连接记住最后选择的数据库
|
||
- [ ] **更多语言** — de/es/fr/it/ko/pt/ru/tr/ua/vi/tw(当前仅 en/zh-CN)
|
||
- [ ] **页面缩放** — 0.5x–2.0x 缩放控制
|
||
- [ ] **自定义字体** — 用户可选等宽字体
|
||
- [ ] **SlowLog 配置显示** — slowlog-log-slower-than / slowlog-max-len
|
||
- [ ] **Cluster SlowLog** — 每个 master 节点分别查询
|
||
- [ ] **Cluster Keyspace 表** — 集群模式显示各节点 key 数量
|
||
- [ ] **Status 自动刷新开关** — 可暂停/恢复的刷新(当前固定 1s)
|
||
- [ ] **Status 搜索过滤** — INFO 表格搜索
|
||
- [ ] **Key 统计表** — 每个 DB 的 Keys/Expires/Avg TTL 排序表
|
||
- [ ] **大值保护** — >20MB 显示占位符而非崩溃
|
||
- [ ] **Hash 字段 TTL** — Redis 7.4+ HEXPIRE 支持
|
||
- [ ] **Editor 行内过滤** — 每个编辑器的表头搜索
|
||
- [ ] **Zset 排序切换** — ASC/DESC 单选按钮
|
||
- [ ] **CLI 自动同步** — CLI 执行 SELECT 后自动同步 UI
|
||
- [ ] **CLI 执行后刷新 key 列表** — set/hset/del 等命令后自动刷新
|
||
- [ ] **标签页滚轮切换** — 鼠标滚轮切换标签
|
||
- [ ] **标签页右键菜单** — 关闭/关闭其他/关闭左侧/关闭右侧
|
||
- [ ] **Element Plus 深色适配** — 所有组件无白底
|
||
- [ ] **窗口状态持久化** — 大小/位置/最大化状态记忆
|
||
|
||
---
|
||
|
||
## 技术债务
|
||
|
||
- [ ] AGENTS.md 路径更新 — 文档写 `src/renderer/src/components/`,实际是 `src/components/`
|
||
- [ ] `electron/shared/types.ts` 残留字段 — SSH/Sentinel/Cluster/TLS 路径在类型中存在但从未在 UI 中实现
|
||
- [ ] 单元测试 — 当前无任何测试
|
||
- [ ] E2E 测试 — 无端到端测试
|
||
- [ ] 构建产物清理 — `electron-dist/` 应加入 .gitignore(当前已加入)
|