Bỏ qua đến nội dung

PhotoCraft: Photoshop Mã Nguồn Mở Tái Sinh Bằng Rust, wgpu & MCP Cho Agent

PhotoCraft (storytold/photocraft) là bản tái sinh clean-room Photoshop bằng Rust: GPU wgpu, đọc ghi PSD nguyên bản và tích hợp MCP cho AI agent.

Hoang Yell
Hoang Yell
15 phút đọc
English
PhotoCraft: Photoshop Mã Nguồn Mở Tái Sinh Bằng Rust, wgpu & MCP Cho Agent

Cứ vài tháng, cộng đồng sáng tạo lại trải qua một đợt phẫn nộ với Adobe: từ điều khoản ngầm định dùng tác phẩm khách hàng huấn luyện AI, bẫy phí phạt hủy gói thuê bao hàng trăm đô la, đến tiến trình daemon (tiến trình chạy ngầm không giao diện) ngốn 4 GB RAM lúc máy chờ. Hàng triệu người vẫn chấp nhận vì các giải pháp mã nguồn mở trước đây quá xa lạ. GIMP bắt người dùng đập bỏ ba mươi năm phản xạ ngón tay, còn các web editor thì sập nguồn ngay khi mở file đồ họa nhiều gigabyte.

PhotoCraft của Storytold phá vỡ thế độc quyền đó: một dự án tái sinh clean-room (viết lại độc lập từ đặc tả kỹ thuật mở) của Adobe Photoshop bằng 100% Rust an toàn. Phần mềm sở hữu bộ dựng hình GPU qua wgpu, các lớp điều chỉnh không phá hủy, khả năng đọc ghi file PSD nguyên vẹn và máy chủ MCP (giao thức kết nối công cụ cho AI / Model Context Protocol) cho phép agent tự động hóa toàn bộ bàn vẽ đồ họa.


Tóm tắt (TL;DR)

Hộp Trả Lời Nhanh (Google Search Featured Snippet):

  • PhotoCraft là gì? PhotoCraft (storytold/photocraft) là phần mềm đồ họa mã nguồn mở tái hiện trực diện giao diện, phím tắt và định dạng file của Adobe Photoshop bằng 100% Rust (unsafe_code = "forbid").
  • Tại sao PhotoCraft quan trọng? Không dùng web view Electron, PhotoCraft chia ảnh thành các ô lưới 256x256 copy-on-write cực nhẹ trên nền đồ họa wgpu. Toàn bộ thao tác đều quy về danh mục lệnh chung, cho phép điều khiển qua GUI, CLI hoặc MCP dành cho AI agent.
  • Hiện trạng thực tế: Đang ở bản Early Alpha (v0.2.x). Ứng dụng phủ 60% đến 70% tính năng cơ bản, xuất nhập thành công 169 trên 170 file PSD thử nghiệm, nhưng còn thiếu khoảng 20 công cụ nâng cao và chưa có AI tạo sinh.
  • Kho lưu trữ: storytold/photocraft (Giấy phép: MIT / Apache-2.0, ~9.8k Stars)
  • Phù hợp nhất: Lập trình viên, nghệ sĩ đồ họa và kỹ sư AI agent cần biên tập file PSD cục bộ, hoàn toàn offline, không telemetry theo dõi và hỗ trợ render tự động bằng dòng lệnh.
  • Rào cản đánh đổi: Khả năng thay thế Photoshop cho công việc chuyên nghiệp hàng ngày đạt khoảng 25% đến 35%. Typography chuyên sâu, in ấn CMYK và plugin nhị phân (.8BF) đang được xây dựng.

Bản đồ tư duy (Beginner Map)

Trước khi đi sâu vào 24 crate mã nguồn Rust, hãy hình dung kiến trúc hệ thống qua một ẩn dụ đời thực:

