# 数据库配置 DB_HOST=localhost DB_PORT=5432 DB_NAME=autodev DB_USER=autodev DB_PASSWORD=autodev123 # 服务器配置 # 3010 不是 3000:server/config.js 的默认值是 3010,web/vite.config.js 的代理目标 # 也硬编码打 3010。这里写 3000 的话,npm run setup 装出来的环境里前端每个 API 调用都会 502。 PORT=3010 HOST=0.0.0.0 # CORS_ORIGIN=http://localhost:5173,https://your-domain.com # 会话签名密钥(必填) # server/middleware/jwt-auth.js 用它签发登录 cookie。**不设它会静默降级到代码里的 # 兜底值**,而那个兜底值提交在仓库里——任何读过这个仓库的人都能伪造任意用户的会话 # (用户 id 是自增小整数,从 1 试起就能命中)。NODE_ENV=production 时不设它会拒绝启动。 # 生成一个:openssl rand -hex 32 JWT_SECRET=change-me-openssl-rand-hex-32 # WhatsApp Bot export WHATSAPP_TRIGGER=@Andy export WHATSAPP_BOT_NAME=Andy export WHATSAPP_SELF_CHAT=true # agent-chat 会话池:空闲多久回收一个常驻 claude CLI 子进程(毫秒,默认 30 分钟) # 调小能更快释放内存,代价是多轮对话更容易冷启动重注入历史。 # 一次性调用(心跳 / 日程 / 告警 / 日报)不受这个值影响,它们跑完即回收。 # AGENT_SESSION_IDLE_MS=1800000 # Open API(外部接入) # 逗号分隔的 API Key 列表 OPEN_API_KEYS=sk-your-key-1,sk-your-key-2 # 飞书 Bot(统一配置,同时供 Python Bot 和 OpenClaw 插件使用) export FEISHU_APP_ID=cli_xxx export FEISHU_APP_SECRET=your_app_secret export FEISHU_USER_ID=your_open_id export FEISHU_VERIFICATION_TOKEN=your_verification_token export FEISHU_ENCRYPT_KEY=your_encrypt_key export FEISHU_MODE=ws # export FEISHU_ALLOW_FROM=ou_xxx,ou_yyy # 跑全量测试前关掉后台驱动(两路心跳 / 任务队列扫描 / 中断恢复)。 # 它们会往 system/agents//// 建运行态目录, # 扫描 system/agents/ 的守卫测试会被这个瞬时竞态打成偶发假失败。 # 用法:DISABLE_BACKGROUND_AGENTS=1 bash start.sh # # 故意**不在这里赋空值**:start.sh 是 `set -a; source .env` 加载的, # .env 里只要存在同名键(哪怕是空的),就会盖掉命令行传进来的 =1,而且不报错。