Zedis:用 Rust 写的 Redis GUI,以及让 AI 帮忙改界面的一点感想

7 月 27 日
 treexie

最近把自用的 Redis 客户端 Zedis 又打磨了一轮,发出来给大家看看。 项目地址: https://github.com/vicanso/zedis

Zedis 是原生 GUI ( Rust + GPUI ,和 Zed 同一套 UI 栈),不是套一层 WebView 。目标很简单:日常连 Redis 、翻 key 、改数据、偶尔排个障,开着不别扭。

主要特性(按使用频率)

连接与工作区

• 多服务器管理,支持常见连接方式(含 SSH 隧道等) • 多 Tab:不同实例 / 不同上下文可以并排开着 • 状态栏看延迟、内存、连接状态,点一下能进对应工具页

键空间

• 按分隔符分层的键树(默认 :,可配最大深度) • 类型 / TTL / 关键词筛选 • 收藏、最近打开、右键批量操作(删、设 TTL 、导出等)

数据类型编辑

• 基础五件套:String / Hash / List / Set / ZSet • Stream 、RedisJSON 、Bitmap 、HyperLogLog 、TimeSeries • GEO 有单独的「雷达图」视图,不是干巴巴一张表 • 大 value 有门槛,避免一把把几百万字节拖进编辑器

搜索与命令

• 命令面板、最近 key (类似 ⌘P ) • 跨连接的多库 key 搜索(⌘⇧F 一类快捷键) • 内嵌终端跑命令,键盘快捷键覆盖常用路径

运维向工具

• Metrics / 慢日志 / 内存分析 / 客户端列表 / MONITOR • 配置编辑、ACL 、拓扑(含 Cluster 相关)、持久化状态 • Lua 脚本库、Functions 、键空间通知 • 只读 / 安全模式,少误点生产

安全与体验

• 配置里的密码等敏感字段可按本机密钥加密 • 危险操作有确认(生产环境文案会更狠一点) • 多语言、主题、持续小版本迭代

平台:macOS / Windows / Linux ,Release 页直接下: https://github.com/vicanso/zedis/releases

界面这块我自己设计太土,就让 Grok 一起改。AI 味有是有,但总好过土味。更麻烦的是 GPUI 渲染结果模型感知不到,只能瞎改代码。后来写了个截图程序,把真机界面截下来给 AI 对照代码看,反馈闭环才通——有图可比,比纯文字描述靠谱多了。

1971 次点击
所在节点    程序员
7 条回复
mephisto
7 月 27 日
牛的
Oktfolio
7 月 27 日
GPUI 在 mac 上没有字体渲染的问题吗?我用 slint 、iced 都存在字体渲染的问题,不知道是不是我没用对...
luodan
7 月 27 日
能不能加一个 connection string 解析,比如 redis://user:pass@somewhere.com:1234
Barry5753
7 月 28 日
截图回传这个思路挺实用,光看代码改 UI 确实容易瞎猜。你现在是每轮截整屏,还是只截改动区域?感觉再带上组件层级和坐标,定位应该会快不少。
treexie
7 月 28 日
@Barry5753 只做了最简单的截屏
treexie
7 月 28 日
@Oktfolio 我现在中英都没发现什么问题,其它语言也支持了,但是有没有问题就没有一一测试。slint 我之前也用过,是指怎样的渲染问题?
treexie
7 月 28 日
@luodan 可以的,本来导入就支持,不过最新版本无法输入,我修复一下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1230237

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX