Files

134 lines
6.7 KiB
Bash
Raw Permalink 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.
# MemeMeow 服务端配置。复制为 .env 后填写,密钥不会返回给前端。
# Compose 运行身份:start.sh 未显式设置时自动采用当前服务用户;直接 docker compose
# 必须手工填写实际的非 root UID/GID,不能使用 0 或空值。
MEMEMEOW_RUNTIME_UID=
MEMEMEOW_RUNTIME_GID=
# Agent 诊断文件每个达到指定容量时轮转,保留 14 天。
MEMEMEOW_AGENT_DIAGNOSTICS_ROTATION=200 MB
EMBEDDING_API_KEY=
EMBEDDING_BASE_URL=https://api.siliconflow.cn/v1
EMBEDDING_MODEL=BAAI/bge-m3
LLM_ENHANCE_MODEL=
# 独立图片命名进程,直接调用图片模型。
MEMEMEOW_AUTO_RENAME_BASE_URL=
MEMEMEOW_AUTO_RENAME_API_KEY=
MEMEMEOW_AUTO_RENAME_MODEL=mememeow/auto-rename
MEMEMEOW_AUTO_RENAME_POOL=default
MEMEMEOW_AUTO_RENAME_CONCURRENCY=10
MEMEMEOW_AUTO_RENAME_INTERVAL_SECONDS=30
MEMEMEOW_AUTO_RENAME_TIMEOUT_SECONDS=90
# 本地视觉检索:活动模型为官方 DINOv2 ViT-B/14。源码固定为官方提交,权重必须公开下载并只读挂载。
MEMEMEOW_VISUAL_MODEL=dinov2_vitb14
MEMEMEOW_VISUAL_DIMENSIONS=768
MEMEMEOW_VISUAL_PREPROCESS_VERSION=dinov2_vitb14-rgb224-first-frame-v1
# Compose 运行时会改用容器内固定路径 /opt/dinov2 和 /models;以下路径供宿主机夹具使用。
MEMEMEOW_VISUAL_MODEL_REPO=./data/dinov2
MEMEMEOW_VISUAL_WEIGHTS_PATH=./data/models/dinov2_vitb14_pretrain.pth
MEMEMEOW_VISUAL_WEIGHTS_DIR=./data/models
MEMEMEOW_VISUAL_WEIGHTS_SHA256=0b8b82f85de91b424aded121c7e1dcc2b7bc6d0adeea651bf73a13307fad8c73
# Compose 会覆盖为 mememeow-visual:8276;不要在容器内使用 127.0.0.1 访问视觉服务。
MEMEMEOW_VISUAL_INTERNAL_URL=http://127.0.0.1:8276/internal/visual-embedding
MEMEMEOW_VISUAL_HEALTH_URL=http://127.0.0.1:8276/health
MEMEMEOW_VISUAL_INTERNAL_TOKEN=
MEMEMEOW_VISUAL_CPU_THREADS=4
MEMEMEOW_VISUAL_CPU_INTEROP_THREADS=1
MEMEMEOW_VISUAL_CONCURRENCY=1
MEMEMEOW_VISUAL_MAX_PIXELS=25000000
MEMEMEOW_VISUAL_REQUEST_TIMEOUT_SECONDS=120
# 语境研究由共享 Agent executor 容器执行;宿主 OpenCode 可执行文件仅用于显式 host 回滚。
MEMEMEOW_OPENCODE_EXECUTABLE=opencode
MEMEMEOW_OPENCODE_BASE_URL=
MEMEMEOW_OPENCODE_API_KEY=
MEMEMEOW_AGENT_RUNTIME_MODE=executor
# Compose 内部服务地址由 docker-compose.yml 固定为 mememeow-agent-runtime:8277,启动脚本会覆盖此空值。
MEMEMEOW_AGENT_EXECUTOR_URL=
# Compose 会在 Docker named volume 中首次启动时生成随机 token;不要把 token 写入仓库。
# 仅显式 host 回滚模式需要手动取消注释并填入随机非空值。
# MEMEMEOW_AGENT_EXECUTOR_TOKEN=
# Compose 内部路径由 docker-compose.yml 注入,通常无需设置。
# MEMEMEOW_AGENT_EXECUTOR_TOKEN_FILE=
MEMEMEOW_AGENT_EXECUTOR_REQUEST_TIMEOUT_SECONDS=1810
MEMEMEOW_AGENT_EXECUTOR_MAX_TIMEOUT_SECONDS=1800
# 外部 workspace selector 的独立 capability 签名材料;不与 API/数据库密钥复用。
MEMEMEOW_WORKSPACE_CAPABILITY_KEY=
MEMEMEOW_OPENCODE_WORKSPACE_CAPABILITY_TTL_SECONDS=300
# OpenCode 明确 session 的自动续跑默认关闭;开启前请确认 provider 与副作用边界。
MEMEMEOW_AGENT_RESUME_ENABLED=false
MEMEMEOW_AGENT_RESUME_MAX_ATTEMPTS=2
MEMEMEOW_AGENT_RESUME_BACKOFF_SECONDS=2
MEMEMEOW_AGENT_RESUME_MAX_BACKOFF_SECONDS=60
MEMEMEOW_AGENT_RESUME_TIMEOUT_SECONDS=900
# Agent callback 根 secret;至少 16 字节,仅 API 读取并用于签发当前 Task 短期 token。
# 留空时 callback 保持不可用,不会回退到无认证或随机运行时凭据。
MEMEMEOW_AGENT_CALLBACK_SECRET=
# 可选旧 key 验证窗口,格式为 kid=secret,kid=secret;不参与新 token 签发。
MEMEMEOW_AGENT_CALLBACK_VERIFICATION_KEYS=
MEMEMEOW_AGENT_REVERSE_IMAGE_INTERNAL_URL=
# 模型由命令行 --model 传递;当前通用配置只注册此模型,研究任务固定使用 max 推理变体。
MEMEMEOW_OPENCODE_MODEL=mememeow/gpt-5.6-luna
MEMEMEOW_OPENCODE_RUNTIME_ROOT=./data/opencode
# 外部 provider 的受控 selector 根;目录由宿主适配层预装配。
MEMEMEOW_OPENCODE_WORKSPACE_ROOT=./data/opencode/workspaces
MEMEMEOW_OPENCODE_TIMEOUT_SECONDS=1800
# Agent lane 全局运行并发;必须为正整数,默认 1,修改后重启服务生效。队列不设数量门禁。
MEMEMEOW_OPENCODE_CONCURRENCY=1
# 单个持久 scope 的 Agent 同时运行上限;不得超过全局运行并发,由 PostgreSQL 公平 claim 强制,默认 1。
MEMEMEOW_AGENT_SCOPE_CONCURRENCY=1
# 设置页更新凭据;留空时设置 API 只读。
MEMEMEOW_SETTINGS_ADMIN_TOKEN=
# 指向预装 OpenCode 插件依赖;留空时使用项目根目录 .opencode/node_modules。
MEMEMEOW_OPENCODE_NODE_MODULES=./.opencode/node_modules
# Agent 结果文件协议:任务目录位于 data/opencode/task-results/<task_id>/。
MEMEMEOW_AGENT_RESULT_MAX_BYTES=1048576
MEMEMEOW_AGENT_RESULT_RETENTION_DAYS=14
MEMEMEOW_AGENT_RESULT_MAX_TASKS=500
# 联网图片检索默认使用 Google Vision Web Detection;只在明确设置为 serpapi 时读取 SerpApi。
MEMEMEOW_REVERSE_IMAGE_PROVIDER=google_vision
GOOGLE_CLOUD_PROJECT=
# 可选。留空时使用 Google ADC;填写时只由服务端读取,不能传给 Agent。
GOOGLE_APPLICATION_CREDENTIALS=
SERPAPI_API_KEY=
MEMEMEOW_REVERSE_IMAGE_CACHE_ROOT=./data/reverse_image_cache/web_detection
MEMEMEOW_DATA_ROOT=./data
MEMEMEOW_IMAGE_ROOT=./data/images
# 图片 bind mount 的宿主路径;测试或非仓库部署可改为受控绝对路径。
MEMEMEOW_IMAGE_ROOT_HOST=./data/images
MEMEMEOW_MAX_UPLOAD_SIZE=20971520
# GIF 按实际内容识别,原始输入最多 100MB,超过 10MB 自动压缩。
# 服务端强制每请求最多 20 个文件;并发值仅供客户端调度提示,服务端不以此字段限制在途请求。
# 总请求预算留空表示 disabled。
MEMEMEOW_MAX_FILES_PER_REQUEST=20
MEMEMEOW_MAX_CONCURRENT_UPLOAD_REQUESTS=2
MEMEMEOW_MAX_REQUEST_BYTES=134217728
# PostgreSQL 16 + pgvector(宿主机 database.sh 使用,固定监听回环地址 5434;Compose API 会覆盖为 postgres:5432)。
POSTGRES_DB=mememeow
POSTGRES_USER=mememeow
POSTGRES_PASSWORD=mememeow
MEMEMEOW_DATABASE_URL=postgresql+psycopg://mememeow:mememeow@127.0.0.1:5434/mememeow
# Adminer 数据库查看器的宿主机回环端口。
MEMEMEOW_DB_VIEWER_PORT=8080
# Adminer 主镜像可按部署环境覆盖;Docker Hub 不可达时,启动脚本会尝试备用镜像。
MEMEMEOW_DB_VIEWER_IMAGE=adminer:4
MEMEMEOW_DATABASE_POOL_SIZE=5
MEMEMEOW_DATABASE_MAX_OVERFLOW=10
MEMEMEOW_DATABASE_POOL_TIMEOUT=10
MEMEMEOW_DATABASE_POOL_RECYCLE=1800
MEMEMEOW_EMBEDDING_DIMENSIONS=1024
MEMEMEOW_WORKER_LEASE_SECONDS=120
MEMEMEOW_WORKER_HEARTBEAT_SECONDS=30
MEMEMEOW_WORKER_MAX_ATTEMPTS=3
MEMEMEOW_PROTECTED_MODE=false
MEMEMEOW_ALLOWED_ENDPOINTS=/,/health,/search,/config,/backend/settings,/tasks,/generate-cache,/images,/media
MEMEMEOW_RATE_LIMIT_ENABLED=false
MEMEMEOW_RATE_LIMIT_REQUESTS=60
MEMEMEOW_RATE_LIMIT_WINDOW=60