lightcraft

纯Rust写的非破坏RAW修图,原图永不改

开源 unknown 图像生成
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 12902
维护状态 活跃
是否开源 是
定价模式 unknown

项目预览

项目数据

分类图像生成
开发团队storytold
所属国家
定价模式unknown
价格说明定价信息待确认
访问状态
是否开源是
开源协议Apache-2.0
主要语言Rust
技术栈/模型art,photography,raw,raw-editor,raw-processing,rust
GitHub 星标★ 12902
30天Star增速
HF 下载量
上线时间2026-09-30 00:00:00
代码更新—
仓库体积—
本站数据更新—
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-10-16
浏览次数0

项目介绍

LightCraft 是一款用纯 Rust 从零编写的开源非破坏性照片编辑器,主打 RAW 图像处理。它解决的是传统修图软件依赖庞大闭源框架、跨平台体验不一致、以及编辑操作不可逆的问题。核心能力包括:以非破坏性方式记录每一步调整,原始文件永不被覆盖,随时可回溯或重做;原生支持 RAW 格式解析与处理,面向摄影后期工作流;采用 Rust 实现,带来内存安全和高性能,启动与渲染开销低。项目定位为轻量、可扩展的桌面级修图工具,适合想摆脱商业软件订阅、又需要专业 RAW 处理能力的用户。它把编辑逻辑与渲染分离,便于社区贡献滤镜和算法,目标是成为开源摄影后期的基础设施。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

正在加载星标数据…

技术标签

使用教程

—

难度:进阶 约 45 分钟 部署方式:本地安装 8 步

环境要求

  • Rust 1.95 或更新版本(含 cargo)
  • git 命令行工具
  • 可克隆 GitHub 仓库的网络环境
  • 编译 release 版本建议预留足够内存(内存受限机器需限制并行任务数)

安装与启动步骤

  1. 1克隆仓库

    从 GitHub 拉取 LightCraft 源码并进入项目目录,后续所有命令都在该目录下执行。

    git clone https://github.com/storytold/lightcraft && cd lightcraft
  2. 2启动桌面应用

    以 release 模式编译并运行桌面端,首次启动会打开图库(默认 ~/Pictures/LightCraft Library,新图库自带示例照片)。

    cargo run --release -p lightcraft
  3. 3导入自己的照片

    把照片文件夹作为参数传入,程序会扫描文件夹并自动跳过重复项,原始文件不会被修改。

    cargo run --release -p lightcraft -- ~/Pictures/trip
  4. 4无痕演示会话

    用内存模式跑一个临时演示会话,全程不写入任何文件,适合先试玩再决定是否建库。

    cargo run --release -p lightcraft -- --memory
  5. 5开启自动化通道

    带 --control 参数启动,会开放自动化控制通道(示例端口 7980),供 AI agent 通过 MCP 驱动。

    cargo run --release -p lightcraft -- --control 7980
  6. 6浏览器版运行

    用 xtask 启动 WebAssembly 版本,启动后在浏览器访问 http://127.0.0.1:8080/ 即可使用同一套应用。

    cargo xtask web --serve
  7. 7命令行渲染照片

    用 lightcraft-cli 对单张图片做渲染调整,示例把曝光设为 0.5,结果输出到 out.jpg。

    cargo run --release -p lightcraft-cli -- render photo.jpg -o out.jpg --set light.exposure=0.5
  8. 8内存紧张时构建

    16GB 等内存受限机器上同时编译桌面端与 CLI 的 release 版本可能被杀进程,先限制为单任务构建。

    CARGO_BUILD_JOBS=1 cargo build --release -p lightcraft -p lightcraft-cli

关键配置

配置项必填说明示例
CARGO_BUILD_JOBS否限制 cargo 并行构建任务数,内存不足时设为 1 可避免 OOM。1
CARGO_PROFILE_DEV_DEBUG否覆盖 CI 默认的调试信息级别,影响构建内存占用。0
RUST_TEST_THREADS否控制测试并行线程数,CI 默认最多为 4。4

如何确认成功

桌面端能打开图库窗口并看到示例照片;浏览器版访问 http://127.0.0.1:8080/ 能看到同一应用界面。

常见问题

Q:编译时报内存不足被杀进程怎么办?

A:用 CARGO_BUILD_JOBS=1 限制并行构建任务数,并且不要同时编译桌面端和 CLI 的 release 版本;内存充足时可尝试设为 2。

Q:不想让程序写入我的图库怎么办?

A:启动时加 --memory 参数,会运行一个纯内存的演示会话,不会写入任何文件。

Q:必须用 release 模式吗?

A:README 的快速开始命令均使用 --release。CI 默认的调试信息与并行任务策略只作用于 CI,普通 cargo build --release 不适用。

Q:能不用桌面应用、只跑命令行吗?

A:可以。lightcraft-cli 提供 render 子命令,例如对 photo.jpg 设置 light.exposure=0.5 后输出到 out.jpg。

注意事项

  • LightCraft 是非破坏性编辑器,原始照片文件永远不会被覆盖,调整记录可随时回溯或重做。
  • workspace 构建(桌面端、Web 端、CLI)统一要求 Rust 1.95 或更新版本。
  • CI 会按可用内存自动决定构建任务数(每 1.5GB 内存一个、最多不超过 CPU 数),测试线程最多 4 个。
  • 浏览器版本通过 WebAssembly 提供,并非独立部署的云服务,运行在本机 8080 端口。

核心亮点

  • 纯 Rust 实现,内存安全且性能高,启动和渲染轻快
  • 非破坏性编辑,所有调整可回溯、可重做,原图不被覆盖
  • 原生 RAW 解析与处理,面向摄影后期真实工作流

不足之处

  • 生态和插件数量远不及成熟商业修图软件
  • 功能完整度与稳定性仍在演进,重度专业需求可能不够

适用场景

  • 摄影师批量处理 RAW 原片并保留可回溯的调整历史
  • 开发者基于其 Rust 架构二次开发自定义修图工具
  • 追求轻量、无订阅的桌面照片后期工作流

替代项目

darktable、RawTherapee、digiKam

上一篇:ComfyUI_VNCCS

下一篇:没有了!

同类项目推荐

satori 开源

网页代码一键变高清图,放大不糊,不用截图

Enlightened library to convert HTML and CSS to SVG

★ 14078 2026-08-09
C2GAN 开源

用关键点精准控制图像生成,让AI画出你想要的结构

[ACM MM 2019 Oral] Cycle In Cycle Generative Adversarial Networks for Keypoint-Guide···

★ 70 2026-08-09
ComfyUI 开源

像搭积木一样连节点,生图流程自己搭

The most powerful and modular diffusion model GUI, api and backend with a graph/node···

★ 137690 2026-08-09