Files
whale-town-end/.env.example
angjustinl 55cfda0532 feat(zulip): 添加全面的 Zulip 集成系统
* **新增 Zulip 模块**:包含完整的集成服务,涵盖客户端池(client pool)、会话管理及事件处理。
* **新增 WebSocket 网关**:用于处理 Zulip 的实时事件监听与双向通信。
* **新增安全服务**:支持 API 密钥加密存储及凭据的安全管理。
* **新增配置管理服务**:支持配置热加载(hot-reload),实现动态配置更新。
* **新增错误处理与监控服务**:提升系统的可靠性与可观测性。
* **新增消息过滤服务**:用于内容校验及速率限制(流控)。
* **新增流初始化与会话清理服务**:优化资源管理与回收。
* **完善测试覆盖**:包含单元测试及端到端(e2e)集成测试。
* **完善详细文档**:包括 API 参考手册、配置指南及集成概述。
* **新增地图配置系统**:实现游戏地点与 Zulip Stream(频道)及 Topic(话题)的逻辑映射。
* **新增环境变量配置**:涵盖 Zulip 服务器地址、身份验证及监控相关设置。
* **更新 App 模块**:注册并启用新的 Zulip 集成模块。
* **更新 Redis 接口**:以支持增强型的会话管理功能。
* **实现 WebSocket 协议支持**:确保与 Zulip 之间的实时双向通信。
2025-12-25 22:22:30 +08:00

113 lines
3.1 KiB
Plaintext
Raw 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.
# 环境配置模板
# 复制此文件为 .env 并根据需要修改配置
# ===========================================
# 测试模式配置(开发/测试环境推荐)
# ===========================================
# 使用以下配置可以在没有数据库和邮件服务器的情况下进行测试
# 1. 复制此文件为 .env
# 2. 保持数据库和邮件配置为注释状态
# 3. 运行 npm run dev 启动服务
# 4. 运行测试脚本:./test-api.ps1 (Windows) 或 ./test-api.sh (Linux/macOS)
# 应用配置
NODE_ENV=development
PORT=3000
LOG_LEVEL=debug
# JWT 配置
JWT_SECRET=test_jwt_secret_key_for_development_only_32chars
JWT_EXPIRES_IN=7d
# Redis 配置(测试模式:使用文件存储)
USE_FILE_REDIS=true
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=
REDIS_DB=0
# ===========================================
# 生产环境配置(取消注释并填入真实数据)
# ===========================================
# 数据库配置(生产环境取消注释)
# DB_HOST=your_mysql_host
# DB_PORT=3306
# DB_USERNAME=your_db_username
# DB_PASSWORD=your_db_password
# DB_NAME=your_db_name
# Redis 配置(生产环境取消注释并设置 USE_FILE_REDIS=false
# USE_FILE_REDIS=false
# REDIS_HOST=your_redis_host
# REDIS_PORT=6379
# REDIS_PASSWORD=your_redis_password
# REDIS_DB=0
# 邮件服务配置(生产环境取消注释)
# EMAIL_HOST=smtp.gmail.com
# EMAIL_PORT=587
# EMAIL_SECURE=false
# EMAIL_USER=your_email@gmail.com
# EMAIL_PASS=your_app_password
# EMAIL_FROM="Whale Town Game" <noreply@whaletown.com>
# 生产环境设置(生产环境取消注释)
# NODE_ENV=production
# LOG_LEVEL=info
# ===========================================
# Zulip 集成配置
# ===========================================
# Zulip 服务器配置
ZULIP_SERVER_URL=https://zulip.xinghangee.icu/
ZULIP_BOT_EMAIL=cbot-bot@zulip.xinghangee.icu
ZULIP_BOT_API_KEY=your_bot_api_key
# Zulip API Key加密密钥生产环境必须配置至少32字符
# ZULIP_API_KEY_ENCRYPTION_KEY=your_32_character_encryption_key_here
# Zulip 错误处理配置
ZULIP_DEGRADED_MODE_ENABLED=false
ZULIP_AUTO_RECONNECT_ENABLED=true
ZULIP_MAX_RECONNECT_ATTEMPTS=5
ZULIP_RECONNECT_BASE_DELAY=5000
ZULIP_API_TIMEOUT=30000
ZULIP_MAX_RETRIES=3
# Zulip 连接限制配置
ZULIP_MAX_CONNECTIONS=100
ZULIP_SESSION_TIMEOUT=30
ZULIP_CLEANUP_INTERVAL=5
# Zulip 消息配置
ZULIP_MESSAGE_RATE_LIMIT=10
ZULIP_MESSAGE_MAX_LENGTH=10000
ZULIP_CONTENT_FILTER_ENABLED=true
# ZULIP_SENSITIVE_WORDS_PATH=config/zulip/sensitive-words.txt
# Zulip 允许的Stream列表逗号分隔空表示允许所有
# ZULIP_ALLOWED_STREAMS=General,Novice Village,Tavern
# WebSocket配置
# WEBSOCKET_PORT=3000
# WEBSOCKET_NAMESPACE=/game
# WEBSOCKET_PING_INTERVAL=25000
# WEBSOCKET_PING_TIMEOUT=5000
# ===========================================
# 监控配置
# ===========================================
# 健康检查间隔(毫秒)
MONITORING_HEALTH_CHECK_INTERVAL=60000
# 错误率阈值0-1
MONITORING_ERROR_RATE_THRESHOLD=0.1
# API响应时间阈值毫秒
MONITORING_RESPONSE_TIME_THRESHOLD=5000
# 内存使用阈值0-1
MONITORING_MEMORY_THRESHOLD=0.9