# date: 20260719 # ============================================= # 前端 Vite 环境变量(可选,如需在 UI 中访问 Supabase) # ============================================= VITE_SUPABASE_URL=https://ysescuwiauwemgvhhrvc.supabase.co VITE_SUPABASE_SOURCE_FILES_BUCKET=source-files VITE_SUPABASE_PUBLISHABLE_KEY=sb_publishable_C8vJ-5JIF00ZhpLno5CBTQ_TJ4usis_ SUPABASE_PUBLISHABLE_KEY=sb_publishable_C8vJ-5JIF00ZhpLno5CBTQ_TJ4usis_ SUPABASE_SECRET_KEY=sb_secret_0Fa-JZ_PEAt9x2kvLPdbsg_dSGGiy8x # 可选:如果前后端不是同源部署,可显式指定自动化 API 地址 # VITE_AUTOMATION_BASE_URL=http://127.0.0.1:3030 # VITE_AUTOMATION_PORT=3030 # 在 Supabase 控制台 → Project Settings → API 中获取 PROMPT_SUPABASE_URL=https://wlfnmvfoteuohuqamxzv.supabase.co #SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6IndsZm5tdmZvdGV1b2h1cWFteHp2Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzUwMjAzNDQsImV4cCI6MjA5MDU5NjM0NH0.umWC4dH-xI7ZLS0VBeIDJZtHWeCRREe5NjOhmyvhRJU # 仅服务端使用,不要暴露到前端 PROMPT_SUPABASE_SERVICE_ROLE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6IndsZm5tdmZvdGV1b2h1cWFteHp2Iiwicm9sZSI6InNlcnZpY2Vfcm9sZSIsImlhdCI6MTc3NTAyMDM0NCwiZXhwIjoyMDkwNTk2MzQ0fQ.4YQzmy6vpZcNpGFvBo-Mn0o0BGUq1BncDOMgi42I8mA #SUPABASE_ACCESS_TOKEN=sbp_87b2796a8657dff6e252e5d458a87e062f8b1135 PROMPT_ENV=prod PROMPT_CACHE_TTL_MS=300000 # ============================================= # 新的云端数据库配置 # ============================================= SUPABASE_URL=https://ysescuwiauwemgvhhrvc.supabase.co # 仅服务端使用,不要暴露到前端 # LLM 配置 # ============================================= # Provider 命名空间配置。仅配置需要启用的 Provider。 DEEPSEEK_LLM_BASE_URL=https://api.deepseek.com DEEPSEEK_LLM_API_KEY=sk-419712ee7f74487e99ea38f21e64d1ab MIMO_LLM_BASE_URL=https://api.xiaomimimo.com/v1 MIMO_LLM_API_KEY=sk-c88tps5l3dflpe37qgizb2bzd167hie4r8x6johlnhryvagu GEMINI_LLM_BASE_URL=https://generativelanguage.googleapis.com/v1beta/openai GEMINI_LLM_API_KEY= # 阶段级 Provider + 模型配置。 DOCUMENT_OCR_LLM_PROVIDER=mimo DOCUMENT_OCR_LLM_MODEL=mimo-v2.5 DOCUMENT_EXTRACTION_LLM_PROVIDER=mimo DOCUMENT_EXTRACTION_LLM_MODEL=mimo-v2.5 STANDARDIZATION_BULK_LLM_MODEL=mimo-v2.5 STANDARDIZATION_BULK_LLM_CHUNK_SIZE=10 STANDARDIZATION_BULK_LLM_CONCURRENCY=4 STANDARDIZATION_BULK_LLM_FALLBACK_MODEL=deepseek-v4-pro KEYWORD_SEMANTIC_LLM_PROVIDER=deepseek KEYWORD_SEMANTIC_LLM_MODEL=deepseek-v4-pro # DeepSeek 标准化阶段可选参数;默认禁用 thinking,结构化输出默认 max_tokens=8192 STANDARDIZATION_LLM_MAX_TOKENS=8192 STANDARDIZATION_LLM_THINKING=disabled # STANDARDIZATION_LLM_REASONING_EFFORT=high SEARCH_VISION_LLM_PROVIDER=gemini SEARCH_VISION_LLM_MODEL=gemini-2.5-pro-preview-p FIXED_SEARCH_LLM_PROVIDER=mimo FIXED_SEARCH_LLM_MODEL=mimo-v2.5 FIXED_SEARCH_LLM_ONLINE_CHUNK_SIZE=25 FIXED_SEARCH_LLM_ONLINE_CONCURRENCY=4 FIXED_SEARCH_LLM_FALLBACK_PROVIDER=deepseek FIXED_SEARCH_LLM_FALLBACK_MODEL=deepseek-v4-pro FIXED_SEARCH_LLM_FALLBACK_CHUNK_SIZE=10 FIXED_SEARCH_LLM_FALLBACK_CONCURRENCY=2 CHATBOT_INTENT_LLM_PROVIDER=mimo CHATBOT_INTENT_LLM_MODEL=mimo-v2.5 CHATBOT_INTENT_LLM_FALLBACK_PROVIDER=deepseek CHATBOT_INTENT_LLM_FALLBACK_MODEL=deepseek-v4-flash # 标准化统一使用 MiMo 批量分析,失败项降级 DeepSeek。 # ============================================= # 自动化服务配置 # ============================================= AUTOMATION_PORT=3030 STANDARDIZE_CONCURRENCY=1 LLM_QUEUE_MIN_INTERVAL_MS=3000 LLM_RETRY_MAX_ATTEMPTS=4 LLM_RETRY_BASE_DELAY_MS=1500 #设置每个组合词搜索的页面数量 SEARCH_FIXED_RUNTIME_PAGE_COUNT=1 SEARCH_PRESERVE_TASK_RUNTIME=1 FAST_SEARCH_CONTEXT_LAUNCH_TIMEOUT_MS=30000 FAST_SEARCH_CONTEXT_CLOSE_TIMEOUT_MS=10000 FAST_SEARCH_SKILL_HASH_MODE=warn FAST_SEARCH_ENGINE=searxng SEARXNG_BASE_URL=http://127.0.0.1:8888 # ============================================= # 1688 自动化,可选 # ============================================= LOGIN_1688_USER= LOGIN_1688_PASS= RESULT_LIMIT=10 CONTACT_MERCHANTS=0 HEADLESS=1 KEEP_BROWSER_OPEN=0 # 1688 Playwright 长期账户 profile 根目录;不同 Mac 服务器可配置为不同绝对路径 ALPHAPULSE_1688_PROFILE_ROOT=~/.1688-autoprocurement/1688-profiles # 固定搜索候选池动态补抓目标;实际目标为 min(该值, AI组合词数量 * 每词最大页数 * 60)。 FIXED_SEARCH_CANDIDATE_POOL_TARGET=500 # 每个 AI 搜索词最多动态翻页的安全上限;1688 后续页经常无数据,默认最多抓 3 页。 FIXED_SEARCH_MAX_PAGES_PER_KEYWORD=3 # ============================================================ # Hermes Agent API Server,可选 # ============================================================ HERMES_AGENT_ENABLED=1 HERMES_API_BASE_URL=http://127.0.0.1:8643/v1 HERMES_API_KEY=hermes-local-I_toehCQGxumhVvcuPHHJXHVzuI3cJcEMxKJfEjzuio HERMES_MODEL= HERMES_RUN_TIMEOUT_MS=3000000 HERMES_REQUEST_TIMEOUT_MS=30000 HERMES_REQUEST_MAX_ATTEMPTS=3 HERMES_CREATE_RUN_MAX_ATTEMPTS=3 HERMES_POLL_INTERVAL_MS=2000 HERMES_EVENT_STREAM_ENABLED=1 # Agent execution hard cap is 5. Legacy inputs up to 20 are parsed for compatibility # but API, CLI, UI, reruns and Scheduler always execute at min(requested, 5). HERMES_ITEM_CONCURRENCY=5 HERMES_OUTPUT_DIR=automation/output/agent-search-runs HERMES_SYSTEM_USER_EMAIL=hermes@local.system HERMES_SYSTEM_USER_DISPLAY_NAME=Hermes # Agent Search production selection budgets. These affect future runs only. AGENT_SEARCH_MULTI_ROUND_ENABLED=0 AGENT_SEARCH_COLLECTION_MAX_ROUNDS=4 AGENT_SEARCH_COLLECTION_ROUND_RAW_TARGET=2500 AGENT_SEARCH_MAX_PAGES_PER_QUERY=10 AGENT_SEARCH_COLLECTION_ROUND_TIMEOUT_MS=1350000 AGENT_SEARCH_COLLECTION_TIMEOUT_MS=5400000 AGENT_SEARCH_MAX_CANDIDATES_PER_SOURCE=10000 AGENT_SEARCH_MAX_CANDIDATES_PER_QUERY=2500 AGENT_SEARCH_MAX_CANDIDATES_PER_ITEM=10000 AGENT_SEARCH_SELECTION_BATCH_SIZE=250 AGENT_SEARCH_SELECTION_MAX_BATCHES=40 AGENT_SEARCH_LOW_YIELD_WINDOW=3 AGENT_SEARCH_LOW_YIELD_THRESHOLD=0 AGENT_SEARCH_MAX_ARTIFACT_INPUT_BYTES=67108864 # Future artifact policy. Historical artifacts are never changed by this policy. AGENT_SEARCH_ARTIFACT_MODE=compact AGENT_SEARCH_ARTIFACT_MAX_STAGE_RECORDS=10000 AGENT_SEARCH_ARTIFACT_MAX_SINGLE_BYTES=67108864 AGENT_SEARCH_ARTIFACT_RETENTION_DAYS=30 AGENT_SEARCH_ARTIFACT_DELETE_ENABLED=0 # Hermes API Server 使用的 profile 需允许 execute_code/代码执行审批; # 若 ~/.hermes/config.yaml 为 approvals.mode: manual 且无交互审批, # Agent 搜索会记录 diagnostics.approval_required=true,并可能返回空结果。 # ============================================================ # Agentic Web Tools,可选 # 默认关闭;开启后标准化弱结果可用网页证据 repair,搜索阶段可用 Firecrawl 补充 1688 候选 URL # ============================================================ AGENTIC_WEB_ENABLED=1 STANDARDIZATION_AGENTIC_WEB_ENABLED=1 SEARCH_AGENTIC_WEB_ENABLED=0 AGENTIC_WEB_SEARCH_BACKEND=firecrawl AGENTIC_WEB_EXTRACT_BACKEND=firecrawl FIRECRAWL_API_KEY=fc-1e5f8802cc444a71ab1f6dceb17b07e7 # 可选:自托管 Firecrawl FIRECRAWL_API_URL=https://api.firecrawl.dev AGENTIC_WEB_SEARCH_LIMIT=5 AGENTIC_WEB_EXTRACT_URL_LIMIT=3 AGENTIC_WEB_TIMEOUT_MS=60000 # ============================================================ # Project Skills,可选 # 将项目内 SKILL.md 作为受控提示词资产接入模型;只允许 web_search/web_extract,不执行本地脚本 # ============================================================ SKILLS_ENABLED=1 SKILL_ROOTS=automation/skills/catalog SKILL_ALLOWLIST=1688-identify-product-keywords,1688-find-product-links,1688-product-identification-search SKILL_TOOL_ALLOWLIST=web_search,web_extract SKILL_MAX_STEPS=6 # 智能询价 worker,可选 WORKER_BATCH_SIZE=5 WORKER_IDLE_SEC=30 MIMO_API_BASE=https://api.xiaomimimo.com/v1 MIMO_API_KEY=sk-c88tps5l3dflpe37qgizb2bzd167hie4r8x6johlnhryvagu MIMO_MODEL=mimo-v2.5 MIMO_LITELLM_MODEL=openai/mimo-v2.5 # ============================================================ # Supabase 降载与数据治理(2026-07,全部可选,列出值即默认值) # 背景与上线顺序见 docs/db-baseline-checklist.md # ============================================================ # --- 前端(Vite) --- # React Query 全局 staleTime(ms) VITE_RQ_STALE_TIME_MS=30000 # 轮询间隔(ms);设置后覆盖 realtime 健康度自适应(健康时 20s/120s) VITE_POLL_ACTIVE_MS=10000 VITE_POLL_IDLE_MS=60000 # realtime 失效合并窗口(ms) VITE_REALTIME_INVALIDATE_MS=3000 # --- agent-search 写收敛 --- # run 进度/hermes_run_ids 合并写间隔(ms),fast-search 复用同一变量 AGENT_SEARCH_DB_WRITE_COALESCE_MS=3000 # diagnostics 落库时机:terminal=仅 item 终态写一次;always=旧行为(回滚开关) AGENT_SEARCH_DB_DIAGNOSTICS_MODE=terminal # hermes_events/hermes_raw_output/raw_result 落库模式:summary=摘要+8KB 预览;full=整包(回滚开关) AGENT_SEARCH_DB_RAW_OUTPUT_MODE=summary # DB 写重试次数(默认从 5 降到 3,库饱和时减小重试放大) AGENT_SEARCH_DB_RETRY_MAX_ATTEMPTS=3 # 熔断:连续 N 次可重试失败 → open(后续执行准入关闭;已产生 mutation 仅经私有 Storage durable pending 回放) AGENT_SEARCH_DB_BREAKER_THRESHOLD=5 AGENT_SEARCH_DB_BREAKER_OPEN_MS=60000 AGENT_SEARCH_DB_BREAKER_DISABLED=0 # 进程级并发 DB 写上限(信号量) AGENT_SEARCH_DB_WRITE_CONCURRENCY=4 # Agent Search run=3 / item=15 / DB write=4 是数据库全局硬上限;满载立即 503,不接受内存排队,也不能用环境变量扩大。 # --- fast-search 写收敛 --- # product_links.detail 模式:slim=只存未平铺字段;full=整包 product(回滚开关) FAST_SEARCH_DETAIL_MODE=slim # stage_one_intent/stage_two_result 单列入库上限(字节),超限先写私有 Storage 双 hash 归档,再存摘要引用 # FAST_SEARCH_STAGE_PAYLOAD_MAX_BYTES=262144 # --- durable private automation archive (fixed private STANDARD bucket) --- SUPABASE_AUTOMATION_ARCHIVE_BUCKET=automation-archives # Must normalize to the same project origin as SUPABASE_URL; omit to reuse SUPABASE_URL. # SUPABASE_AUTOMATION_ARCHIVE_URL=https://your-project.supabase.co # Optional dedicated server-only key; accepts sb_secret_* or legacy JWT role=service_role only. # SUPABASE_AUTOMATION_ARCHIVE_KEY= # --- server --- # 询价任务汇总轮询间隔(ms),已改 SQL 聚合 RPC # INQUIRY_SUMMARY_POLL_MS=10000 # --- 数据保留清理器(默认关闭 + dry-run,启用步骤见 docs/db-baseline-checklist.md) --- # DB_RETENTION_ENABLED=0 # DB_RETENTION_DRY_RUN=1 # DB_RETENTION_WINDOW=02:00-06:00 # DB_RETENTION_MAX_BATCHES_PER_TABLE=20 # 单表覆盖:DB_RETENTION__ENABLED / _SCRUB_DAYS / _PURGE_DAYS(TABLE=表名大写) # 默认仅 SEARCH_TASK_STATUS_AUDIT 启用(purge 14 天),其余表需显式开启 # 阿里云智能外呼 OutboundBot # 兼容阿里云 SDK 通用变量名 ALIBABA_CLOUD_ACCESS_KEY_ID=LTAI5t7inVjztLWnDY6rSrhx ALIBABA_CLOUD_ACCESS_KEY_SECRET=XhkwEWP7H5QmiwRe9yWU0RbFTQPiyq # 当前项目外呼集成读取的变量名 ALIYUN_ACCESS_KEY_ID=LTAI5t7inVjztLWnDY6rSrhx ALIYUN_ACCESS_KEY_SECRET=XhkwEWP7H5QmiwRe9yWU0RbFTQPiyq ALIYUN_OUTBOUNDBOT_REGION_ID=cn-shanghai ALIYUN_OUTBOUNDBOT_ENDPOINT=outboundbot.cn-shanghai.aliyuncs.com ALIYUN_OUTBOUNDBOT_INSTANCE_ID=6c0187fa-b867-47d6-bca9-dde819fbacf0 ALIYUN_OUTBOUNDBOT_SCRIPT_ID=d7cda9db-6687-4502-bfef-2156de6b7050 ALIYUN_OUTBOUNDBOT_CALLING_NUMBERS=