181 lines
6.9 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 本地运行
NODE_ENV=development
NEXT_PUBLIC_APP_URL=http://localhost:3000
# 数据库
DATABASE_URL=postgresql://USER:PASSWORD@HOST:5432/DB_NAME?schema=public
# 产品全量档案的聚水潭 SQL Server 只读来源
JST_REPORT_DB_HOST=
JST_REPORT_DB_PORT=1433
JST_REPORT_DB_NAME=
JST_REPORT_DB_SCHEMA=rpt
JST_REPORT_DB_USER=
JST_REPORT_DB_PASSWORD=
JST_REPORT_DB_ENCRYPT=true
JST_REPORT_DB_TRUST_SERVER_CERTIFICATE=true
# OA 新品流程看板数据源。默认 mysql;切换到 JSReportReplica 时设为 mssql。
OA_BOARD_SOURCE_DRIVER=mysql
# MySQL 来源兼容配置。
OA_BOARD_SOURCE_DB_HOST=
OA_BOARD_SOURCE_DB_PORT=3306
OA_BOARD_SOURCE_DB_NAME=
OA_BOARD_SOURCE_DB_USER=
OA_BOARD_SOURCE_DB_PASSWORD=
OA_BOARD_SOURCE_DB_CHARSET=utf8mb4
OA_BOARD_SOURCE_DB_SSL=false
# SQL Server 来源:JSReportReplica.rpt 的 ding_Workflow、ding_WorkflowScheme、ding_WorkflowTask 只读视图。
# 使用 mssql 来源时,快照仍写入下方配置的企划 MySQL 库。
OA_BOARD_MSSQL_HOST=
OA_BOARD_MSSQL_PORT=1433
OA_BOARD_MSSQL_DATABASE=JSReportReplica
OA_BOARD_MSSQL_SCHEMA=rpt
OA_BOARD_MSSQL_USERNAME=
OA_BOARD_MSSQL_PASSWORD=
OA_BOARD_MSSQL_ENCRYPT=false
OA_BOARD_MSSQL_TRUST_SERVER_CERTIFICATE=true
OA_BOARD_MSSQL_CONNECTION_TIMEOUT_MS=15000
OA_BOARD_MSSQL_REQUEST_TIMEOUT_MS=120000
# OA 看板快照目标(MySQL)。留空时兼容复用 PLANNING_DATABASE_URL / PLANNING_DB_*。
# 配置此组变量后,可保证切换 SQL Server 来源时所有快照、超时跟进和日报数据仍保存在企划库。
OA_BOARD_SNAPSHOT_DATABASE_URL=
OA_BOARD_SNAPSHOT_DB_HOST=
OA_BOARD_SNAPSHOT_DB_PORT=3306
OA_BOARD_SNAPSHOT_DB_NAME=
OA_BOARD_SNAPSHOT_DB_USER=
OA_BOARD_SNAPSHOT_DB_PASSWORD=
OA_BOARD_SNAPSHOT_DB_CHARSET=utf8mb4
OA_BOARD_SNAPSHOT_DB_SSL=false
# HR 员工目录(SQL Server)。OA 快照仅在本地员工目录无法匹配时使用,
# 用于将 ding_WorkflowTask.userId 解析成当前负责人的姓名。
HR_SQLSERVER_HOST=
HR_SQLSERVER_PORT=1433
HR_SQLSERVER_DATABASE=
HR_SQLSERVER_USERNAME=
HR_SQLSERVER_PASSWORD=
HR_SQLSERVER_ENCRYPT=false
HR_SQLSERVER_TRUST_SERVER_CERTIFICATE=true
# 产品资料供应商与仓库目录(SQL Server 报表库,只读)
JST_PLANNING_SQLSERVER_HOST=
JST_PLANNING_SQLSERVER_PORT=1433
JST_PLANNING_SQLSERVER_DATABASE=
JST_PLANNING_SQLSERVER_USERNAME=
JST_PLANNING_SQLSERVER_PASSWORD=
JST_PLANNING_SQLSERVER_SCHEMA=rpt
JST_PLANNING_SQLSERVER_ENCRYPT=false
JST_PLANNING_SQLSERVER_TRUST_SERVER_CERTIFICATE=true
# 登录和令牌
JWT_SECRET=replace-with-random-secret
JWT_EXPIRES_IN=7d
# 钉钉登录(OAuth 应用;只用于登录授权和用户信息获取)
DINGTALK_LOGIN_CLIENT_ID=
DINGTALK_LOGIN_CLIENT_SECRET=
DINGTALK_CALLBACK_ORIGIN=
# 钉钉开放平台 API(通讯录、待办、审批等服务端调用)
DINGTALK_API_CLIENT_ID=
DINGTALK_API_CLIENT_SECRET=
# 钉钉待办:OA 阶段超时预警,以及预计出货日前 15 天的品牌策划主管提醒。
DINGTALK_TODO_ENABLED=false
DINGTALK_TODO_DETAIL_BASE_URL=
DINGTALK_TODO_SOURCE_APP=oa-board
DINGTALK_TODO_ESCALATION_ENABLED=false
DINGTALK_TODO_ESCALATION_DAYS=3
# DINGTALK_AGENT_ID=
# 由壹点通知中心(仅服务端使用,项目密钥禁止提交或暴露给浏览器)
YYD_NOTIFICATION_CENTER_URL=https://sc.jiansun.vip/notification-center
YYD_NOTIFICATION_PROJECT_CODE=furniture_platform
YYD_NOTIFICATION_PROJECT_SECRET=
YYD_NOTIFICATION_TIMEOUT_MS=10000
# 店铺账号新增时,梦汐/扬灵群使用的钉钉“由壹点”群机器人。
# webhook 地址和签名密钥只配置在本地/正式站运行环境,不要提交真实值。
DINGTALK_STORE_ACCOUNT_GROUP_WEBHOOK_URL=
DINGTALK_STORE_ACCOUNT_GROUP_WEBHOOK_SECRET=
DINGTALK_STORE_ACCOUNT_GROUP_WEBHOOK_TIMEOUT_MS=10000
STORE_ACCOUNT_NOTIFICATION_RETRY_SECRET=
# 产品开发待办定时任务(仅服务端/部署 cron 使用,须与其他任务密钥分开)
PRODUCT_DEVELOPMENT_TODO_CRON_SECRET=
# 对象存储
# 必填,不能留空。当前生产桶使用 qiniu;只有明确切换适配器时才改为 s3/minio。
STORAGE_PROVIDER=qiniu
OBJECT_STORAGE_FILE_PATH=dev
STORAGE_FILE_PATH=dev
# 七牛云 Kodo
QINIU_ACCESS_KEY=replace-with-qiniu-access-key
QINIU_SECRET_KEY=replace-with-qiniu-secret-key
QINIU_BUCKET=sucaiku-js
QINIU_PUBLIC_DOMAIN=https://qny.jiansun.vip
QINIU_FILE_PATH=dev
QINIU_USE_HTTPS=true
QINIU_PRIVATE_BUCKET=true
QINIU_PRIVATE_URL_EXPIRES_SECONDS=7200
# S3/MinIO 兼容适配器
# STORAGE_PROVIDER=s3
S3_ENDPOINT=http://127.0.0.1:9000
S3_PUBLIC_ENDPOINT=http://127.0.0.1:9000
S3_ACCESS_KEY=replace-with-s3-access-key
S3_SECRET_KEY=replace-with-s3-secret-key
S3_BUCKET=replace-with-s3-bucket
S3_FILE_PATH=dev
S3_REGION=us-east-1
S3_ENABLE_PATH_STYLE=true
# 外部 AI 生图
EXTERNAL_IMAGE_GENERATE_TIMEOUT_MS=180000
# BOM 核算竞品分析
# 留空表示分析服务尚未接入;本地开发可显式填 fixture 验证完整工作台。
# 生产环境禁止使用 fixture。
BOM_COSTING_ANALYSIS_PROVIDER=
# 真实竞品分析使用 market-detail-multimodal;Key 只放本地/生产环境变量。
BOM_COSTING_MARKET_API_BASE_URL=https://qh.yydd.ai
BOM_COSTING_MARKET_API_KEY=replace-with-market-open-api-key
# 复用 AI 服务配置面板中已激活的多模态模型连接。
BOM_COSTING_AI_SERVICE_TYPE=prompt-optimizer
BOM_COSTING_MARKET_TIMEOUT_MS=60000
# 最终结构与 BOM 汇总默认最多等待 110 秒;GPT-5 兼容网关会强制收紧到该上限,避免上游两分钟截断造成任务假死。
BOM_COSTING_AI_TIMEOUT_MS=110000
BOM_COSTING_AI_MAX_IMAGES=20
# GPT-5 兼容网关的最终 BOM 汇总最多使用 12000 个输出额度,避免冗长回复拖垮整项任务。
BOM_COSTING_AI_MAX_TOKENS=12000
BOM_COSTING_AI_REASONING_EFFORT=low
BOM_COSTING_MODELING_PROVIDER=
# BOM 核算实时同款采购预估(1688 官方图搜)。
# 网关固定为 https://skills-gateway.1688.com/api/find_product/1.0.0。
# AK 只放服务器私密环境变量,服务端会按 x-csk-* 协议签名;实时同款价固定 × 90%
# 是整件采购预估,历史 BOM 仅保留为结构参考。不要把 AK 写入 Git 或 NEXT_PUBLIC_* 变量。
ALIBABA_1688_IMAGE_SEARCH_AK=replace-with-1688-image-search-ak
# 仅在官方网关地址调整时设置;系统会拒绝非官方 HTTPS 地址。
ALIBABA_1688_IMAGE_SEARCH_ENDPOINT_URL=https://skills-gateway.1688.com/api/find_product/1.0.0
ALIBABA_1688_IMAGE_SEARCH_TIMEOUT_MS=45000
ALIBABA_1688_IMAGE_SEARCH_MIN_SIMILARITY=0.78
ALIBABA_1688_IMAGE_SEARCH_PAGE_SIZE=10
ALIBABA_1688_IMAGE_SEARCH_PURCHASE_AMOUNT=1
ALIBABA_1688_IMAGE_SEARCH_TAGS=4306497
# 素材库白底图回传
MATERIAL_LIBRARY_WHITE_BACKGROUND_API_ENABLED=false
MATERIAL_LIBRARY_WHITE_BACKGROUND_API_BASE_URL=https://example.com
MATERIAL_LIBRARY_WHITE_BACKGROUND_API_KEY=replace-with-material-library-api-key
# 产品全量档案以图搜图(模型文件放在仓库外,不提交到 Git)
IMAGE_SEARCH_MODEL_PATH=
IMAGE_SEARCH_MODEL_SOURCE_BASE_URL=https://www.modelscope.cn/models/Xenova/dinov2-small/resolve/master
IMAGE_SEARCH_MIN_SHAPE_COSINE=0.78
IMAGE_SEARCH_MIN_SHAPE_MARGIN=0.08