shriram-ethiraj/grayslate
GitHub: shriram-ethiraj/grayslate
一款基于 Rust 和 Tauri 构建的跨平台开发者临时笔记工具,支持本地文本转换、大型 CSV 浏览和自动保存搜索。
Stars: 25 | Forks: 3
Grayslate 是您常驻在主编辑器旁边的窗口。粘贴 API 响应,探索庞大的 CSV,转换文本或记录灵感。Grayslate 能识别您的内容,推荐相关的转换操作,并自动为每个 slate 命名和保存——方便您随时再次找到它。
## 功能介绍
**无需网页即可转换文本。** Grayslate 会检测当前的文档或选区,并优先将与内容类型匹配的转换放在前面。格式化 JSON、解码 Base64、将 CSV 转换为 JSON、对字符串进行哈希处理等操作,只需一次按键即可完成,且所有操作均在您的本地机器上运行。内置了超过 80 种转换操作;部分示例请见[下方](#transformations)。
**打开大型 CSV。** 表格视图由 Rust 和虚拟化技术提供支持,因此即使打开包含数十万行的文件并进行滚动,应用也不会卡顿。
**随时粘贴,日后查找。** Grayslate 能根据文件扩展名、shebang 或内容本身识别 40 多种语言。它会自动选择实用的文件名和扩展名,并在您输入时自动保存笔记(即 *slate*)。您可以随时浏览最近的 slate,或通过搜索名称和内容来找到所需文件。
**更高效地处理 JSON。** 右键点击键或值即可复制其路径、键或值,这与在 Chrome DevTools 中的操作非常相似。
此外,它还提供实时 Markdown 预览和多行查找与替换功能,甚至支持跨行匹配。
您的文件和转换操作始终保留在本地机器上。无需注册账号,无需云同步,也没有任何遥测数据。
## 截图
Large CSVs in a virtualized table
Copy a JSON path, key, or value from the context menu
Relevant transformations suggested from the detected content type
## 下载
### macOS
下载适用于 Apple Silicon 和 Intel Mac 的[通用 DMG](https://github.com/shriram-ethiraj/grayslate/releases/latest/download/grayslate-macos-universal.dmg)。
或者使用 Homebrew 进行安装:
```
brew install --cask shriram-ethiraj/grayslate/grayslate
```
### Windows
请为您的 Windows 设备选择相应的安装程序:
- [Windows x64](https://github.com/shriram-ethiraj/grayslate/releases/latest/download/grayslate-windows-x86_64-setup.exe)
- [Windows ARM64](https://github.com/shriram-ethiraj/grayslate/releases/latest/download/grayslate-windows-aarch64-setup.exe)
### Linux
目前的 Linux 安装包主要针对 x86_64 架构。推荐的安装程序会自动检测 Debian/Ubuntu/Mint 或 Fedora/RHEL 兼容系统,添加官方签名的 APT 或 DNF 软件源,并安装 Grayslate:
```
curl -fsSL https://packages.grayslate.app/install.sh | sh
```
后续的版本更新将通过您日常使用的系统包管理器和 Linux 图形化更新工具进行分发。
如果倾向于使用独立文件?请下载 [AppImage](https://github.com/shriram-ethiraj/grayslate/releases/latest/download/grayslate-linux-x86_64.AppImage),然后运行:
```
chmod +x grayslate-linux-x86_64.AppImage
./grayslate-linux-x86_64.AppImage
```
独立的带版本号 DEB/RPM 文件、所有其他构件及校验和均可在 [Releases 页面](https://github.com/shriram-ethiraj/grayslate/releases)获取。
手动配置 APT/DNF 软件源的详细步骤及故障排除方法,请查阅 [Linux 软件源操作手册](docs/linux-package-repository.md)。
## 转换操作
内置超过 80 种操作。以下是部分功能示例:
- **JSON** — 格式化、压缩、验证(允许注释和尾随逗号)、排序键值、JSON ↔ YAML、JSON → CSV、JSON → TypeScript、数组 ↔ JSON-lines、查询字符串 ↔ JSON、将键名重命名为驼峰/蛇形/烤串/标题格式 (camel/snake/kebab/Title case)。
- **CSV** — CSV → JSON(自动检测分隔符),以及从 JSON 端进行 JSON → CSV 转换。
- **编码** — Base64 和 Base64URL 编码/解码、gzip ↔ Base64、十六进制 ↔ ASCII、URL 编码/解码、HTML 实体编码/解码、解码 JWT(未经验证)。
- **哈希** — SHA-256、SHA-512、SHA-1、MD5、CRC32。
- **文本与行** — 大写/小写/标题/驼峰/蛇形/烤串/sPoNgE 大小写转换、行排序、行反转、字符串反转、去除重复项、修剪空白字符、折叠空行、ROT13、统计字数/行数/字符数。
- **数字与时间** — 二进制/十进制/十六进制转换、Unix 时间戳 ↔ RFC 3339。
- **格式化工具** — JavaScript、TypeScript、CSS、HTML、Svelte、YAML、TOML、Markdown、SQL、XML。
- **杂项** — 插入 UUID v4/v7、添加/删除斜杠、对 URL 进行失效处理/恢复 (defang/refang)。
## 技术栈
- **前端** — [SvelteKit](https://kit.svelte.dev/) + [Svelte 5](https://svelte.dev/)、TypeScript
- **编辑器** — [CodeMirror 6](https://codemirror.net/)
- **样式** — [Tailwind CSS v4](https://tailwindcss.com/) + shadcn-svelte
- **后端** — [Tauri 2](https://tauri.app/) (Rust)
借助 Tauri,Grayslate 能够使用操作系统内置的 WebView,而无需打包一个完整的浏览器,因此下载体积更小,内存占用也更低。
## 从源码构建
您需要安装 [Node.js](https://nodejs.org/) (v24+)、[Rust](https://www.rust-lang.org/) 和 [pnpm](https://pnpm.io/)。
```
git clone https://github.com/shriram-ethiraj/grayslate.git
cd grayslate
pnpm install
pnpm tauri dev # run in development
pnpm tauri build # produce an optimized build
```
## 常见问题
**它与 Boop 或 Notepad++ 有什么不同?**
Boop 主要专注于一次性的文本转换,而 Notepad++ 是一款通用编辑器。Grayslate 则是围绕持久化的临时记录需求构建的:它能识别粘贴的内容,推荐相关的转换操作,为每个新 slate 起一个有意义的名字,自动保存,并支持日后搜索查找。此外,它还能在 macOS、Windows 和 Linux 上处理真实的文件编辑工作以及大型 CSV 文件。
**Grayslate 会自动保存我的工作吗?**
新的 slate 会在您输入时自动命名并保存,并保留在库中供浏览或搜索。对于从计算机其他位置打开的文件,系统绝不会自动覆盖——只有当您明确选择“保存”时,Grayslate 才会将更改写入这些文件。
**为什么选择 Tauri 而不是 Electron?**
Electron 在发布每个应用时都会捆绑完整的 Chromium 和 Node 运行时。Tauri 则复用了系统自带的 WebView,并配合 Rust 后端运行,因此安装包体积要小得多,内存占用也更低。
**为什么不直接使用在线格式化工具?**
因为那样您的数据就会离开您的机器。专有代码、API 密钥、客户 CSV 文件——这些都不应该仅仅为了格式化就传输到陌生人的服务器上。Grayslate 的所有操作均在本地完成。
**它能处理非常大的文件吗?**
Grayslate 可以打开最大 200 MB 的文件,无论是 CSV 还是常规文本文件。CSV 表格采用了虚拟化技术,因此即使是包含数十万行的文件也能流畅浏览。
**它是免费的吗?**
是的,完全免费且开源。
## 路线图
- **Git 同步** — 自动对您的笔记进行版本控制,并将其备份到 Git 仓库中。
- **自定义转换** — 编写您自己的转换操作并将其添加到菜单中。
## 许可证
MIT。
Large CSVs in a virtualized table
Copy a JSON path, key, or value from the context menu
Relevant transformations suggested from the detected content type
标签:Rust, SBOM分析, SOC Prime, Svelte, Tauri, 可视化界面, 开发工具, 文本编辑器, 网络流量审计, 通知系统