开源先锋公众号文章

本周 6 个超火的Github项目,最后一个硬核到离谱!

开源先锋

公众号 · 36 篇文章

* 戳上方蓝字“开源先锋”关注我



项目目录:

  • 1.Compositor
  • 2.openmuse
  • 3.text-to-cad
  • 4.wifit3
  • 5.photocraft
  • 6.REA

           

01 Compositor

Compositor是一款专为 Mac 打造的开源图像编辑器,官方的定位直接是 Mac 上的 Photoshop 替代品。

整个项目用 Swift 写的,原生 Mac 应用,图层效果走 GPU 渲染,滑动起来很跟手。

快捷键也照着 PS 来的,全套可在设置里重新映射。老 PS 用户迁移过来,几乎零学习成本。

MIT 协议,源码全开放。你甚至可以下载 Xcode 工程自己改功能。

功能特性

01 熟悉的 PS 工作流,上手即用

图层和文件夹、不透明度、PS 全套混合模式,顺序都对得上,图层蒙版、剪贴蒙版、文件夹蒙版都齐。调整图层里,色相/饱和度、色阶、曲线、曝光、渐变映射这些常用的一个不少。

02 调整与滤镜,专业级的底子

色阶、曲线这些经典对话框,几乎是照着 PS 复刻的,连吸管和自动按钮都在。

还有一个 Camera Raw 滤镜面板:光线、颜色、曲线、色彩分级、细节、光学、几何,就挂在画布旁边,所有调整都有实时预览。

03 修图与选区,该有的都在

污点修复画笔、仿制图章、矩形和椭圆选框、套索、多边形套索都在,魔棒按颜色选,还有对象选择工具,点哪 trace 哪。

04 PSD 互通,文件不留死角

可以直接打开 Photoshop 的 PSD 和 PSB 文件。而且不是降级成一张图,导入后都保持可编辑。

Canvas Size 画布大小对话框
Canvas Size 画布大小对话框

05 能和 AI 智能体一起干活

Compositor 的项目文件 .comp,本质是一个文件夹:一堆 PNG 图层加一个 manifest.json 清单。

这意味着任何能写文件的程序都能直接建项目。AI 智能体改文件,打开的画布实时刷新,通常半秒内生效。不涉及任何插件或 API。

官方文档里给了现成的提示词示范:让 Claude Code 这类智能体读一遍格式文档,然后一步步在画布上画一个夜景场景,每写一两层,你就在画布上看着它长出来。

Example.comp/
├── manifest.json        项目清单:画布尺寸、图层列表、混合模式
└── images/
    ├── 6F1D3C2A-....png        每个图层一张 PNG
    └── 6F1D3C2A-....mask.png   对应的蒙版(可选)
https://github.com/robbietilton/Compositor

           

02 openmuse

OpenMuse 是 CopilotKit 团队做的一个开源个人 Agent 项目,类似开源版的Muse

它是怎么跑起来的?

前端是 Expo / React Native 应用,通过 AG-UI 协议和后端通信。后端是 Hono + CopilotKit runtime,任务交给一个持久化的任务 worker。

需要上网时调用 Chromium 浏览器 worker,需要敲命令时调用可选的 Docker Linux 环境。

功能特性

01 给 AI 一台自己的电脑

它有持久化的 Chromium 浏览器,能读公开网页。还有可选的隔离 Linux 终端,能跑命令、处理文件,保存每条命令的执行回执。

02 任务能断点续跑

任务有计划、有进度,支持暂停、恢复、取消、重试。 基于 SQL 租约机制,被中断的任务能恢复。

目标卡片:三个里程碑、进度标记与暂停/继续控制)

03 先审后做,不会乱来

发邮件、改日历,每一步都要先生成待审记录,你确认后才执行。

