From bb32d2d647133b548d007610d7220f0ab26e0a49 Mon Sep 17 00:00:00 2001 From: Jokul Date: Sun, 5 Jul 2026 16:13:35 +0800 Subject: [PATCH] docs: roadmap and optimization checklist --- ROADMAP.md | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 ROADMAP.md diff --git a/ROADMAP.md b/ROADMAP.md new file mode 100644 index 0000000..ed72da6 --- /dev/null +++ b/ROADMAP.md @@ -0,0 +1,84 @@ +# JRedisDesktop v2 路线图 + +> 基于 Legacy (AnotherRedisDesktopManager) 的对比分析,当前 v2 已覆盖约 40% 功能。 + +--- + +## P0 — 阻塞级(连接功能不完整) + +- [ ] **SSH 隧道** — 类型已定义,NewConnectionDialog 需添加 host/port/user/password/privateKey/passphrase 表单 +- [ ] **SSL/TLS 证书路径** — CA / Cert / Key 文件路径 + SNI servername,当前仅 TLS 复选框 +- [ ] **Sentinel 模式** — masterName + nodePassword 表单 +- [ ] **Cluster 开关** — UI 暴露 cluster 模式切换 + FAQ 说明 + +## P1 — 核心功能缺失 + +- [ ] **内存分析** — `MEMORY USAGE` 扫描所有 key,虚拟化列表,按大小排序,暂停/恢复,大小过滤 +- [ ] **命令日志** — 记录每次命令的耗时/连接/时间,最多 5000 条,只写模式过滤 +- [ ] **自动更新** — 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(当前已加入)