🖼️ Pixuli — AI 图片分析、自动标签生成与批处理。在 GitHub / Gitee 仓库中管理图片的三端客户端(无官方自建服务端)。
⚠️ 开发状态:本项目正在重构中(M1~M6,见 REFACTOR_PLAN.md)。main分支的 API、目录与功能边界可能频繁变动,尚不稳定,暂不建议用于生产环境。升级或集成前请先阅读 CHANGELOG.md 的[Unreleased]。
Pixuli 是一个 Monorepo 图片管理客户端。图片存放在你配置的 Git 仓库中;应用在 Web(PWA)、Desktop(Electron) 与 Mobile(Capacitor Android) 上提供浏览、上传、元数据与实用工具。
| 原则 | 说明 |
|---|---|
| 存储 | 经 StorageProvider 插件接入 GitHub / Gitee(@pixuli/provider-github、@pixuli/provider-gitee) |
| 官方服务端 | 无 — server/(NestJS)已归档;如需自建 API 请用社区插件或自定义 Provider |
| 图片处理 | Web/Desktop 渲染进程使用浏览器 Canvas(主构建路径已移除 Rust WASM) |
| 产品聚焦 | 网格/列表图床(L2)+ 压缩/转换工具 + 设置 |
已移除或延后的功能(幻灯片、时间线、照片墙等)见 docs/04-backlog.md。重构追踪见 REFACTOR_PLAN.md。
文档语言:仓库根目录 README / CHANGELOG / CONTRIBUTING 暂以中文为主;
docs/与 Wiki 策略见 REFACTOR_PLAN.md(REF-415)。
| 区域 | 状态 | 说明 |
|---|---|---|
Web(app,Vite) |
✅ 维护中 | PWA;开发地址 http://localhost:5500 |
Desktop(app,Electron) |
✅ 维护中 | 与 Web 共用 src/ui |
Mobile(app,Capacitor) |
✅ 维护中 | Android:dev:android / build:android;与 Web/Desktop 同一套 UI |
@pixuli/core |
✅ 维护中 | 类型、工具、StoragePluginRegistry |
@pixuli/provider-* |
✅ 维护中 | 官方 GitHub/Gitee 存储插件 |
archive/wasm |
📦 已归档 | 不在 workspace;仅供查阅 |
archive/benchmark |
📦 已归档 | 不在 workspace |
archive/apps/mobile |
📦 已归档 | Expo RN;仅供对照;请使用 app Capacitor |
archive/server |
📦 已归档 | 不在 workspace;非官方交付物 |
| 模块 | 说明 |
|---|---|
| 图床 | 网格/列表浏览、单张/批量上传、删除、元数据、搜索、全屏预览 |
| 工具 | WebP 压缩、格式转换(/compress、/convert) |
| 存储 | GitHub / Gitee 源、切换源、导入/导出配置;Token 仅存本地 |
| 体验 | 明暗主题、中/英界面、快捷键、响应式布局、PWA(Web) |
Pixuli/
├── app/ # Web + Desktop + Mobile(Vite + React + Electron + Capacitor;UI 在 src/ui)
├── packages/
│ ├── core/ # @pixuli/core — 类型、Registry、工具
│ ├── plugin-provider-github/ # @pixuli/provider-github
│ └── plugin-provider-gitee/ # @pixuli/provider-gitee
├── archive/ # wasm、benchmark、server、apps/mobile(不在 workspace)
├── docs/ # PRD、系统设计、backlog
├── REFACTOR_PLAN.md # 里程碑与 GitHub Issue 映射
└── pnpm-workspace.yaml
| 工具 | 版本 |
|---|---|
| Node.js | >= 22.0.0 |
| pnpm | >= 8.0.0(必需;仓库使用 pnpm workspace) |
| Git | >= 2.0.0 |
主应用不需要 Rust 工具链。WASM 模块仅存在于
archive/wasm/。
| 平台 | 额外要求 |
|---|---|
| Desktop | macOS 10.15+ 或 Windows 10/11(运行/打包 Electron) |
| Web | 支持 Canvas API 的现代浏览器 |
| Mobile Android | Android Studio、SDK 33+、JDK 17 |
| Mobile iOS | Xcode(iOS 发版待定) |
git clone https://github.com/trueLoving/Pixuli.git
cd Pixuli
pnpm install
# 开发
pnpm dev:web # Web → http://localhost:5500
pnpm dev:desktop # Desktop(Electron)
pnpm dev:android # Mobile Android(Capacitor + Live Reload)
pnpm run:android # 在 dev server 已起时重连pnpm build:web
pnpm build:desktop
pnpm build:android # 已签名 release APK
pnpm ci # lint + test + web/desktop 类型检查与构建(CI 门禁)工作流、代码风格与提交约定见 CONTRIBUTING.md。
| 平台 | 获取方式 |
|---|---|
| Windows | GitHub Releases — .exe |
| macOS Intel | Releases — mac-x64 .dmg |
| macOS Apple Silicon | Releases — mac-arm64 .dmg |
| 方式 | 链接 |
|---|---|
| 在线演示 | pixuli-web.vercel.app |
| Docker | docker run -d -p 8080:80 trueloving/pixuli-web:latest |
| 平台 | 获取方式 |
|---|---|
| Android | GitHub Releases — v{版本}-android 附件 APK |
注意:2.x 起 Mobile 与 Web/Desktop 同源(
app)。历史 Expo RN 包(v*-mobile,如Pixuli_1.0.0.apk)已归档,请勿用于新安装。安装步骤见 产品使用手册 §4.3。
升级说明:M1 重构前的 Release(如
v1.3.0-desktop)可能仍含幻灯片与 WASM 等已移除能力。升级前请阅读 CHANGELOG.md 的[Unreleased]与 版本发布策略。
| 读者 | 文档 |
|---|---|
| 用户 | GitHub Wiki — 安装、配置源、日常使用 |
| 产品 | docs/01-product/ — PRD、范围与裁剪、使用教程 |
| 已移除 / 延后 | docs/04-backlog.md |
| 开发者 | docs/README.md — 文档索引 |
| 贡献 | CONTRIBUTING.md |
| AI 助手 | AGENTS.md — Cursor Rules/Skills、Monorepo 上下文(REF-414) |
| 重构计划 | REFACTOR_PLAN.md |
| 变更日志 | CHANGELOG.md |
| 主应用 | app/README.md |
| Mobile(归档 RN) | archive/apps/mobile/README.md |
⭐ 如果本项目对你有帮助,欢迎 Star!