v1.0.0 RELEASED — NOV 21, 2025 9.3K GITHUB STARS SCALES TO 10M+ PRODUCTS LARAVEL 12 / PHP 8.2+ 10+ AI PROVIDERS — BYOK MIT LICENSE — 100% OPEN SOURCE 1,293+ INSTALLATIONS WORLDWIDE v1.0.0 RELEASED — NOV 21, 2025 9.3K GITHUB STARS SCALES TO 10M+ PRODUCTS LARAVEL 12 / PHP 8.2+ 10+ AI PROVIDERS — BYOK MIT LICENSE — 100% OPEN SOURCE 1,293+ INSTALLATIONS WORLDWIDE
A Field Guide · 繁體中文版 · 2026 Edition

UnoPim:開源
商品資訊管理平台。

UnoPim 是以 Laravel 12 為核心、MIT 授權的開源 PIM(Product Information Management)系統。系統將分散在 Excel、ERP、供應商 CSV 裡的商品資料集中於單一語意層,並透過 AI Agent 以自然語言指令執行屬性新增、文案生成、翻譯與通路推送。本指南說明從安裝到 production 部署的完整流程。
Repo
unopim/unopim
Latest
v1.0.0
Stack
Laravel 12
License
MIT
9.3KGitHub Stars
10M+商品擴展上限
1,283Commits
32+AI Agent 動作
30+多語系支援
01 — 定位與競品比較

UnoPim 的市場定位與競品差異。

Akeneo CE 自 2023 年起停止新增功能;Pimcore 功能完整但需要專職開發團隊維護;AtroPIM 採全 API 架構,學習曲線較陡。UnoPim 定位於中小品牌與 Laravel 生態系開發者:可用 Composer 單行安裝、內建 AI Agent、支援擴展至千萬商品規模,適合商品數量持續成長但團隊規模尚未達企業級的使用情境。

方案 適合對象 關鍵特徵 當前狀態
UnoPim 中小品牌、Laravel 生態系開發者 Laravel 12AI Agent10M+ scale 積極開發中
Akeneo CE 過渡期使用(準備搬到付費版) Symfony2023 凍結 支援終止倒數
Pimcore 大型企業、PIM+MDM+CMS+DAM 全包 Symfony全平台高客製 需專職開發團
AtroPIM 製造商、配銷商、複雜資料模型 API-firstNo-code 建模 最高可配置性
02 — 功能清單

12 項核心功能概覽。

F·01

Agentic PIM Chat

用自然語言操作整個目錄:搜尋、建立、批次更新、分類、生成內容、匯出。支援 multi-step tool calling,一個指令拆成多步驟自動執行。32 種以上預設動作可被觸發。

新功能 — v1.0.0
F·02

Magic AI 內容生成

串接 10 種以上 AI 平台(OpenAI、Anthropic、Gemini、Mistral⋯),加密儲存 API Key,動態切換模型。可生成描述、圖片、翻譯。

F·03

10M+ 規模

官方文件說明如何擴展到千萬商品等級。

F·04

多通路

同一批商品同時推到不同 channel,每個 channel 套用自己的屬性與內容版本。

F·05

多語系 / 多貨幣

支援 30+ 語系與多貨幣定價策略;每個語系可有獨立的翻譯與內容欄位。

F·06

權限與審核

使用者、角色、權限三層。Maker-Checker 工作流可選裝。

F·07

RESTful API

官方 Postman collection + PHP API client,PSR-18 相容。

F·08

Webhook

商品儲存/更新事件可非阻塞地推給訂閱方。

F·09

Import / Export 任務追蹤

支援 CSV / XLSX,配備即時任務追蹤器、視覺化日誌、拖放 ZIP 上傳。完成度評分(completeness score)作為非同步 queue 工作執行,可在「Needs Attention」儀表板看到資料品質警示。

F·10

DAM 數位資產管理

檔案與目錄管理、預覽、刪除、metadata 標籤、協作工具、CSV/XLSX 匯出資產分配。可與 PIM 商品連動。

擴充模組
F·11

版本控制

追蹤每一筆商品資料的變更歷史,可回溯。

F·12

明暗主題

Light / Dark UI 切換,含完整字符圖示集。

03 — 技術棧

UnoPim 的技術棧組成。

Framework
Laravel
v12
Runtime
PHP
8.2+
Front-end
Vue.js
SPA
Styling
Tailwind
CSS
Database
PostgreSQL
14+ 推薦
Database (alt)
MySQL
8.0.32+
Cache / Queue
Redis
latest
Search
Elasticsearch
optional
Build
Vite
latest
Package
Composer
2.5+
Node
Node.js
18.17.1 LTS+
Container
Docker
Compose v2+
04 — 安裝方式

三種安裝路徑與適用情境。

A · Composer

~ 8 min
# 1. 建立專案
composer create-project unopim/unopim
cd unopim

# 2. 跑安裝精靈
php artisan unopim:install

# 3. 啟動開發伺服器
php artisan serve

# 4. 啟動 queue worker(必要)
php artisan queue:work \
  --queue=webhooks,system,default,completeness
注意:queue 名稱裡 webhooks 不能省略,否則所有外送 webhook 會堆在 queue 永遠不被處理。

B · Docker

~ 5 min
# 1. Clone
git clone https://github.com/unopim/unopim.git
cd unopim

# 2. 複製環境變數
cp .env.docker .env

# 3. 起容器
docker compose up -d

# 4. 等 ~90 秒讓 migrations / seeders 跑完
# 然後打開瀏覽器
# http://localhost:8000/admin
# Email: admin@example.com
# Password: admin123
Port 衝突?本地已經跑 MySQL / Redis / Elasticsearch 時,編輯 .env 裡的 FORWARD_* 變數後重啟。

C · AWS Marketplace AMI

~ 3 min
# 1. 從 AWS Marketplace 啟動 UnoPim AMI
# 2. 連線到 EC2 instance
chmod 400 your-key.pem
ssh -i your-key.pem ubuntu@your-ip

# 3. 跑 SSL 腳本(domain A record 已指向 IP)
sudo ./ssl-setup.sh

# 4. 開瀏覽器 https://yourdomain.com/
# 按「Continue」完成設定
適合場景:想跳過手動部署、直接拿到一個可上線的 cloud instance。生產或測試環境都合適。
05 — AI Agent 運作機制

AI Agent 的五個執行步驟

對話 → 執行的五個步驟

1
意圖辨識

使用者打 把所有 SKU 開頭為 TSH- 的商品翻成日文。LLM 解析出 entity(商品)、filter(SKU prefix)、action(翻譯)、locale(ja_JP)。

2
Tool Call 規劃

Agent 從 32+ 個註冊工具中挑出 product.search + locale.translate + product.update,並決定執行順序。

3
權限檢查

對照當前使用者的 role permission。沒有翻譯權限就停下來請使用者確認;有就丟到 queue。

4
多步執行

非同步派遣給 queue:work。每完成一筆推進度回 chat。需要長文生成時走「Needs Attention」儀表板等使用者覆核。

5
結果寫回 + 版本快照

更新成功後寫入版本控制,舊版可回滾。同時觸發 webhook 通知下游通路(Shopify、Bagisto 等)。

10+ AI 平台可選

BYOK · Encrypted · Dynamic Model
OpenAI GPT-4o
Anthropic Claude
Google Gemini
Mistral AI
Cohere Command
Azure OpenAI
Groq
Self-hosted LLM

憑證以加密形式儲存於資料庫,可逐 provider 測試連線,亦支援動態切換模型。同一條 prompt 可先用低成本模型生成草稿,再以高品質模型修潤。

06 — Prompt 設計示範

Magic AI 任務的
Prompt 結構說明。

情境:為「無線藍牙耳機」批次生成多通路商品文案

輸入:原始供應商規格 → 輸出:可寫回 UnoPim attribute 的結構化 JSON,含 SEO 標題、短描述、長描述、條列特色、Schema.org 屬性。

