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.)
  1. 上傳 – 前端將影像傳送至 FastAPI 後端。
  2. 背景工作arq 工作器接收請求,呼叫設定的視覺模型(例如透過 Ollama 的 gemma3)提取標籤,並可選移除背景。
  3. 儲存 – 標籤與元資料儲存在 PostgreSQL 中;影像(或裁剪版本)儲存在主機磁碟上。
  4. 推薦引擎 – 定時工作(或即時請求)呼叫文字模型(相同或不同),結合目前天氣(Open-Meteo)與使用者偏好,回傳自然語言穿搭建議。
  5. 交付 – 建議透過選定的通知管道傳送給使用者。

技術堆疊(明確提及)

層級 技術
前端 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 清單

快速入門(快速啟動摘要)

  1. 安裝 Docker + Compose,若需本地 LLM,則 安裝 Ollama 並拉取 gemma3(或其他多模態模型)。
  2. 克隆倉儲 並複製 .env.example.env
  3. 編輯 .env,指向你的 AI 服務(Ollama URL 或 OpenAI 金鑰),並設定密鑰(SECRET_KEYNEXTAUTH_SECRET)。
  4. 執行生產用 compose 檔案:
    docker compose pull
    docker compose up -d
    docker compose exec backend alembic upgrade head   # 迁移
    
  5. 開啟 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