b802fc6928
- New src/utils/binary.ts: isBinaryKey + formatKeyName - KeyList: display [Hex] prefix for binary keys in list/tree/preview - KeyDetail: binary key display + copy hex button - i18n keys (zh-CN + en) - P2 complete!
5.2 KiB
5.2 KiB
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(当前已加入)