8 điểm bởi GN⁺ 2026-01-13 | 1 bình luận | Chia sẻ qua WhatsApp
  • Ferrite là một trình soạn thảo văn bản dựa trên Rust giúp chỉnh sửa nhanh và nhẹ các tệp Markdown, JSON, YAML, TOML
  • Sử dụng framework egui để mang lại độ phản hồi ở mức native và môi trường chạy đa nền tảng
  • Hỗ trợ nhiều tính năng như xem trước WYSIWYG, kết xuất sơ đồ MermaidJS, tích hợp Git, chế độ workspace
  • Toàn bộ mã Rust và tài liệu của dự án đều được tạo bởi AI (Claude by Anthropic), con người phụ trách khâu rà soát và kiểm thử
  • Là một ví dụ áp dụng thực tế của phát triển có hỗ trợ AI, cho thấy khả năng cộng tác giữa hệ sinh thái Rust và phát triển bằng AI

Tổng quan về Ferrite

  • Ferritetrình soạn thảo văn bản tốc độ cao, nhẹ hỗ trợ các tệp Markdown, JSON, YAML, TOML
    • Được viết bằng Rustegui, bảo đảm độ phản hồi ở mức native và chạy đa nền tảng
    • Được phát triển và kiểm thử chủ yếu trên Windows, đồng thời có thể hoạt động trên Linux và macOS
  • Cung cấp binary dựng sẵn cho Windows, Linux(.deb, tar.gz), macOS(Intel/ARM)

Phát triển dựa trên AI

  • Toàn bộ mã Rust, tài liệu và tệp cấu hình của Ferrite đều do AI (Claude by Anthropic) viết
    • Nhà phát triển đảm nhiệm việc định hướng sản phẩm, kiểm thử và điều phối quá trình phát triển cùng AI
    • Mã được chấp nhận sau khi trải qua rà soát và kiểm thử, đồng thời công khai minh bạch quy trình AI tạo ra
  • Dự án nhằm mục đích khám phá giới hạn và tiềm năng của phát triển có hỗ trợ AI

Tính năng chính

  • Hỗ trợ xem trước Markdown thời gian thực (WYSIWYG)tô sáng cú pháp
  • Hỗ trợ nhiều định dạng: Markdown, JSON, YAML, TOML
  • Với Tree Viewer, có thể duyệt cấu trúc JSON/YAML/TOML theo phân cấp và chỉnh sửa inline
  • Bao gồm các tính năng tăng năng suất như tìm kiếm/thay thế bằng regex, di chuyển dòng (Alt+↑/↓), nhân bản dòng (Ctrl+Shift+D)
  • Cung cấp tự động đóng ngoặc và dấu nháy, tự động lưu, thiết lập độ rộng dòng, minimap, code folding

Kết xuất sơ đồ MermaidJS

  • Kết xuất native 11 loại sơ đồ bằng MermaidJS
    • Flowchart, Sequence, Pie, State, Mindmap, Class, ER, Git Graph, Gantt, Timeline, User Journey
  • Có thể trực tiếp trực quan hóa bên trong phần xem trước Markdown

Workspace và môi trường chỉnh sửa

  • Với Workspace Mode, hỗ trợ mở theo thư mục, duyệt cây tệp, chuyển tệp nhanh (Ctrl+P), tìm kiếm toàn cục (Ctrl+Shift+F)
  • Tích hợp Git để hiển thị trực quan trạng thái tệp đã sửa, đã thêm, bị bỏ qua
  • Tính năng khôi phục phiên giúp phục hồi tab, vị trí con trỏ và trạng thái cuộn khi khởi động lại
  • Zen Mode mang lại môi trường viết tập trung, còn Split View cho phép xem đồng thời nội dung gốc và kết xuất

