简体中文 | English
getferrite.dev — 官网:下载、功能介绍与文档
面向 Markdown、JSON、YAML、TOML 的轻量级文本编辑器,使用 Rust 与 egui 构建,原生、流畅。
⚠️ 平台说明: Ferrite 主要在 Windows 与 Linux 上开发与测试。macOS 支持为实验性。若遇问题请 提交 Issue。
🛡️ 代码签名与杀毒软件
自 v0.2.6.1 起,所有 Windows 版本均使用 SignPath Foundation 证书进行数字签名。这意味着:
未签名的旧版本仍可能被部分杀毒软件报毒,原因包括:
- Live Pipeline 功能:在 Windows 上使用 cmd.exe /C 执行 shell 命令,可能被机器学习检测误判
- Rust 编译特征:Rust 二进制具有独特特征,可能触发启发式检测
我们已通过代码签名、构建配置调整(关闭符号剥离、优化等级)以及向 Microsoft 安全情报中心反馈来改善此问题。
若 Windows Defender 隔离了 Ferrite:
1. 升级:从 GitHub Releases 下载最新已签名版本
2. 验证签名:右键 ferrite.exe → 属性 → 数字签名 → 应显示 “SignPath Foundation”
3. VirusTotal:将文件上传至 VirusTotal,已签名版本应显示为安全
Ferrite 不会访问密码、浏览器数据,也不进行网络连接。应用完全离线,仅访问您明确打开的文件。
本项目代码 100% 由 AI 生成。所有 Rust 代码、文档与配置均由 Claude (Anthropic) 通过 Cursor 与 MCP 工具编写。
关于 AI 工作流
📖 详情: AI 开发工作流
用于构建 Ferrite 的实际提示与文档均公开:
| 文档 | 用途 |
|---|---|
current-handover-prompt.md |
当前会话上下文 |
ai-workflow/ |
工作流文档、PRD、历史交接 |
handover/ |
可复用交接模板 |
此举旨在透明,方便他人学习并改进这一方式。

