# 本地运行 NODE_ENV=development NEXT_PUBLIC_APP_URL=http://localhost:3000 # 数据库 DATABASE_URL=postgresql://USER:PASSWORD@HOST:5432/DB_NAME?schema=public # 员工工时花名只读人员配置来源(可选;开发环境配置后会合并正式人员配置) SUPPLY_CHAIN_PRODUCT_ARCHIVE_READ_DATABASE_URL=postgresql://READ_USER:READ_PASSWORD@READ_HOST:5432/READ_DB SUPPLY_CHAIN_PRODUCT_ARCHIVE_READ_DATABASE_SSL_REJECT_UNAUTHORIZED=true # 产品全量档案的聚水潭 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 # 检测报告查询(不填则复用上面素材平台的 BaseUrl / API Key;都没有时「是否有检测报告」显示为空) MATERIAL_LIBRARY_CERTIFICATE_REPORT_API_BASE_URL= MATERIAL_LIBRARY_CERTIFICATE_REPORT_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