Ẩn dụ kiến trúc: Phần mềm đồ họa cũ xem file thiết kế như tấm toan tranh sơn dầu ướt khổng lồ: quẹt một nét cọ là nhào nặn lại toàn bộ toan, muốn Undo phải lưu cả bức tranh mới. PhotoCraft xem file thiết kế như một chồng kính trong suốt chia thành hàng nghìn mảnh giấy ghi chú 256x256. Khi chỉnh Curves hay kéo bóng đổ, hệ thống chỉ nhân bản đúng những mảnh giấy bị sửa, còn GPU chiếu lại chồng kính ở tốc độ 120 FPS.


Phần 1: Nền tảng (Nghịch lý phản xạ ngón tay)

Trải nghiệm công thái học (ergonomics) giam lỏng người dùng chặt chẽ hơn nhiều so với thuật toán điểm ảnh. Khi designer ấn Cmd+J nhân đôi layer, bấm Cmd+T co giãn, hay gõ phím số 1 đến 0 đổi độ mờ opacity, tủy sống phản xạ trước khi não kịp suy nghĩ.

GIMP không thể lật đổ Photoshop suốt ba thập kỷ qua vì giao diện đi ngược phản xạ tự nhiên: cô lập vùng chọn nổi, giấu chế độ hòa trộn vào menu rườm rà và thiếu lớp điều chỉnh không phá hủy (non-destructive adjustment layers).

PhotoCraft giải quyết triệt để vấn đề này bằng cách tôn trọng thói quen người dùng:

  1. Thân thuộc từ bản năng: Thanh công cụ, bảng layer, dock thuộc tính và phím tắt nằm đúng vị trí quen thuộc.
  2. 16 lớp điều chỉnh trực tiếp: Curves, Levels, Vibrance, Black and White, LUT (bảng tra cứu chuyển đổi hệ màu / color lookup table) xử lý màu độc lập phía trên điểm ảnh gốc.
  3. Hiệu ứng layer chuẩn xác: Drop Shadow, Inner Glow, Bevel & Emboss và Stroke hòa trộn khớp chuẩn thuật toán Photoshop.
  4. Kiến trúc sạch hoàn toàn: Dự án xây dựng clean-room từ đặc tả công khai của Adobe, không chứa mã nguồn hay shader rò rỉ.
Thuật ngữ / Term Ý nghĩa bỏ túi (3-6 từ)
wgpu Cầu nối đồ họa phần cứng (Vulkan/Metal/DX12)
CoW (Copy-on-Write) Chỉ nhân bản bộ nhớ khi sửa đổi
MCP (Model Context Protocol) Cổng cắm chuẩn hóa cho AI agent
VRAM Bộ nhớ tạm cực nhanh trên GPU
Oracle Test So sánh kết quả với hệ quy chiếu chuẩn
LUT (.cube) File bảng tra cứu tông màu điện ảnh

Phần 2: Khảo sát (Kiến trúc bên dưới nắp ca-pô)

PhotoCraft phân chia trách nhiệm kỹ thuật rõ ràng thành 24 crate (thư viện Rust độc lập) trong một Cargo workspace duy nhất.

1. Kỷ luật cấm chỉ Unsafe Rust

Thay vì dùng con trỏ trần unsafe để tối ưu chu kỳ CPU như các ứng dụng C++ đồ họa cũ, PhotoCraft áp dụng kỷ luật thép:

# File Cargo.toml ở thư mục gốc workspace
[workspace.lints.rust]
unsafe_code = "forbid"

Toàn bộ hệ thống, từ bộ đọc file PSD, hệ quản trị màu sắc CMS đến bộ raster, đều tuân thủ #![forbid(unsafe_code)]. Nguy cơ tràn bộ đệm hay giải phóng sai vùng nhớ bị loại trừ từ khâu biên dịch.

2. Ô lưới 256x256 và cơ chế Copy-on-Write

Biên tập file poster 10,000x8,000 pixel ở hệ màu 16-bit RGB tiêu tốn hơn 480 MB RAM cho một layer đơn. Nếu quét vài nét cọ mà nhân bản cả ảnh lớn vào lịch sử Undo, máy tính sẽ nhanh chóng tràn bộ nhớ.

