Anyesh/wardrowbe
Put your wardrobe in rows. Self-hosted AI-powered wardrobe management app.
wardrowbe – 自主托管 AI 驅動的數位衣櫥管理器
是什麼 – 一個全端 Web 應用程式,讓你拍攝衣物照片,儲存至可搜尋的目錄,並使用多模態 LLM(透過 OpenAI、Ollama、LocalAI 等)為每件物品打上標籤,並根據天氣、場合與個人偏好生成每日穿搭建議。所有資料都儲存在你自己的硬體上;AI 模組可於本地運行(Ollama)或透過任何 OpenAI 相容服務執行。
核心功能(README 中列出)
- 照片導向目錄 – 上傳圖片;AI 提取顏色、圖案、風格,並可選移除背景。
- 智慧穿搭建議 – 多模態 LLM 會考慮天氣(Open-Meteo)與使用者定義的場合,建議穿什麼。
- 定時通知 – 每日建議可透過 ntfy、Mattermost 或電子郵件推送。
- 家庭帳戶 – 為多個家庭成員設立獨立衣櫥。
- 穿著紀錄與回饋 – 記錄何時穿了某件物品,評分穿搭並給予評論。
- 分析儀表板 – 可視化顏色分布、最常穿的單品、從未使用的物品等。
- 完全自托管 – 使用 Docker Compose(或 Kubernetes)部署;無 SaaS 繫結。
- AI 無關性 – 支援任何 OpenAI 相容 API:Ollama(免費,本地執行)、OpenAI、LocalAI 或其他主機模型。
- 國際化 UI – 透過
next-intl支援八種語言。
工作原理(來自 README 的架構)
前端 (Next.js 14 + React Query) <---> 後端 (FastAPI + async SQLAlchemy)
│ │
│ PostgreSQL (衣櫥資料) │ Redis (工作佇列)
│ │
└───► 後台工作器 (arq) ──► AI 服務 (Ollama/OpenAI/etc.)
- 上傳 – 前端將影像傳送至 FastAPI 後端。
- 背景工作 –
arq工作器接收請求,呼叫設定的視覺模型(例如透過 Ollama 的gemma3)提取標籤,並可選移除背景。 - 儲存 – 標籤與元資料儲存在 PostgreSQL 中;影像(或裁剪版本)儲存在主機磁碟上。
- 推薦引擎 – 定時工作(或即時請求)呼叫文字模型(相同或不同),結合目前天氣(Open-Meteo)與使用者偏好,回傳自然語言穿搭建議。
- 交付 – 建議透過選定的通知管道傳送給使用者。
技術堆疊(明確提及)
| 層級 | 技術 |
|---|---|
| 前端 | Next.js 14, TypeScript, Tailwind CSS, shadcn/ui, TanStack Query |
| 後端 | FastAPI, async SQLAlchemy, Pydantic, Python 3.11 |
| 資料庫 | PostgreSQL 15 |
| 快取 / 佇列 | Redis 7(由 arq 工作器使用) |
| 後台工作 | arq(非同步工作佇列) |
| 認證 | NextAuth.js(開發憑證或 OIDC) |
| AI 整合 | 任意 OpenAI 相容 API(Ollama、OpenAI、LocalAI 等) |
| 容器化 | Docker Compose(多架構鏡像) – 可選 Kubernetes 清單 |
快速入門(快速啟動摘要)
- 安裝 Docker + Compose,若需本地 LLM,則 安裝 Ollama 並拉取
gemma3(或其他多模態模型)。 - 克隆倉儲 並複製
.env.example→.env。 - 編輯
.env,指向你的 AI 服務(Ollama URL 或 OpenAI 金鑰),並設定密鑰(SECRET_KEY、NEXTAUTH_SECRET)。 - 執行生產用 compose 檔案:
docker compose pull docker compose up -d docker compose exec backend alembic upgrade head # 迁移 - 開啟
http://localhost:3000查看 UI,http://localhost:8000/docs查看 API 文件。
開發時,加入 -f docker-compose.dev.yml 以啟用熱重載,並使用 npm run dev 本地執行前端。
常見使用情境
- 個人衣櫥數位化 – 一次掃描所有衣物,讓 AI 自動打標籤。
- 每日穿搭規劃 – 每天早上接收天氣感知的建議。
- 家庭共享 – 為配偶、小孩等設立獨立衣櫥,全部託管於一個自托管實例中。
- 資料驅動的整理 – 使用分析視圖查看哪些顏色或物品從未被使用。
限制與注意事項
- AI 質量取決於模型 – 免費本地模型(如
gemma3)可能不如 OpenAI 的視覺模型準確。 - 硬體需求 – 至少 4 GB 記憶體;更大的多模態模型需要更多記憶體。
- 背景移除為可選 – 需要
rembg或外部 HTTP 服務;否則按鈕會回傳 501 錯誤。 - 位置資訊回退的隱私 – 啟用
NEXT_PUBLIC_ENABLE_IP_LOCATION_FALLBACK會將使用者 IP 傳送至第三方服務。 - 尚無行動應用 – README 提到即將上架 Play 商店;目前僅支援 Web 界面。
哪些人可能需要
- 希望擁有隱私優先數位衣櫥的科技愛好者。
- 尋找無需依賴雲端服務的共享衣櫥管理器的小家庭。
- 對開發 AI 增強型個人助理工具感興趣的開發者,需要一個現成的視覺+文字整合範例。
結論 – wardrowbe 是一個真正的自托管應用,結合現代 Web 技術與多模態 LLM,自動化衣櫥管理與穿搭推薦。它完全文件化、容器化,並可配置為與任何 OpenAI 相容後端運行,是 AI 增強型個人生產力工具的優秀範例。
相關
- 專案
- 專案
- 專案
- 專案
- Dispatch