[SYSTEM] You are UnoPim's Magic AI content agent. Generate product copy that LLM-powered shopping assistants (ChatGPT, Perplexity, Rufus) can parse with high accuracy. RULES 1. Output ONLY valid JSON. 2. Title ≤ 60 chars, include primary attribute + brand. 3. Short desc ≤ 160 chars, must include 1 use-case phrase. 4. Long desc 120-180 words, 3 paragraphs, no marketing fluff. Lead with the spec that matters most. 5. Bullets: 5-7 items, each starts with the attribute noun, not a verb. 6. Schema.org Product fields required: brand, color, audience, material. 7. Tone: "{{brand_voice}}" 8. Locale: "{{target_locale}}" [USER] {{raw_supplier_data}} [ASSISTANT] Respond with JSON only. No preamble, no code fences.
{ "sku": "WBT-X400-BLK", "locale": "zh_TW", "title": "Aurora X400 主動降噪無線耳機|40 小時續航", "short_description": "通勤、遠距會議都適合的全包覆耳罩式藍牙耳機,40 小時電力一次帶你穿越工作日。", "long_description": "Aurora X400 採用 40mm 動圈單體與雙 ENC 麥克風...", "bullets": [ "主動降噪深度 35dB,地鐵環境可清晰聽見人聲音軌", "電池續航 40 小時(開啟降噪 28 小時)", "快充 10 分鐘提供 5 小時播放", "藍牙 5.3 雙裝置同時連線", "記憶泡棉耳罩,佩戴 2 小時無壓迫感", "重量 248g,可折疊收納於原廠硬殼" ], "schema": { "brand": "Aurora", "color": "墨黑", "audience": "通勤者、遠端工作者", "material": "鋁合金 + 蛋白皮" }, "seo": { "meta_title": "Aurora X400 降噪耳機|40hr 續航", "meta_description": "40 小時續航的主動降噪耳機..." }, "completeness_score": 0.94 }
把規則寫死

UnoPim 的 attribute 是 schema,不是自由欄位。Prompt 裡明確指定字數上限與必填 Schema.org 欄位,可大幅降低需要人工修正的比例。

強制 JSON 模式

呼叫支援 JSON mode 的模型(GPT-4o、Claude)。「Output ONLY valid JSON」加上 response_format 約束雙保險,避免回傳 markdown 包裹的程式碼區塊。

用變數樣板

{{brand_voice}}{{target_locale}}{{raw_supplier_data}} 抽成 UnoPim 的 prompt template。同一個 prompt 可跨 channel、跨語系、跨 SKU 重用。

07 — 社群觀點

來自 Reddit、HN、Dev.to 的實作意見

UnoPim 在公開論壇的討論量低於 Pimcore,但圍繞「開源 PIM × AI Agent × 中小品牌」主軸的社群意見已逐漸形成共識。以下整理 r/ecommerce、r/laravel、r/SaaS、HN 與 Dev.to 上反覆出現的觀點,並收錄競品比較文中的結構性建議,供導入前參考。

「UnoPim 也可以當迷你 ERP 用。商品從供應商進到 UnoPim,再從 UnoPim 推給 Shopify、Magento、線下 POS。一個系統承接 master data 的角色。」

實作派觀點USE-CASE

「Akeneo CE 已是倒數計時的選擇。2023 起停更,2026 終止支援。要嘛搬到付費版,要嘛現在就遷移。」

競品分析STRATEGY

「先把 attribute 結構想清楚再裝。否則之後重建 family 會死人。」

架構建議HACK

「Webhook queue 不開,下游永遠收不到通知。這是新手第一個坑。」

新手陷阱GOTCHA

「LLM 補商品資料時記得用 RAG,把品牌規範放進 context,不要讓模型自由發揮。否則 50 個 SKU 會有 50 種語氣,品牌一致性整個崩。」

AI 工作流建議AI-OPS

「GPT-4 對結構化資料的正確率比非結構化高了 3 倍(16% → 54%)。schema 不是 SEO 玩具,是 AI 商務的入場券。」