1 bình luận

 
GN⁺ 2026-01-13
Ý kiến trên Hacker News
  • Tôi từng kỳ vọng sẽ thấy tiến triển ở Zed, nhưng dự án này cũng khá thú vị
    Tôi là người dùng Obsidian khá nặng, nhưng sẽ rất vui nếu có một lựa chọn thay thế thực sự tập trung vào nền tảng cốt lõi
    Tôi tò mò mục tiêu cuối cùng là gì. Sẽ tiếp tục theo dõi

    • Tôi đang phát triển Hyperclast, và là một người dùng Obsidian nên tôi muốn hỏi liệu có thể nhận được phản hồi từ bạn không
      Vẫn chưa sẵn sàng để đăng lên Show HN, nhưng tôi muốn nghe phản hồi ban đầu
    • Mục tiêu cuối cùng là tạo ra một trình soạn thảo Markdown nhanh và native
      Khởi chạy tức thì mà không cần Electron hay công nghệ web; trong v0.3.0, Mermaid sẽ được tách thành một crate riêng, và tôi dự định tạo một widget tùy chỉnh vượt qua các giới hạn của TextEdit trong egui
      Về lâu dài, mục tiêu là phát triển nó thành một thư viện headless editor dựa trên Rust
      Xem ROADMAP.md để biết thêm chi tiết
    • Obsidian được làm bằng Electron à?
  • Thật thú vị khi Ferrite chủ yếu được phát triển và kiểm thử trên Windows
    Dạo này người dùng Windows thường có cảm giác như công dân hạng hai, nên điều này khá đáng mừng
    Nhưng tôi hơi bất ngờ khi thấy dòng “mã của dự án này được tạo 100% bằng AI”
    Dù vậy, tôi đánh giá cao việc công khai thẳng thắn

    • Thực ra thông báo về việc dùng AI này được thêm vào hôm nay
      Có vẻ chỉ sau khi một số người dùng chỉ ra rằng tác giả đã che giấu việc sử dụng AI thì nó mới được thêm vào
  • Tôi muốn tranh thủ quảng bá nhẹ ứng dụng Octarine của mình
    Đây là một ứng dụng ghi chú Markdown kiểu WYSIWYG được viết bằng Rust(Tauri), lưu toàn bộ dữ liệu cục bộ
    Không phải kiểu “vibe coded” :)

    • Trông thật sự rất tuyệt. Tôi đang tải ngay đây
  • Gần đây HN có rất nhiều nội dung do AI tạo ra, và bài này dường như cũng đầy mã và bình luận do AI tạo

    • Tôi tự hỏi vì sao bài này không bị chỉ trích như các bài khác liên quan đến AI
      Có lẽ vì nó chạm đúng vào những chủ đề đang được quan tâm
    • Lúc đầu tôi bỏ sót dòng “được tạo 100% bằng AI”, nhưng sau khi thấy thì cảm giác lập tức chuyển từ “hay đấy” sang “không muốn đụng vào”
  • Chữ trong ảnh chụp màn hình quá nhỏ, gần như cần kính lúp mới xem được
    Ảnh chụp màn hình nên được lấy ở kích thước không quá to cũng không quá nhỏ, sao cho nội dung nhìn rõ
    Đặc biệt ở độ phân giải cao, quá nhiều khoảng trắng còn làm giảm khả năng đọc

    • Cảm ơn phản hồi! Nhận xét này hoàn toàn chính xác
      Tôi đã chụp ở độ phân giải cao nên trên màn hình nhỏ rất khó đọc
      Tôi sẽ chụp lại với kích thước cửa sổ nhỏ hơn và giảm bớt khoảng trắng
  • Tôi sẵn sàng trả tiền cho Typora
    Nó chỉ hỗ trợ Markdown, nhưng mảng này vẫn còn rất nhiều tiềm năng
    Đặc biệt bây giờ khi các LLM tạo ra rất nhiều văn bản có cấu trúc và sơ đồ, tôi càng nghĩ như vậy

    • Typora rất tuyệt. Ferrite hướng tới mức độ hoàn thiện tương tự, nhưng cung cấp tích hợp Mermaid, trình xem cây JSON/YAML/TOML và tính năng pipeline tích hợp shell
      Hơn nữa còn là mã nguồn mở
    • Tôi cảm thấy mức giá 15 đô của Typora hơi đắt so với tính năng
    • Tôi đặc biệt thích tính năng tự động tạo thư mục media của Typora
  • Hiếm khi thấy một dự án egui mà không mang đậm phong cách đặc trưng của egui như thế này
    Tôi tò mò trải nghiệm làm việc với egui ra sao

    • egui rất tuyệt cho prototyping
      Vì là immediate mode nên việc quản lý trạng thái khá đơn giản
      Tuy nhiên TextEdit không dành cho trình soạn thảo mã nên không có multi-cursor hay code folding
      Vì vậy trong v0.3.0 tôi sẽ thay nó bằng một widget tùy chỉnh
      Việc theme mặc định quá “đậm chất egui” được giải quyết bằng theme tùy chỉnh
    • Có lẽ Claude Code sẽ thích React hơn
  • Thật vui khi thấy dùng kết xuất Markdown native
    Tôi thích việc nó không dùng kiểu khởi chạy Chromium rồi chụp ảnh màn hình như một số thư viện khác

    • Tuy nhiên kết xuất native có thể dẫn đến khác biệt bố cục so với mermaid.js
      Khi chia sẻ, nội dung có thể trông khác đi
    • Nhận xét hoàn toàn đúng. Nó không giống hệt 100%, nhưng tốc độ và môi trường không cần JS là ưu điểm
      Bên trong Ferrite thì không có vấn đề gì, còn cho mục đích chia sẻ thì trong v0.3.0 tôi dự định thêm tính năng xuất SVG
  • Tôi tò mò vì sao cấu hình và hướng dẫn cho AI agent lại bị xóa khỏi kho mã (.gitignore có nhắc đến)

    • Nhận xét hay. Đúng là Claude đã giúp ích rất nhiều trong quá trình phát triển
      Tuy nhiên các tệp cấu hình AI không cần thiết cho dự án nên tôi đã loại trừ chúng
      Tôi sẽ thêm vào README nội dung nói rằng có nhận hỗ trợ từ AI
      Mã đã được xem xét trước khi áp dụng, chứ không chấp nhận vô điều kiện
    • Dự án này cho cảm giác khá “vibe coded”
      Chỉ có 10 commit, và một số commit lại đầy các tài liệu markdown ngập emoji
    • Nếu nhà phát triển không công khai việc dùng AI thì đó trông như một tín hiệu cảnh báo về độ tin cậy
  • Sẽ rất hữu ích nếu phần phân tích cú pháp và layout của Mermaid được tách thành một crate riêng
    Sẽ tốt hơn nữa nếu có một công cụ CLI nhanh để xuất SVG/PDF/PNG

    • Chính xác đó là kế hoạch cho v0.3.0
      Tôi dự định tách bộ kết xuất Mermaid dài khoảng 7000 dòng thành một crate độc lập, đồng thời thêm hỗ trợ xuất SVG/PNG và CLI
      Nó được viết hoàn toàn bằng Rust nên cũng có thể tương thích WASM. Mong bạn đón chờ