PhotoCraft chia nhỏ layer thành các ô vuông 256x256 pixel. Khi đầu cọ đi qua vùng 500x500 pixel, bộ nhớ chỉ cấp phát 4 đến 9 ô mới. Lịch sử hoàn tác giữ lại tham chiếu đến các ô cũ bằng con trỏ thông minh đếm số lượng tham chiếu. Mức tiêu thụ RAM giảm tới 70% so với kiến trúc cũ.

3. Hai động cơ phối màu đối chứng

Để đảm bảo shader trên Vulkan hay Metal chạy khớp từng pixel với Photoshop, tác giả duy trì hai bộ phối màu song song:

  • CPU Reference Oracle: Bộ dựng hình đa luồng chạy trên CPU qua thư viện Rayon, tính toán màu sắc theo chuẩn số thực IEEE làm thước đo chuẩn mực.
  • wgpu GPU Compositor: Bộ dựng hình bằng shader phần cứng chạy trên GPU, duy trì tốc độ lia chuột và zoom mượt mà 120 FPS.

Hệ thống CI tự động chạy cả hai động cơ trên tập file PSD mẫu để đối chiếu và triệt tiêu sai số màu.

4. Thiết kế cho AI Agent: Danh mục 500+ lệnh

Giao diện egui của PhotoCraft không ghi trực tiếp vào bộ nhớ tài liệu. Mọi nút bấm, menu, thanh trượt hay phím tắt đều kích hoạt một lệnh cụ thể từ danh mục hơn 500 lệnh có định kiểu chặt chẽ.

Nhờ lớp lệnh trung gian này, việc điều khiển phần mềm từ terminal hoặc agent diễn ra trực tiếp:

# Xử lý ảnh tự động qua photocraft-cli không cần mở giao diện
photocraft-cli run poster.psd \
  --cmd filter.sharpen.smartSharpen     --params '{"amount":85}' \
  --cmd layer.newAdjustmentLayer.curves --params '{"points":[[0,0],[64,48],[192,212],[255,255]]}' \
  --out poster-graded.png

Để kết nối với Claude Code, Gemini CLI, Cursor hay Antigravity, bạn chỉ cần khởi động máy chủ MCP tích hợp sẵn:

# Khởi động máy chủ Model Context Protocol cho AI agent
photocraft-cli mcp

Agent có thể truy vấn cây layer, bật tắt mặt nạ mask, cắt cúp và xuất file thành phẩm theo thời gian thực qua giao thức JSON-RPC.


Phần 3: Chẩn đoán (Góc khuất và hiện trạng thực tế)

Đội ngũ Storytold công bố bảng đo lường mức độ tương thích trung thực thay vì tiếp thị thổi phồng.

Đến tháng 10/2026, PhotoCraft vẫn ở giai đoạn Early Alpha. Dù 626/626 mục menu đã nối lệnh, việc nối dây chưa đồng nghĩa với hành vi nghiệp vụ đã hoàn thiện toàn diện.

Bảng đo lường thực tế (Đợt kiểm toán ngày 05/10/2026):
- Đấu nối menu lệnh:          100% (626 / 626 mục đã nối lệnh)
- Độ toàn vẹn file PSD:       99%  (169 / 170 file thử nghiệm nhập xuất nguyên vẹn)
- Độ phủ tính năng bề mặt:    60% - 70% (các thao tác đồ họa cơ bản chạy tốt)
- Khả năng thay thế công việc: 25% - 35% (chưa đủ độ sâu cho studio chuyên nghiệp)

Tranh cãi “Vibe-Coding” và định luật 90-90 trên X (Twitter)

Chỉ vài giờ sau khi mở kho lưu trữ, các cuộc thảo luận nảy lửa đã bùng nổ trên mạng xã hội X. Ngòi nổ bắt nguồn từ việc tác giả thừa nhận toàn bộ bộ ứng dụng 7 món của ArtCraft được dựng khung với tốc độ khó tin nhờ mô hình Claude Opus 5.5 của Anthropic.

