Skip to content
 
 

Latest commit

 

History

80 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

光源智控企業網站

光源智控股份有限公司的雙語企業網站與內部 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_MODEmock 使用內建規則;llm 啟用後端模型。
  • LLM_PROVIDERopenai-compatiblesiliconflowgemini
  • OPENAI_COMPATIBLE_BASE_URLOPENAI_COMPATIBLE_API_KEYOPENAI_COMPATIBLE_MODEL:Jerry 的模型設定。
  • CONTACT_TO_EMAILCONTACT_FROM_EMAIL 與 Resend 或 SMTP 變數:聯絡表單通知。
  • DATABASE_URL:PostgreSQL / Neon 連線字串。
  • NEXTAUTH_SECRETADMIN_EMAILADMIN_PASSWORD:管理後台驗證。
  • RATE_LIMIT_*:聯絡表單、Jerry 與演練後台的限流設定。

請勿把 .env.local、API key、資料庫密碼或真實客戶資料提交到 Git。

Jerry 模型服務

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-Flash

Gemini 範例:

ASSISTANT_MODE=llm
LLM_PROVIDER=gemini
GEMINI_API_KEY=your_server_side_key
GEMINI_MODEL=gemini-3-flash-preview

API 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_HOSTSMTP_PORTSMTP_USERSMTP_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 放入密鑰、漏洞細節或客戶資料。

About

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages