2026-07-10 12:54:45 +00:00
|
|
|
|
# 巡樓 gateway — 唯一主設定檔(A-02)
|
|
|
|
|
|
# Secret 請用環境變數覆寫。
|
|
|
|
|
|
Name: haixun-gateway
|
|
|
|
|
|
Host: 0.0.0.0
|
|
|
|
|
|
Port: 8888
|
2026-07-13 01:15:30 +00:00
|
|
|
|
# AI 產文/試產可能超過 30s;過短會 503 且前端拿不到結果
|
|
|
|
|
|
Timeout: 120000
|
2026-07-10 12:54:45 +00:00
|
|
|
|
MaxBytes: 104857600
|
|
|
|
|
|
|
|
|
|
|
|
Log:
|
|
|
|
|
|
Mode: console
|
|
|
|
|
|
Level: info
|
|
|
|
|
|
|
|
|
|
|
|
# go-zero monc 快取(Redis)— 與 monc.MustNewModel / CacheRedis 對接
|
|
|
|
|
|
# 若 Redis 有 requirepass:設 Pass 或環境變數 REDIS_PASSWORD / HAIXUN_REDIS_PASSWORD
|
|
|
|
|
|
# (沒帶密碼會 NOAUTH,登入 API 回 500)
|
|
|
|
|
|
CacheRedis:
|
|
|
|
|
|
- Host: 127.0.0.1:6379
|
|
|
|
|
|
Type: node
|
|
|
|
|
|
Pass: ""
|
|
|
|
|
|
|
|
|
|
|
|
# Mongo — mon/monc 使用完整 URI(含帳密時寫在 URI;可用環境變數 MONGO_URI 覆寫)
|
|
|
|
|
|
# 本機有 auth 的例子:
|
|
|
|
|
|
# export MONGO_URI='mongodb://USER:PASS@127.0.0.1:27017/?authSource=admin'
|
|
|
|
|
|
# 沒設帳密但 Mongo 開了 auth → 查詢會失敗,登入會 500 而不是「密碼錯」
|
|
|
|
|
|
Mongo:
|
|
|
|
|
|
URI: "mongodb://127.0.0.1:27017"
|
|
|
|
|
|
Database: "haixun"
|
|
|
|
|
|
|
|
|
|
|
|
Auth:
|
|
|
|
|
|
AccessSecret: "change-me-access-secret"
|
|
|
|
|
|
AccessExpire: 86400
|
|
|
|
|
|
RefreshSecret: "change-me-refresh-secret"
|
|
|
|
|
|
RefreshExpire: 604800
|
|
|
|
|
|
|
2026-07-13 01:15:30 +00:00
|
|
|
|
# 平台預設 key(所有會員可用;會員在設定頁填的 BYOK 優先)
|
|
|
|
|
|
# 也可用環境變數覆寫:PLATFORM_XAI_KEY / PLATFORM_OPENCODE_KEY / PLATFORM_EXA_KEY / PLATFORM_AI_KEY
|
2026-07-10 12:54:45 +00:00
|
|
|
|
Platform:
|
2026-07-13 01:15:30 +00:00
|
|
|
|
# xAI(api.x.ai)— 人設 LLM、文案等
|
|
|
|
|
|
XAIKey: "xai-TtmPWVAz1CdssptRetj9iOFSdSG2LZDffEOTKzIiDmVSDqUL62lVdDladlQIXAwoeHtowWraVqYuHzl1"
|
|
|
|
|
|
# 相容舊名:XAIKey 空時會用 AIKey
|
2026-07-10 12:54:45 +00:00
|
|
|
|
AIKey: ""
|
2026-07-13 01:15:30 +00:00
|
|
|
|
# OpenCode Go(opencode.ai/zen/go)
|
|
|
|
|
|
OpenCodeKey: "sk-sJkJVG2Q3tQEGqgl4cCy10QCVnrHpvuzR8RuE2eTuvruXiVNromsQ7zo6db0Ssj1"
|
|
|
|
|
|
# Exa 網搜
|
|
|
|
|
|
ExaKey: "5d9af9b2-a847-4295-a110-f666049e1073"
|
|
|
|
|
|
ThreadsAppId: "2733369680379930"
|
|
|
|
|
|
ThreadsAppSecret: "31db4afdd8e348d75d76dee8fb9a42d3"
|
2026-07-10 12:54:45 +00:00
|
|
|
|
|
|
|
|
|
|
Worker:
|
2026-07-13 01:15:30 +00:00
|
|
|
|
# demo-worker 預設 id(cmd/worker 若見 worker-local-1 會改成 demo-worker-1)
|
|
|
|
|
|
ID: "demo-worker-1"
|
2026-07-10 12:54:45 +00:00
|
|
|
|
PollIntervalMs: 2000
|
|
|
|
|
|
|
|
|
|
|
|
Bcrypt:
|
|
|
|
|
|
Cost: 10
|
|
|
|
|
|
|
|
|
|
|
|
# OAuth(空則 callback 走 mock / 開發路徑)
|
|
|
|
|
|
OAuth:
|
|
|
|
|
|
GoogleClientID: ""
|
|
|
|
|
|
LineClientID: ""
|
|
|
|
|
|
LineClientSecret: ""
|
|
|
|
|
|
LineRedirectURI: ""
|
|
|
|
|
|
|
|
|
|
|
|
# 驗證碼/重設密碼寄信
|
|
|
|
|
|
#
|
|
|
|
|
|
# 本機(Mailpit,Mailgun 相容 SMTP 介面):
|
|
|
|
|
|
# Host: 127.0.0.1 Port: 1025 User/Password 可空
|
|
|
|
|
|
# UI: http://127.0.0.1:8025
|
|
|
|
|
|
# 容器:old/infra docker-compose 的 mailpit 服務
|
|
|
|
|
|
#
|
|
|
|
|
|
# 正式 Mailgun SMTP 例:
|
|
|
|
|
|
# Host: smtp.mailgun.org Port: 587
|
|
|
|
|
|
# User: postmaster@YOUR_DOMAIN Password: <API SMTP password>
|
2026-07-13 01:15:30 +00:00
|
|
|
|
# DevExposeCode: false試產
|
2026-07-10 12:54:45 +00:00
|
|
|
|
#
|
|
|
|
|
|
# env 覆寫:MAIL_SMTP_* 或 HAIXUN_SMTP_*(舊名相容)
|
|
|
|
|
|
Mail:
|
|
|
|
|
|
Sender: "Harbor Desk <noreply@haixun.local>"
|
|
|
|
|
|
SMTP:
|
|
|
|
|
|
Host: "127.0.0.1"
|
|
|
|
|
|
Port: 1025
|
|
|
|
|
|
User: ""
|
|
|
|
|
|
Password: ""
|
|
|
|
|
|
# 不再於 API 回傳驗證碼;碼只在郵件(Mailpit/SMTP)
|
|
|
|
|
|
DevExposeCode: false
|
|
|
|
|
|
|
|
|
|
|
|
# 前端 origin:重設信連結 + 預設 logo URL(/brand-mark.jpg)
|
|
|
|
|
|
# 遠端 dev:https://threads-tool-dev.30cm.net
|
2026-07-13 01:15:30 +00:00
|
|
|
|
PublicWebBase: "https://threads-tool-dev.30cm.net"
|
2026-07-10 12:54:45 +00:00
|
|
|
|
|
|
|
|
|
|
# 郵件品牌(hermes 模板;LogoURL 空 = PublicWebBase/brand-mark.jpg)
|
|
|
|
|
|
Brand:
|
|
|
|
|
|
Name: "Harbor Desk"
|
|
|
|
|
|
LogoURL: ""
|
|
|
|
|
|
Copyright: "© Harbor Desk"
|
|
|
|
|
|
|
|
|
|
|
|
# 物件儲存(頭像等)— **只接 MinIO/S3**
|
|
|
|
|
|
#
|
|
|
|
|
|
# Endpoint = gateway 上傳用(本機 MinIO,一定要 :9000)
|
|
|
|
|
|
# PublicBaseURL = 瀏覽器讀圖用(走 nginx :80,不要寫 port、不要加 /bucket)
|
|
|
|
|
|
# 成品網址 = PublicBaseURL + "/" + key
|
|
|
|
|
|
# 例:http://10.0.0.5/haixun-assets/avatar/1000000/xxx.png
|
|
|
|
|
|
#
|
|
|
|
|
|
# Secret 建議用 env,不要 commit:
|
|
|
|
|
|
# export HAIXUN_STORAGE_S3_ACCESS_KEY=haixun
|
|
|
|
|
|
# export HAIXUN_STORAGE_S3_SECRET_KEY='你的密碼'
|
|
|
|
|
|
# 或 MINIO_ROOT_USER / MINIO_ROOT_PASSWORD(ApplyEnv 會讀)
|
|
|
|
|
|
ObjectStorage:
|
|
|
|
|
|
Endpoint: "http://127.0.0.1:9000"
|
|
|
|
|
|
Region: "us-east-1"
|
|
|
|
|
|
Bucket: "haixun-assets"
|
|
|
|
|
|
AccessKey: "haixun"
|
|
|
|
|
|
SecretKey: ""
|
|
|
|
|
|
UsePathStyle: true
|
|
|
|
|
|
# env HAIXUN_STORAGE_S3_PUBLIC_BASE_URL 會覆寫;勿用 /api/v1/public/assets(新後端無此 route)
|
|
|
|
|
|
PublicBaseURL: "https://threads-tool-dev.30cm.net/haixun-assets"
|
|
|
|
|
|
|