[GitHub]Grayslate|基于 Tauri+Rust+Svelte5 开源开发者工作台,轻松处理超大 JSON、CSV 文本文件
海外开发者在 Reddit r/webdev 社区分享自研项目 Grayslate,一款免费开源面向程序员的临时数据工作台(Developer Scratchpad),主打高效加载、处理超大 JSON、CSV、日志与文本文件。项目采用 Tauri + Rust + Svelte 5 + CodeMirror 技术栈开发,跨平台支持 Windows、macOS、Linux。
H2|项目诞生初衷
开发者表示工具来源于日常开发痛点:调试接口响应、格式化 JSON、翻阅超长堆栈日志、临时执行命令、预览 CSV 数据时,打开 VS Code、IDE 显得过于笨重;而大量在线网页工具面对数十 MB 大型文件极易卡顿崩溃。
Grayslate 定位轻量化临时工作台,并非替代 VS Code、IntelliJ 等完整 IDE,专注快速、专注的临时数据查看与转换工作。
H2|核心亮点:超大文件性能优化
性能是这款工具最大特色,底层依靠 Rust 会话引擎处理 CSV 数据:
- 实测可稳定打开 150MB、700 万行 CSV 文件;
- UI 使用虚拟列表渲染,仅渲染可视区域行,避免生成百万级 DOM 节点,保证界面流畅;
- 切换文件、新建临时文档时自动清理闲置会话与内存,内存占用回落至空闲基线;
- 大型 JSON 语法高亮渐进加载,降低 CPU 与内存压力。
H2|内置功能清单
- 自动识别文件类型、智能推荐文件名
- 全局搜索:支持检索文件名与全部已保存内容
- JSON 快捷操作:一键复制键、值、完整路径
- Markdown 实时预览、多行查找替换
- 全部数据本地运行,不上传云端
- 80 + 种本地数据转换:JSON、CSV、Base64、哈希、文本处理
- 独立临时文档(Slates)自动持久化,无需手动管理文件
H2|社区实测反馈与现存问题
帖子发布后大量开发者下载测试,反馈收获大量待优化清单,作者也逐一回应并规划迭代:
现存痛点
- 超大纯文本文件容易被误识别为 Markdown,开启预览造成长时间卡顿;
- CSV 表格视图下,转换功能、查找功能失效;
- 撤销操作后,文件格式检测状态无法同步重置;
- 缺少文件拖拽打开、dock 图标拖拽载入;
- 侧边栏文件列表展示空间有限,缺少紧凑视图;
- 图标缺少文字标签,新手学习成本高;
- “全部 / Slates / 本地” 模式概念区分不清晰。
作者迭代计划
- 增加文件大小阈值,超大文件自动禁用 Markdown 预览;
- 侧边栏紧凑视图;
- 支持文件拖拽导入;
- 内置新手引导教程;
- 修复 CSV 表格视图相关 Bug;
- 优化格式检测状态一致性;
- 支持多窗口并行打开不同文件;
- 未来规划 Git 同步、自定义转换脚本、测试数据生成器。
H2|同类工具横向对比
不少网友将 Grayslate 和现有工具对比:
- VS Code / Sublime Text:完整代码编辑器,适合工程开发,启动重、资源占用高;
- Heynote、Boop、Notepad++:轻量化记事本,但缺少针对百万行 CSV 深度优化;
- Grayslate:兼顾临时数据草稿 + 超大结构化文件解析,Rust 底层带来更强大文件处理能力。
有网友建议更换 Monaco 编辑器进一步提升渲染性能,作者进行过技术验证:Monaco 内存开销更高,当前版本空闲内存仅 150–200MB,权衡后继续使用 CodeMirror 方案。
H2|适合哪些开发者?
✅ 后端、数据分析、接口调试人员
✅ 经常需要查看接口 JSON、海量日志、报表 CSV
✅ 不想启动重型 IDE,只需要快速校验、转换数据
✅ 需要本地处理敏感数据,拒绝在线网页工具