# 复制为 .env 后按需修改;.env 不进仓库 ENV=dev APP_NAME=达道Task # ── 数据库 ─────────────────────────────────────────────────────────── # 应用角色(受 RLS 约束)—— 应用进程只能用它 DATABASE_URL=postgresql+asyncpg://dadao_app:dadao_dev_pw@127.0.0.1:5433/dadaotask # 迁移角色(owner,绕过 RLS)—— 只有 alembic 用 MIGRATION_DATABASE_URL=postgresql+asyncpg://dadao_owner:dadao_dev_pw@127.0.0.1:5433/dadaotask # 团队共享库(fnsvr-01,PostgreSQL 17.6)。断网时用上面的本机便携 PG。 # DATABASE_URL=postgresql+asyncpg://dadao_app:dadao_dev_pw@192.168.8.160:8432/dadaotask # MIGRATION_DATABASE_URL=postgresql+asyncpg://dadao_owner:dadao_dev_pw@192.168.8.160:8432/dadaotask # 测试库必须独立:测试会 TRUNCATE 所有表,打到开发库上数据就没了 # TEST_DATABASE_URL=postgresql+asyncpg://dadao_app:dadao_dev_pw@192.168.8.160:8432/dadaotask_test # TEST_MIGRATION_DATABASE_URL=postgresql+asyncpg://dadao_owner:dadao_dev_pw@192.168.8.160:8432/dadaotask_test REDIS_URL=redis://127.0.0.1:6380/0 # ── 认证 ───────────────────────────────────────────────────────────── # 生产环境启动时会校验:JWT_SECRET 不得是默认值且长度 ≥ 32 JWT_SECRET=dev-only-change-me ACCESS_TOKEN_MINUTES=30 REFRESH_TOKEN_DAYS=14 # 生产环境禁止 SMS_PROVIDER=dev(否则任意验证码可登录),启动即失败; # 内网试用确需固定验证码时显式设置 INTERNAL_TEST_LOGIN=true(启动会打 WARNING) SMS_PROVIDER=dev SMS_DEV_CODE=123456 INTERNAL_TEST_LOGIN=false # 同一手机号两次发码的最小间隔(秒),测试里置 0 可关闭 SMS_THROTTLE_SECONDS=60 CORS_ORIGINS=http://localhost:5180,http://127.0.0.1:5180 # 生产单端口部署:后端直接托管前端构建产物(同源,可留空 CORS) # 留空则只提供 API;部署方式见 2.Design/DEPLOY.md # WEB_DIST_DIR=/home/openclaw/app/dadaotask/web/dist # ── 知识库向量库(独立的 PG + pgvector,M3 起用)────────────────────── # 单独实例,不动 fnsvr-01:那台没有 pgvector,且向量检索吃内存,不该和业务库挤。 # 起法见 deploy/docker-compose.vector.yml。不配则 M3 的语义检索能力直接不可用。 # VECTOR_DATABASE_URL=postgresql+asyncpg://dadao_app:dadao_dev_pw@127.0.0.1:5434/dadao_knowledge # EMBEDDING_DIM=1024 # EMBEDDING_MODEL=BAAI/bge-m3