光源智控股份有限公司的雙語企業網站與內部 AI 業務演練系統。專案以 Next.js App Router 建置,包含繁體中文與英文頁面、Jerry 智慧客服、聯絡表單、實績影音,以及受管理員驗證保護的模擬客戶演練後台。
/zh-TW、/en雙語企業內容- 智慧照明產品、EMC、案例、新聞、FAQ、下載與聯絡頁面
- 完整現場實績影片與延遲載入播放器
- Jerry 智慧客服,支援規則模式與 OpenAI-compatible LLM
- 聯絡表單、Email 通知與輕量限流
- NextAuth 管理員登入
- PostgreSQL、Drizzle ORM 與 AI 模擬客戶演練後台
- 明暗主題與響應式版面
- Next.js 15 App Router
- React 19
- TypeScript
- Tailwind CSS v4
- Framer Motion
- PostgreSQL / Neon
- Drizzle ORM
- NextAuth
- Sanity schema
需要 Node.js 20+ 與 pnpm。
git clone https://github.com/JerryTsai0708/illumination-intelligence.git
cd illumination-intelligence
pnpm install --frozen-lockfile
copy .env.example .env.local
pnpm dev瀏覽 http://localhost:3000/zh-TW。macOS 或 Linux 請將 copy 改為 cp。
網站在未連接外部服務時仍可顯示公開頁面;Jerry、Email、資料庫與管理後台需要相應環境變數。
所有可用變數都列在 .env.example。常用設定如下:
NEXT_PUBLIC_SITE_URL:正式網站網址。ASSISTANT_MODE:mock使用內建規則;llm啟用後端模型。LLM_PROVIDER:openai-compatible、siliconflow或gemini。OPENAI_COMPATIBLE_BASE_URL、OPENAI_COMPATIBLE_API_KEY、OPENAI_COMPATIBLE_MODEL:Jerry 的模型設定。CONTACT_TO_EMAIL、CONTACT_FROM_EMAIL與 Resend 或 SMTP 變數:聯絡表單通知。DATABASE_URL:PostgreSQL / Neon 連線字串。NEXTAUTH_SECRET、ADMIN_EMAIL、ADMIN_PASSWORD:管理後台驗證。RATE_LIMIT_*:聯絡表單、Jerry 與演練後台的限流設定。
請勿把 .env.local、API key、資料庫密碼或真實客戶資料提交到 Git。
Jerry 預設可使用不依賴外部模型的規則模式。設定 ASSISTANT_MODE=llm 後,可連接 SiliconFlow 或其他 OpenAI-compatible 服務,也可使用 Gemini。模型失敗、逾時或額度不足時,系統會回到規則式備用回覆。
SiliconFlow 範例:
ASSISTANT_MODE=llm
LLM_PROVIDER=siliconflow
OPENAI_COMPATIBLE_BASE_URL=https://api.siliconflow.cn/v1
OPENAI_COMPATIBLE_API_KEY=your_server_side_key
OPENAI_COMPATIBLE_MODEL=deepseek-ai/DeepSeek-V3.2
OPENAI_COMPATIBLE_FALLBACK_MODEL=deepseek-ai/DeepSeek-V4-FlashGemini 範例:
ASSISTANT_MODE=llm
LLM_PROVIDER=gemini
GEMINI_API_KEY=your_server_side_key
GEMINI_MODEL=gemini-3-flash-previewAPI key 只能放在伺服器端環境變數,不可使用 NEXT_PUBLIC_ 前綴。
正式收件人設定如下,寄件服務可選擇 Resend 或 SMTP:
CONTACT_TO_EMAIL=y2008412@hotmail.com
CONTACT_FROM_EMAIL="Illumination Intelligence <noreply@your-domain.com>"
RESEND_API_KEY=your_server_side_key若使用 SMTP,請改為填寫 SMTP_HOST、SMTP_PORT、SMTP_USER 與 SMTP_PASS。設定 CONTACT_REQUIRE_EMAIL=true 可要求郵件寄送成功後才接受表單。
pnpm db:migrate
pnpm db:seed遷移檔位於 drizzle/。模擬客戶、商品與金額均為內部演練資料,不代表正式商品、報價或對外承諾。
pnpm exec tsc --noEmit
pnpm test
pnpm lint
pnpm build專案可直接部署至 Vercel。將所需環境變數設在 Vercel Project Settings,再執行正式部署。不要把 Vercel 或其他平台的秘密值寫入倉庫。
程式碼依 MIT License 開放使用。
公司名稱、商標、Logo、品牌圖案、照片、影片、客戶案例、公司簡報、文案、資料與其他品牌資產不包含在 MIT 授權內,權利由光源智控股份有限公司保留。詳細邊界請見 ASSET-LICENSE.md。Fork 此專案公開使用前,請替換這些公司資產與內容。
請先閱讀 CONTRIBUTING.md。安全問題請依 SECURITY.md 私下回報,不要在公開 Issue 放入密鑰、漏洞細節或客戶資料。