Files
JRedisDesktop/ROADMAP.md
T
Jokul 405dfa77c4 feat: auto-updater integration
- 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)
2026-07-05 22:13:25 +08:00

85 lines
5.2 KiB
Markdown
Raw 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.
# 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 / Protobuf13 种格式)
- [ ] **自动格式检测** — 检查内容 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.5x2.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(当前已加入)