本项目推荐使用 Docker Compose 一键拉起:
redis:会话/状态持久化neo4j:RAG 图谱与混合检索后端sentra-agent:主服务sentra-emo:可选的情绪分析服务(profile)sentra-config-ui:可选的配置/运维面板(profile,推荐)
说明:Sentra Agent 需要连接你的 OneBot/NapCat WebSocket(QQ 平台)。该服务通常运行在宿主机或另一台机器上。
在 docker-compose.yml 中,默认使用:
WS_HOST=host.docker.internalWS_PORT=6702
如果你的 OneBot 不在宿主机:
- 把
WS_HOST改为 OneBot 所在机器的 IP/域名
docker-compose.yml 默认:
NEO4J_AUTH=neo4j/please_change_meRAG_NEO4J_PASSWORD=please_change_me
你需要把这两处改成一致的新密码。
Sentra Agent 读取根目录 .env(或环境变量)。至少需要:
API_BASE_URLAPI_KEYMAIN_AI_MODEL
建议复制 .env.example 为 .env 后按需修改。
docker compose up -d --builddocker compose --profile emo up -d --buildConfig UI 用于:
- 可视化管理各模块
.env/.env.example - 管理 Redis(查看/编辑 key、排查状态)
- 查看服务状态与日志(以 UI 的能力为准)
启动:
docker compose --profile ui up -d --build默认端口:
- UI 后端: http://localhost:7245
安全说明:
docker-compose.yml里为 UI 配了SECURITY_TOKEN,请务必修改为强口令。- UI 通过挂载
./:/repo来读写各模块的.env文件(这是它能“管理配置”的关键)。
注意:在 Docker 模式下,UI 更适合做“配置与运维面板”。 真正的服务启停建议仍以
docker compose up/down为准,避免容器内 PM2 去管理宿主机进程导致混乱。
- Redis:
localhost:6379 - Neo4j Browser: http://localhost:7474 (账号
neo4j,密码为你设置的密码) - Emo(可选): http://localhost:7200/health
Compose 已配置命名卷:
sentra_redis_datasentra_neo4j_datasentra_neo4j_logs
容器重建不会丢数据。
检查:
- OneBot/NapCat 服务是否在宿主机
6702端口监听 - Windows / WSL 网络环境下,
host.docker.internal是否可用 - 若 OneBot 在另一台机器:把
WS_HOST改成真实 IP
第一次初始化会较慢;同时确保机器内存足够。你也可以调小 compose 里的 heap/pagecache 配置。