Một lập trình viên vừa dùng Opus 5.5 để tái tạo 7 phần mềm cốt lõi của Adobe thành mã nguồn mở bằng Rust (chấm dứt nỗi ám ảnh thuê bao). Nhưng PhotoCraft hiện tại vẫn chưa sẵn sàng thay thế công việc Photoshop hàng ngày.
Bản gốc tiếng Anh (English)
A developer says he used Opus 5.5 to recreate seven essential Adobe apps, including Photoshop, as free, open-source alternatives (no more subscriptions). Built in Rust, free to use, with public source code. These are early versions, PhotoCraft is not yet ready to replace Photoshop for daily professional work completely, bout about 90% they say. What a fantastic time to be alive. I love it.

Cộng đồng công nghệ lập tức chia làm hai luồng ý kiến đối lập:

  1. Phe lạc quan: Phấn khích trước năng suất vượt bậc của AI khi sinh ra cả hệ thống đồ họa Rust an toàn, không telemetry và ngắt mạng hoàn toàn.
  2. Phe thực tế: Cảnh báo về Định luật 90-90 kinh điển trong ngành phần mềm (90% khối lượng code đầu tiên chỉ tốn 90% thời gian; 10% chi tiết hoàn thiện cuối cùng sẽ ngốn nốt 90% thời gian còn lại). Nhà thiết kế Nhật Bản @fujix chỉ ra ngay lỗi chí mạng: PhotoCraft hoàn toàn không nhận bộ gõ tiếng Nhật (IME) và giật khung hình khi tải file PSD phức tạp.
X.com
Các bản sao Photoshop liên tục xuất hiện. PhotoCraft: Viết bằng Rust. Không gõ được tiếng Nhật. Giấy phép Apache. PhotoSuite: Chạy trên Tauri WebView. Giao diện giống bản gốc nhất nhưng tính năng còn hạn chế.
Bản gốc tiếng Anh (English)
Photoshop クローンがどんどんでてくるだよ。 - PhotoCraft: Rust 製。日本語入力できなかった。Apache ライセンス。https://getartcraft.com/apps - PhotoSuite: たうりん WebView 動作。最も本家っぽい UI。機能は限定的。 https://github.com/eolix/photosuite - Photon Studio: 今のところ最も多機能。クローズド。 https://tenzen.studio/photon/

Điểm đáng khen là tác giả không che giấu sự thật: tài liệu dự án thừa nhận việc dùng LLM đấu nối 626 lệnh rất nhanh, nhưng người dùng thực tế lập tức phát hiện 214 phím tắt bị liệt, con trỏ text lệch pixel và khung crop bị kẹt. Xây khung bằng AI là bước khởi đầu; mài giũa ba mươi năm tương tác công thái học vẫn đòi hỏi mồ hôi của kỹ sư thực thụ.

Những thiếu sót lớn cần lưu ý:

  1. Thiếu khoảng 20 công cụ cốt lõi: Dù Brush, Stamp và Lasso hoạt động tốt, các công cụ như Curvature Pen, Magnetic Lasso, Direct Selection, Patch Tool, Content-Aware Move và Perspective Crop vẫn đang được phát triển.
  2. Bộ gõ quốc tế hóa (i18n): Chưa hỗ trợ nhập liệu bộ gõ tiếng Á Đông (CJK: Nhật, Hàn, Trung) trên các bản cài desktop.
  3. Sai số công thức bộ lọc: Smart Filter bảo toàn khi lưu mở PSD, nhưng bộ lọc toán học như Unsharp Mask hay Gaussian Blur vẫn lệch nhẹ ở bán kính lớn so với thuật toán đóng của Adobe.
  4. Từ chối plugin nhị phân .8BF: Để đảm bảo an toàn bộ nhớ, PhotoCraft từ chối nạp file DLL hoặc .8BF không an toàn, thay bằng nền tảng plugin chạy trong sandbox WebAssembly.
  5. Tạm hoãn AI tạo sinh: Đội ngũ chủ động gác lại các tính năng AI sinh ảnh để tập trung độ chính xác của raster, bộ gõ chữ và cảm ứng lực bút vẽ.