04 真能干杂活

  • 填 PDF 表单:邮件附件 → 提取 PDF → 填入你给的值 → 生成回复草稿 → 你审核 → 留存回执
  • 目标与追踪:定期检查网页变化、文字是否上架、价格是否跌破阈值,自动提醒,还会去重
  • 财务小工具:导入交易 CSV,生成分类消费汇总
https://github.com/CopilotKit/openmuse

           

03 text-to-cad

text-to-cad 的口号很直接:Give your agent CAD superpowers(给你的智能体装上CAD超能力)。

这是一个插件/技能库,让AI在本地完成一整套机械设计流程:用文字或图片生成3D模型(主输出STEP,也能导出GLB、STL、3MF),做可制造性检查(DFM/DfAM),出工程图纸,甚至直接对接3D打印、钣金、CNC加工服务。

核心跑在本地,基于 build123d 和 Open CASCADE,通过 uv 和 cadgen 运行。完全开源(MIT),免费,不上传你的设计。

工作原理:智能体调用专门的“技能”(Skills),用Python脚本描述几何,实时生成真实CAD文件,还能在本地查看器里旋转、检查。

功能特性

01 说人话就能建模,输出的是正经 STEP

核心技能就叫 CAD。你用文字描述,或者直接丢一张图过去,Agent 在 models/ 目录下生成 build123d 的 Python 源文件,然后执行、导出。

STEP 是主格式,这意味着你拿到的东西可以直接丢进 SolidWorks、Fusion 360 继续用。需要 3D 打印就导出 STL 或 3MF,需要在浏览器看就 GLB。

02 本地 CAD Viewer,浏览器里看模型

生成的模型在项目自带的 CAD Viewer 里打开。跑在 localhost,不需要装任何 CAD 软件。

03 设计完直接检查能不能造,还能送打印

text-to-cad 带的技能不只建模。DfAM Check 测量网格的可打印性:壁厚、悬垂角度、支撑体积、最佳摆放方向。DFM 针对钣金、CNC、注塑做审查,每个发现都带测量数据和引用的规则。

没问题了?G-code 技能用 OrcaSlicer 把你的模型切片成打印文件,用你自己的打印机预设。Bambu Labs 技能直接把打印任务发送到拓竹打印机。

https://github.com/earthtojake/text-to-cad

           

04 wifit3

wifit3是一款纯用户态的USB Wi-Fi审计工具,支持Linux、Windows、macOS。

不依赖系统原生WiFi驱动,也不需要aircrack-ng或reaver。

原理:内置轻量级Python版芯片驱动,通过PyUSB直接操控USB网卡的寄存器。监控模式、帧注入全在用户空间完成,彻底绕过内核限制。

界面基于Textual打造,终端里也能玩得漂亮。

功能特性

01 用户态迷你驱动:把 Linux 无线驱动搬进 Python

项目把 Atheros、MediaTek、Realtek、Ralink 等主流 USB 芯片的 Linux 驱动做了 Python 化移植,直接通过 PyUSB 与网卡通信。

只需要插上支持的网卡,点 START,基本不用管底层。

02 实时双频扫描器:一眼看清周围无线战场

启动后界面会进入实时扫描模式,自动在 2.4GHz 和 5GHz 频道间跳频。

BSSID、信道、信号强度、加密类型、WPS 状态、是否隐藏网络,全部列在一张表里。底部还会显示已捕获的握手、PMKID、WEP key 数量,以及 WPS PushButton 自动嗅探状态。

03 WPA/WPA2 握手 + PMKID:从被动监听到主动验证

既会被动等待客户端自然完成四次握手,也支持发送定向 deauth 帧促使客户端重连。捕获成功后会自动验证握手是否可破解,并导出 .pcap 和 .hc22000 文件。

PMKID 也支持两种模式:主动关联请求获取,以及被动监听捕获。一次好的捕获,后期可以直接交给 Hashcat 离线跑字典。

04 WPS 一键提取:按下路由器按钮,密码直接落地