研究數據DATA

「PIM 的 AI 分成 Level 0–4,多數市場上的『AI PIM』其實只到 Level 1(建議式)。真的能執行的(agentic)才會省人力。」

產業評論FRAMEWORK

「BYOK 比 vendor lock 重要。AI 成本要自己控。」

成本控制TIP

「PostgreSQL 而非 MySQL。官方推薦有其依據:商品 attribute 是 EAV-like 結構,PostgreSQL 的 JSONB 與索引能力對查詢效能影響顯著。」

效能調校PERF

「Multimodal LLM 同時處理圖片與文字,可驗證商品描述與實品照片是否一致,用於識別供應商資料錯誤。」

品質保證QA

「Webkul 是印度團隊,issue 回應算積極,PR 走流程嚴。」

維護者觀察TEAM
08 — 使用情境

四種典型部署場景說明。

USE CASE A — 全通路電商

同一批 SKU 推送至 5 個通路、3 個語系、2 種幣別。

UnoPim 作為 master data 來源。商品有一份「中性」的核心資料,再依 channel 套用該通路的標題長度、必填欄位、定價策略。日文版用 ja_JP locale 自動翻譯,歐元市場套用稅含定價。

ChannelsLocalesMulti-currencyShopify Connector
USE CASE B — B2B 配銷 / 工業

每個 SKU 含 200+ 個屬性,每月匯入供應商 CSV。

家具、五金、零組件、化工產品等類別每個 SKU 通常有兩三百個技術規格。UnoPim 的 attribute family 支援按產品類型套用模板,匯入 supplier CSV 後可由 AI Agent 補齊缺漏屬性並偵測單位不一致。

Attribute FamilyBulk ImportAI ValidationCompleteness Score
USE CASE C — Headless / Composable

以 UnoPim 作為商品資料 API 供應方。

前端是 Next.js 或 Nuxt,後台 ERP 是 SAP / Odoo。UnoPim 透過 REST API 對外提供商品資料給 storefront,再用 webhook 把更新事件推給 ERP 同步。PHP API client 是 PSR-18 相容,可塞進任何 PHP 專案。

REST APIWebhooksPSR-18Headless
USE CASE D — AI Discoverability 準備

提升商品在 ChatGPT、Perplexity、Rufus 的可發現性。

AI 搜尋引擎依據 schema 與權威清單推薦商品,而非 backlink。Schema.org Product / Offer / FAQPage / BreadcrumbList 等結構化資料欄位可由 UnoPim Magic AI 批次生成,並依 SKU 輸出 completeness score,標示尚未準備好被 AI 索引的商品。

Schema.orgMagic AISEOCompleteness
09 — 常見錯誤

六個常見配置錯誤與修正方法。

!

忘記啟動 webhooks queue

下游通路收不到商品更新事件。queue:work 指令必須包含 webhooks 佇列。

!

選 MySQL 而非 PostgreSQL

官方推薦 PostgreSQL 14+。JSONB 索引對 EAV-like 商品屬性查詢效能差距明顯,等資料量起來才換很痛。

!

沒先設計 attribute family

直接建立 SKU 而未先規劃 attribute family,後續新增共用屬性或驗證規則時需逐筆修改。建議先設計 family 結構,再批次套用至 SKU。

!

Magic AI 沒設 prompt template

未設定 prompt template 時,每次呼叫 LLM 生成的文案語氣不一致。應將 brand voice、字數限制與必填欄位寫入 system prompt template 重複使用。

!

Port 衝突沒處理

本地已執行 MySQL / Redis 再啟動 Docker Compose 會產生 port 衝突。修改 .env 中的 FORWARD_DB_PORT 等變數後重啟即可解決。

!

把 AI API Key 寫死

UnoPim 內建加密儲存 BYOK。API Key 應透過後台 AI Platform 設定畫面新增,不應寫入 .env 或原始碼。

現在就開一個 terminal,
跑 composer create-project。

01 — REPO GitHub → 02 — DOCS Documentation → 03 — DEMO Live Demo → 04 — API Postman →