| 纯文本编辑 | 分栏视图 | 禅模式 |
|---|---|---|
![]() |
![]() |
![]() |
✨ v0.2.7(最新): 维基链接与反向链接面板。Vim 模式。首次启动欢迎页。GitHub 风格提示框。Ctrl+滚轮缩放。格式化后保持选中。前言编辑器。预览中渲染图片。格式工具栏与侧边面板切换。Nix/NixOS flake 支持。新安装包:.deb、.rpm、macOS .dmg 与 .app 包。单实例文件打开。20+ 问题修复。详见 CHANGELOG.md。
📦 v0.2.6 亮点: 全新自定义编辑器引擎与虚拟滚动(80MB 文件约 80MB 内存)、多光标编辑、代码折叠、IME/CJK 输入改进。
()[]{}<> 与 ** __(, [, {, ", ' 自动补全;支持选区包裹[文字](url) 链接./assets/ 并插入 Markdown 链接;date → 当前日期、;time → 当前时间及自定义片段预览中原生渲染 11 种图表: - 流程图、时序图、饼图、状态图、思维导图 - 类图、ER 图、Git 图、甘特图、时间线、用户旅程
v0.2.5 Mermaid 更新: 支持 YAML frontmatter、平行边 (
A --> B & C)、classDef/linkStyle样式、改进子图等。复杂图与 mermaid.js 仍可能有差异。计划见 ROADMAP.md。
从 GitHub Releases 下载对应平台最新版本。
| 平台 | 下载 | 说明 |
|---|---|---|
| Windows | ferrite-windows-x64.msi |
推荐 — 完整安装包,含开始菜单 |
| Windows | ferrite-portable-windows-x64.zip |
便携 — 解压即用,可放 U 盘 |
| Linux (Debian/Ubuntu) | ferrite-editor_amd64.deb |
Debian、Ubuntu、Mint、Pop!_OS |
| Linux (Fedora/RHEL) | ferrite-editor.x86_64.rpm |
Fedora、RHEL、CentOS、Rocky |
| Linux | ferrite-linux-x64.tar.gz |
通用 — 适用于多数发行版 |
| macOS (Apple Silicon) | ferrite-macos-arm64.dmg |
推荐 — 拖入"应用程序"即可 (M1/M2/M3) |
| macOS (Apple Silicon) | ferrite-macos-arm64.tar.gz |
替代 — 包含 Ferrite.app |
| macOS (Intel) | ferrite-macos-x64.dmg |
推荐 — 拖入"应用程序"即可 |
| macOS (Intel) | ferrite-macos-x64.tar.gz |
替代 — 包含 Ferrite.app |
Windows 安装
下载 ferrite-windows-x64.msi 并运行:
- 安装到 C:\Program Files\Ferrite
- 开始菜单快捷方式与图标
- 可通过 Windows 设置卸载
- 配置保存在 %APPDATA%\ferrite\
下载 ferrite-portable-windows-x64.zip 解压到任意位置。压缩包包含:
- ferrite.exe — 主程序
- portable/ — 配置与数据目录
- README.txt — 简要说明
真正便携: 所有配置、会话与数据均在可执行文件旁的 portable 目录,不写入 %APPDATA% 或注册表,适合 U 盘或免安装试用。
Linux 安装
# 下载 .deb 后安装:
sudo apt install ./ferrite-editor_amd64.deb
# 或使用 dpkg:
sudo dpkg -i ferrite-editor_amd64.deb
# 下载 .rpm 后安装:
sudo dnf install ./ferrite-editor.x86_64.rpm
# 或使用 rpm:
sudo rpm -i ferrite-editor.x86_64.rpm
.deb 与 .rpm 将:
- 安装到 /usr/bin/ferrite
- 添加桌面项(出现在应用菜单)
- 注册 .md、.json、.yaml、.toml 关联
- 安装系统图标
AUR 提供: - Ferrite(发布包) - Ferrite-bin(二进制包)
# 发布包
yay -Sy ferrite
# 二进制包
yay -Sy ferrite-bin
# 直接从 GitHub 运行(无需安装)
nix run github:OlaProeis/Ferrite
# 进入包含 ferrite 的 shell 环境
nix shell github:OlaProeis/Ferrite
从本地克隆:
# 构建
nix build .#ferrite
./result/bin/ferrite
# 进入开发 shell(Rust 工具链 + 系统依赖)
nix develop
tar -xzf ferrite-linux-x64.tar.gz
./ferrite
macOS 安装
根据 Mac 类型下载 .dmg:
- Apple Silicon(M1/M2/M3/M4):ferrite-macos-arm64.dmg
- Intel:ferrite-macos-x64.dmg
打开 DMG,将 Ferrite.app 拖入应用程序文件夹。从启动台或 Spotlight 启动。
# Apple Silicon
tar -xzf ferrite-macos-arm64.tar.gz
cp -R Ferrite.app /Applications/
# Intel
tar -xzf ferrite-macos-x64.tar.gz
cp -R Ferrite.app /Applications/
Gatekeeper 提示: 若 macOS 显示"无法打开,因为它来自身份不明的开发者",右键点击
Ferrite.app并选择打开,然后在对话框中点击打开。此操作仅需一次。
从源码构建
Nix 用户: 可跳过手动安装依赖,在仓库根目录使用 nix develop(见 flake.nix)。
Windows: - Visual Studio Build Tools 2019+,含 C++ 工作负载
Linux:
# Ubuntu/Debian
sudo apt install build-essential pkg-config libgtk-3-dev libxcb-shape0-dev libxcb-xfixes0-dev
# Fedora
sudo dnf install gcc pkg-config gtk3-devel libxcb-devel
# Arch
sudo pacman -S base-devel pkg-config gtk3 libxcb
macOS:
xcode-select --install
# 克隆仓库
git clone https://github.com/OlaProeis/Ferrite.git
cd Ferrite
# 构建 release(优化)
cargo build --release
# 生成文件位置:
# Windows: target/release/ferrite.exe
# Linux/macOS: target/release/ferrite
# macOS:创建 .app 包(可选)
cargo install cargo-bundle
cargo bundle --release
# 包位置: target/release/bundle/osx/Ferrite.app
macOS「打开方式」限制: 应用包包含文件类型关联,Ferrite 会出现在 Finder 的「打开方式」中,但通过该方式打开文件(或拖放到应用图标)目前因 eframe/winit 限制 尚未支持。变通: 用终端
open -a Ferrite path/to/file.md或在应用内通过 文件 → 打开。开发版: 从
main分支构建可获得未发布功能,但未经完整测试,可能含 bug。稳定版请从 GitHub Releases 下载。
# 打开文件
ferrite path/to/file.md
# 以工作区打开文件夹
ferrite path/to/folder/
更多命令行选项
# 从源码运行
cargo run --release
# 或直接运行二进制
./target/release/ferrite
# 多文件多标签打开
./target/release/ferrite file1.md file2.md
# 显示版本
./target/release/ferrite --version
# 显示帮助
./target/release/ferrite --help
完整 CLI 说明见 docs/cli.md。
Markdown 支持三种视图:
通过工具栏或快捷键切换。
| 快捷键 | 操作 |
|---|---|
Ctrl+N |
新建 |
Ctrl+O |
打开 |
Ctrl+S |
保存 |
Ctrl+W |
关闭标签 |
Ctrl+P |
快速切换文件 |
Ctrl+F |
查找 |
Ctrl+G |
跳转到行 |
Ctrl+, |
打开设置 |
完整快捷键
| 快捷键 | 操作 |
|---|---|
Ctrl+N |
新建 |
Ctrl+O |
打开 |
Ctrl+S |
保存 |
Ctrl+Shift+S |
另存为 |
Ctrl+W |
关闭标签 |
| 快捷键 | 操作 |
|---|---|
Ctrl+Tab |
下一标签 |
Ctrl+Shift+Tab |
上一标签 |
Ctrl+P |
快速切换文件(工作区) |
Ctrl+Shift+F |
在文件中搜索(工作区) |
| 快捷键 | 操作 |
|---|---|
Ctrl+Z |
撤销 |
Ctrl+Y / Ctrl+Shift+Z |
重做 |
Ctrl+F |
查找 |
Ctrl+H |
查找替换 |
Ctrl+G |
跳转到行 |
Ctrl+Shift+D |
复制行 |
Alt+↑ |
上移行 |
Alt+↓ |
下移行 |
Ctrl+B |
粗体 |
Ctrl+I |
斜体 |
Ctrl+K |
插入链接 |
| 快捷键 | 操作 |
|---|---|
F11 |
全屏 |
Ctrl+, |
打开设置 |
Ctrl+Shift+[ |
全部折叠 |
Ctrl+Shift+] |
全部展开 |
终端快捷键在终端面板获得焦点时生效。
| 快捷键 | 操作 |
|---|---|
Ctrl+Tab / Ctrl+Shift+Tab |
切换终端标签 |
Ctrl+1-9 |
切换到指定终端标签 |
Ctrl+方向键 |
在分屏间移动焦点 |
Ctrl+Shift+M |
最大化/还原当前窗格 |
Ctrl+L |
清屏 |
Ctrl+Shift+C |
复制选区/屏幕 |
Ctrl+Shift+V |
粘贴到终端 |
Ctrl+W / Ctrl+F4 |
关闭当前窗格 |
双击标签 |
重命名终端 |
通过 Ctrl+, 或齿轮图标打开设置,可配置外观、编辑行为与文件处理。
配置说明
配置存放位置:
%APPDATA%\ferrite\ferrite.exe 旁的 portable\ 目录~/.config/ferrite/~/Library/Application Support/ferrite/便携模式(Windows): 若可执行文件旁存在 portable 目录,Ferrite 将全部使用该目录而非 %APPDATA%,实现完全自包含,适合 U 盘。
工作区设置保存在工作区目录下的 .ferrite/。
计划功能与已知问题见 ROADMAP.md。
欢迎贡献。请参阅 CONTRIBUTING.md。
Ferrite 正在社区帮助下翻译为多种语言。
在 Weblate 上帮助翻译 Ferrite — 无需编程!
贡献者快速入门
# Fork 并克隆
git clone https://github.com/YOUR_USERNAME/Ferrite.git
cd Ferrite
# 创建功能分支
git checkout -b feature/your-feature
# 修改后检查
cargo fmt
cargo clippy
cargo test
cargo build
# 可选(Nix 用户):验证 flake 输出
nix flake check
# 提交并推送
git commit -m "feat: your feature description"
git push origin feature/your-feature
Rust 1.70+,egui/eframe 图形界面,comrak Markdown 解析,ropey 绳索文本,syntect 语法高亮。
完整技术栈
| 组件 | 技术 |
|---|---|
| 语言 | Rust 1.70+ |
| GUI | egui 0.28 + eframe 0.28 |
| 文本缓冲 | ropey 1.6 |
| Markdown 解析 | comrak 0.22 |
| 语法高亮 | syntect 5.1 + two-face 0.5 |
| Git | git2 0.19 |
| 终端 PTY | portable-pty 0.8 |
| 终端 ANSI | vte 0.13 |
| 编码检测 | encoding_rs 0.8 + chardetng 0.1 |
| 国际化 | rust-i18n 3 + sys-locale 0.3 |
| CLI | clap 4 |
| 文件对话框 | rfd 0.14 |
| 剪贴板 | arboard 3 |
| 文件监视 | notify 6 |
| 模糊匹配 | fuzzy-matcher 0.3 |
| HTTP | ureq 2(更新检查) |
| 哈希 | blake3 1.5(Mermaid 缓存) |
| 日期时间 | chrono 0.4 |
| CSV 解析 | csv 1.3 |
| 调色 | palette 0.7 |
| 字体枚举 | font-kit 0.14 |
| 分配器 (Windows) | mimalloc 0.1 |
| 分配器 (Unix) | tikv-jemallocator 0.6 |
本项目采用 MIT 许可证,详见 LICENSE。
$ claude mcp add Ferrite \
-- python -m otcore.mcp_server <graph>