开启 WPS PushButton 自动嗅探后,只要有人按下目标路由器的 WPS 按钮,wifit3 就能在配对过程中提取出明文 WPA PSK,并保存到 captures/ 目录。

此外它还集成了 PixieDust 攻击和可恢复的 PIN 暴力破解,针对那些 WPS 实现有缺陷的老旧设备,常常能直接 offline 算出 PIN。

https://github.com/derv82/wifit3

           

05 Photocraft

PhotoCraft是一个开源的、净室(clean-room)式的 Photoshop 重新实现,100% 纯 Rust 编写。

所谓的净室,值得是只依据公开规范和观察到的软件行为来实现,不碰任何 Adobe 的专有代码、着色器和素材。

图层、蒙版、调整层、图层样式、文字、矢量、画笔,还有真正的 PSD 文件,它都支持了。

它是原生桌面应用,离线可用,不走 Electron,也不套网页壳。

目前还是早期alpha(v0.5.0),功能覆盖大约六七成专业工作流,但已经能处理日常分层修图、调色、文字排版了。

功能特性

01 调整图层:改一万遍,原图毫发无损

Levels 和 Vibrance 调整层与实时直方图,正在调整莫奈《日出·印象》
Levels 和 Vibrance 调整层与实时直方图,正在调整莫奈《日出·印象》

Levels、Curves、色相/饱和度、黑白、渐变映射等 16 种调整图层,全部非破坏式:叠上去、调参数、拖顺序、随手关掉,原始像素从头到尾不动。

Curves 还支持逐通道编辑,Levels 带实时直方图。

02 图层样式:投影、发光、描边,跟 PS 一致

投影、内阴影、外发光、斜面浮雕、描边、渐变叠加……十个经典图层样式,挂在任意图层上实时生效,文字层也不例外。

对 EARTHRISE 文字层添加 Outer Glow 和 Stroke,背景是 NASA 的《地出》
对 EARTHRISE 文字层添加 Outer Glow 和 Stroke,背景是 NASA 的《地出》

样式可以跨图层复制粘贴,也能直接从你手里现有的 PSD 里读出来,渲染效果对齐 Photoshop。

03 智能选区:本机运行,不传云端

魔术棒、快速选择、对象选择、选择主体,该有的都有,边缘还能细抠到发丝级。

用椭圆选区给《戴珍珠耳环的少女》加色相/饱和度蒙版,只保留面部颜色
用椭圆选区给《戴珍珠耳环的少女》加色相/饱和度蒙版,只保留面部颜色

智能选区跑在你自己的机器上,不上云、不要账号。选区还能一键转成图层蒙版、矢量路径或形状,配合调整图层。

04 滤镜实时预览:所见即所得

所有滤镜对话框都在画布上实时预览,且只作用于选区。

Twirl 旋转滤镜在《星月夜》的选区内实时预览
Twirl 旋转滤镜在《星月夜》的选区内实时预览

滤镜库也够全:高斯、动感、镜头等十来种模糊,扭曲、像素化、风格化,还有模糊画廊(移轴、光圈、路径模糊)。套在智能对象上还能随时改参数。

05 文字与矢量:都是活的

在画布上直接编辑标题、署名与段落文字
在画布上直接编辑标题、署名与段落文字

文字直接在画布上敲,点文本、段落文本都行,字重、字距、行距、对齐全套排版控件齐全,还带屏幕取色器。文字层永远可再编辑,穿过 PSD 往返也不会死。

由形状图层组成的徽章:渐变填充的莲花、星星与虚线圆环
由形状图层组成的徽章:渐变填充的莲花、星星与虚线圆环

矢量这边,矩形、椭圆、多边形、钢笔一样不缺,形状可以合并、相减、相交、排除。

06 Agent 就绪:为 AI 时代留的门

500 多条命令全部走同一个注册表,UI、CLI、JSON 控制通道、MCP 服务器四条路殊途同归。所以你可以这样无头批处理:

# 无头模式:打开、锐化、加曲线调整层、导出
photocraft-cli run wave.psd \
  --cmd filter.sharpen.smartSharpen     --params '{"amount":80}' \
  --cmd layer.newAdjustmentLayer.curves --params '{"points":[[0,0],[64,48],[192,212],[255,255]]}' \
  --out wave-final.png

# 一套动作批量处理整个文件夹
photocraft-cli batch --actions grade.json --in ./raw --out ./graded

# 让 AI Agent 通过 MCP 直接驱动它
photocraft-cli mcp
https://github.com/storytold/photocraft

           

06 REA

REA是一个开源的软件分析工具集,能够给 AI Agent 配上一套本地逆向工具链,通过 MCP 协议统一接入。图片

它能分析:

  • 原生二进制(伪代码、汇编、字符串、调用关系)
  • JavaScript / Electron 应用
  • .NET 程序集
  • 网站与浏览器行为
  • 甚至 Android APK、固件等

分析全部在本地跑,结果还带着证据和局限说明,不瞎编。

工作原理:

Agent 通过 MCP 调用 REA → REA 用 Hopper / Ghidra / IDA 等工具检查目标 → 返回带证据的发现 → Agent 继续追问、解释或写出实现。

功能特性

01 原生二进制:Hopper、Ghidra、IDA 任选

REA 在 Hopper 里启动分析桥,检查一个原生二进制Mach-O、ELF、PE,还有 macOS 的 .app,都能交给 Hopper 或 Ghidra 打开,IDA 走只读适配器。 Agent 能列函数、搜字符串、读汇编、反编译指定例程,顺着交叉引用和调用图往下摸。

02 JavaScript / Electron:不用运行就能解剖

给 rea 一个应用目录或者一个 .asar 包,它能还原出模块、导入关系、source map、路由、IPC 通道和原生依赖——全程不启动这个应用。

两个版本的 App 摆在一起,还能做构建间的差异对比,告诉你哪些导出和属性变了、哪些没了。

下面这张图就是两个版本做属性对比的结果。

03 不只是看懂,还能重建出来

rea 的案例展示页里有几个例子很能说明问题。1996 年的 Windows 游戏 DX-Ball,团队正在用 C 重建它。为了还原一个声像计算,Agent 用 rea 钻进指令里,跟着调用者读常量,最后写出的 C 函数通过了 3,205 个原始 x86 用例,编译出来的 63 字节和原版完全一致。

DX-Ball 声像计算的调查过程:从原始代码到重建函数,用 3,205 个用例比对
DX-Ball 声像计算的调查过程:从原始代码到重建函数,用 3,205 个用例比对

04 每条结论都带证据,还带局限

rea 返回的不是一段自信满满的解释,而是带 evidence_id、覆盖范围、还有 limitation_count 的结构化结果。

完整分析结果可能有 1.9 MB,但你可以只要一个视图:摘要视图 5 KB,小 400 倍,而且不用重跑分析。

下面就是摘要视图的输出,22 个检查项、5 条局限。

05 覆盖面多得有点离谱

除了二进制和 Electron,它还能看:

.NET 程序集的元数据和 CIL 指令、Android APK 的清单与反编译方法、固件的分区与解包结果、EVM 字节码的分发选择器、HAR 网络抓包、Linux 崩溃记录的寄存器快照、以及进程的终端输出与文件系统行为。

showcase 里有一个 DownUnderCTF 的入门二进制,rea 把校验规则扒出来,一条掩码对应一个字符,直接解出 flag。

CTF 里的掩码方程:跳过 21 个、选 1 个、再跳 14 个,选出字符码为 55 的那个字符
CTF 里的掩码方程:跳过 21 个、选 1 个、再跳 14 个,选出字符码为 55 的那个字符

https://github.com/morluto/rea

           


前往微信阅读全文

内容来自公众号,可前往微信查看原文。

查看作者的更多文章 →订阅更新、RSS 与阅读指南 →