Files
MemeMeow/.env.example
infstellar 5ecda39843 Add unit tests for image processing worker, operation policy, reverse image provider, and scope handling
- Implement tests for the ImageProcessingWorker to validate task deduplication and policy interactions.
- Create tests for operation policy to ensure proper grant handling and error responses.
- Add tests for reverse image provider response structure to validate empty and malformed results.
- Develop comprehensive tests for scope resolution and service validation to ensure correct behavior in various scenarios.
2026-08-17 12:50:29 +08:00

91 lines
4.6 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 后填写,密钥不会返回给前端。
EMBEDDING_API_KEY=
EMBEDDING_BASE_URL=https://api.siliconflow.cn/v1
EMBEDDING_MODEL=BAAI/bge-m3
LLM_ENHANCE_MODEL=
# 本地视觉检索:活动模型为官方 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_SEARCH_INTERNAL_URL=http://127.0.0.1:8275/internal/visual-search/match
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_CONTAINER_NAME=mememeow-agent-runtime
MEMEMEOW_AGENT_RUNTIME_MODE=executor
# Compose 内部服务地址由 docker-compose.yml 固定为 mememeow-agent-runtime:8277,启动脚本会覆盖此空值。
MEMEMEOW_AGENT_EXECUTOR_URL=
# Compose 会在 Docker named volume 中首次启动时生成随机 token;不要把 token 写入仓库。
# 仅旧版 host/dedicated 运维模式需要手动取消注释并填入随机非空值。
# 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
# 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=
MEMEMEOW_AGENT_VISUAL_SEARCH_INTERNAL_URL=
# 模型由命令行 --model 传递;当前通用配置只注册此模型,研究任务固定使用 max 推理变体。
MEMEMEOW_OPENCODE_MODEL=mememeow/gpt-5.6-luna
MEMEMEOW_OPENCODE_RUNTIME_ROOT=./data/opencode
MEMEMEOW_OPENCODE_TIMEOUT_SECONDS=1800
# Agent lane 并发上限,安全范围 1..8;默认 1,修改后重启服务生效。
MEMEMEOW_OPENCODE_CONCURRENCY=1
MEMEMEOW_AGENT_BACKPRESSURE=32
# 设置页更新凭据;留空时设置 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
# SerpApi Google Lens 图片检索,可选;仅服务端和 Agent 运行环境读取。
SERPAPI_API_KEY=
MEMEMEOW_REVERSE_IMAGE_CACHE_ROOT=./data/reverse_image_cache/serpapi_google_lens
MEMEMEOW_DATA_ROOT=./data
MEMEMEOW_IMAGE_ROOT=./data/images
MEMEMEOW_MAX_UPLOAD_SIZE=20971520
# PostgreSQL 16 + pgvector(宿主机 database.sh 使用,固定监听回环地址 5434;Compose API 会覆盖为 postgres:5432)。
MEMEMEOW_DATABASE_URL=postgresql+psycopg://mememeow:mememeow@127.0.0.1:5434/mememeow
# Adminer 数据库查看器的宿主机回环端口。
MEMEMEOW_DB_VIEWER_PORT=8080
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