Files
assist/.env.example
zhaojie e3a0396567 feat: 新增飞书长连接模式,无需公网域名
## 🚀 重大更新

### 飞书集成升级
-  迁移到飞书官方 SDK 的事件订阅 2.0(长连接模式)
-  无需公网域名和 webhook 配置
-  支持内网部署
-  自动重连机制

### 核心功能优化
-  优化群聊隔离机制(每个用户在每个群独立会话)
-  增强日志输出(emoji 标记便于快速识别)
-  完善错误处理和异常恢复
-  添加 SSL 证书问题解决方案

### 新增文件
- `src/integrations/feishu_longconn_service.py` - 飞书长连接服务
- `start_feishu_bot.py` - 启动脚本
- `test_feishu_connection.py` - 连接诊断工具
- `docs/FEISHU_LONGCONN.md` - 详细使用文档
- `README.md` - 项目说明文档

### 技术改进
- 添加 lark-oapi==1.3.5 官方 SDK
- 升级 certifi 包以支持 SSL 验证
- 优化配置加载逻辑
- 改进会话管理机制

### 文档更新
- 新增飞书长连接模式完整文档
- 更新快速开始指南
- 添加常见问题解答(SSL、权限、部署等)
- 完善架构说明和技术栈介绍

## 📝 使用方式

启动飞书长连接服务(无需公网域名):
```bash
python3 start_feishu_bot.py
```

详见:docs/FEISHU_LONGCONN.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 14:10:18 +08:00

127 lines
4.3 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.example
# This file contains all the environment variables needed to run the application.
# Copy this file to .env and fill in the values for your environment.
# ============================================================================
# SERVER CONFIGURATION
# ============================================================================
# The host the web server will bind to.
SERVER_HOST=0.0.0.0
# The port for the main Flask web server.
SERVER_PORT=5001
# The port for the WebSocket server for real-time chat.
WEBSOCKET_PORT=8765
# Set to "True" for development to enable debug mode and auto-reloading.
# Set to "False" for production.
DEBUG_MODE=False
# Logging level for the application. Options: DEBUG, INFO, WARNING, ERROR, CRITICAL
LOG_LEVEL=INFO
# ============================================================================
# DATABASE CONFIGURATION
# ============================================================================
# The connection string for the primary database.
# Format for MySQL: mysql+pymysql://<user>:<password>@<host>:<port>/<dbname>?charset=utf8mb4
# Format for SQLite: sqlite:///./local_test.db
# 使用本地 SQLite推荐用于开发和测试
DATABASE_URL=sqlite:///./data/tsp_assistant.db
# 远程 MySQL生产环境使用需要时取消注释
# DATABASE_URL=mysql+pymysql://tsp_assistant:123456@jeason.online/tsp_assistant?charset=utf8mb4
# ============================================================================
# LARGE LANGUAGE MODEL (LLM) CONFIGURATION
# ============================================================================
# The provider of the LLM. Supported: "qwen", "openai", "anthropic"
LLM_PROVIDER=qwen
# The API key for your chosen LLM provider.
LLM_API_KEY=sk-c0dbefa1718d46eaa897199135066f00
# The base URL for the LLM API. This is often needed for OpenAI-compatible endpoints.
LLM_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
# The specific model to use, e.g., "qwen-plus-latest", "gpt-3.5-turbo", "claude-3-sonnet-20240229"
LLM_MODEL=qwen-plus-latest
# The temperature for the model's responses (0.0 to 2.0).
LLM_TEMPERATURE=0.7
# The maximum number of tokens to generate in a response.
LLM_MAX_TOKENS=2000
# The timeout in seconds for API calls to the LLM.
LLM_TIMEOUT=30
# ============================================================================
# FEISHU (LARK) INTEGRATION CONFIGURATION
# ============================================================================
# The App ID of your Feishu enterprise application.
FEISHU_APP_ID=cli_a8b50ec0eed1500d
# The App Secret of your Feishu enterprise application.
FEISHU_APP_SECRET=ccxkE7ZCFQZcwkkM1rLy0ccZRXYsT2xK
# The Verification Token for validating event callbacks (if configured).
FEISHU_VERIFICATION_TOKEN=
# The Encrypt Key for decrypting event data (if configured).
FEISHU_ENCRYPT_KEY=
# The App Token of the Feishu multi-dimensional table document.
FEISHU_APP_TOKEN=XXnEbiCmEaMblSs6FDJcFCqsnIg
# The ID of the Feishu multi-dimensional table for data synchronization.
FEISHU_TABLE_ID=tblnl3vJPpgMTSiP
# ============================================================================
# AI ACCURACY CONFIGURATION
# ============================================================================
# The similarity threshold (0.0 to 1.0) for auto-approving an AI suggestion.
AI_AUTO_APPROVE_THRESHOLD=0.95
# The similarity threshold below which the human-provided resolution is preferred.
AI_USE_HUMAN_RESOLUTION_THRESHOLD=0.90
# The similarity threshold for flagging a suggestion for manual review.
AI_MANUAL_REVIEW_THRESHOLD=0.80
# The default confidence score for an AI suggestion.
AI_SUGGESTION_CONFIDENCE=0.95
# The confidence score assigned when a human resolution is used.
AI_HUMAN_RESOLUTION_CONFIDENCE=0.90
# ============================================================================
# REDIS CACHE CONFIGURATION
# ============================================================================
# Redis server host (use localhost for local development)
REDIS_HOST=localhost
# Redis server port
REDIS_PORT=6379
# Redis database number (0-15)
REDIS_DB=0
# Redis password (leave empty if no password)
REDIS_PASSWORD=
# Redis connection pool size
REDIS_POOL_SIZE=10
# Redis cache default TTL in seconds (3600 = 1 hour)
REDIS_DEFAULT_TTL=3600
# Enable Redis cache (set to False to disable caching)
REDIS_ENABLED=True