Phần 4: Giải pháp (Bảng ma trận quyết định)

Dưới đây là ma trận giúp bạn lựa chọn giải pháp phù hợp:

Tiêu chí đánh giá Nên trải nghiệm PhotoCraft ngay Nên tiếp tục dùng Photoshop / GIMP
Tự động hóa xử lý ảnh Cần quy trình sửa và render file PSD tự động trong CI/CD không mất phí bản quyền. Quy trình phụ thuộc vào Photoshop Actions (.atn) viết bằng ExtendScript.
Tích hợp AI Agent Cần kết nối Claude Code hoặc Gemini để sửa layer thiết kế qua giao thức MCP chuẩn. Công việc phụ thuộc vào tính năng tạo sinh Firefly trực tiếp trên canvas.
Bảo mật dữ liệu Môi trường làm việc ngắt mạng hoàn toàn, không telemetry theo dõi và 100% mã nguồn mở. Đội ngũ phụ thuộc vào hệ sinh thái Adobe Creative Cloud Libraries và Adobe Fonts.
In ấn công nghiệp Xuất file CMYK tiêu chuẩn cho web và đồ họa số thông dụng. Đòi hỏi căn chỉnh Spot Color, Duotone và kiểm định màu in offset phức tạp.

Lời khuyên cuối

PhotoCraft khẳng định một sự thật: thay thế phần mềm độc quyền 30 năm tuổi không cần thỏa hiệp. Nhờ Rust an toàn, ô nhớ thông minh và giao thức mở MCP, thế giới mã nguồn mở hoàn toàn có thể xây dựng công cụ sáng tạo tôn trọng thói quen nghệ sĩ và trao quyền kiểm soát cho lập trình viên.


Thử thách thực hành (Student First Assignment)

  1. Tải mã nguồn: git clone https://github.com/storytold/photocraft && cd photocraft.
  2. Kiểm tra bộ phân tích cú pháp: chạy cargo test -p photocraft-psd để thấy cách Rust đọc cấu trúc PSD mà không cần một khối unsafe nào.
  3. Chạy thử CLI: dùng cargo run --release -p photocraft-cli -- --help và thử áp dụng một lệnh chỉnh màu lên file ảnh có sẵn trên máy.
  4. Đo lường tài nguyên: mở Task Manager hoặc htop để xác nhận mức ngốn RAM cực thấp và không có tiến trình theo dõi ngầm nào chạy lén.

Câu hỏi thường gặp (FAQ)

PhotoCraft có yêu cầu kết nối mạng hay tài khoản đăng nhập không?

Không. PhotoCraft hoạt động 100% offline và phân tán. Phần mềm không cần tài khoản đám mây, không cài tiến trình cập nhật ngầm và không chứa mã theo dõi người dùng.

PhotoCraft có làm hỏng file PSD nguyên bản của Photoshop khi lưu đè không?

Không. Crate chuyên trách photocraft-psd vượt qua 169 trên 170 bài kiểm tra file thực tế. Hệ thống giữ nguyên các khối dữ liệu mở rộng chưa hỗ trợ trên đĩa thay vì xóa bỏ.

Làm cách nào để kết nối PhotoCraft với AI agent?

Mọi công cụ và bộ lọc đều đăng ký thành lệnh định kiểu trong danh mục chung. Lệnh photocraft-cli mcp sẽ khởi động máy chủ Model Context Protocol, cho phép AI agent thao tác layer qua JSON-RPC.

PhotoCraft có chạy được trực tiếp trên trình duyệt web không?

Có. Toàn bộ động cơ và giao diện biên dịch sang WebAssembly (wasm32-unknown-unknown) qua cấu hình wasm-release, nén file thực thi xuống dưới 19 MB.

Bài viết liên quan