# Bot 基本信息 BOT_NAME=小蜗AI助手 BOT_USERNAME=snaily_ai_bot BOT_DESCRIPTION=一个可爱又可靠的AI助手,像小蜗牛一样稳重踏实,支持智能对话、绘画创作、信息搜索和群聊管理 # Telegram 配置 TELEGRAM_BOT_TOKEN=YOUR_BOT_TOKEN_HERE TELEGRAM_ADMIN_USER_IDS=123456789 # AI 配置(推荐在 Web 面板管理;完整结构见 docs/ai-configuration.md) # AI_SERVICES_JSON 使用 schema_version=2,可分别配置文本/绘图提供商和 MCP。 # 从环境加载时优先使用 AI_SERVICES_JSON;已保存的 Redis 配置仍优先于环境。 # AI_SERVICES_JSON='{"schema_version":2,"text":{"providers":[],"models":[],"chat_model_id":"","task_model_id":""},"drawing":{"providers":[],"models":[],"active_model_id":""},"mcp":{"enabled":false,"servers":[]}}' # 兼容旧 OpenAI 配置 (支持多组配置) # 您可以通过环境变量 OPENAI_CONFIGS_JSON 来配置多组 OpenAI 服务。 # 这是一个 JSON 字符串的例子,请根据需要进行修改和转义。 # OPENAI_CONFIGS_JSON='[{"name": "主配置", "api_key": "sk-...", "api_base_url": "https://api.openai.com/v1", "model": "gpt-4o"}, {"name": "备用配置", "api_key": "sk-...", "api_base_url": "https://api.groq.com/openai/v1", "model": "llama3-70b-8192"}]' # 如果不使用 JSON 配置,也可以使用以下环境变量来配置第一个(默认)服务。 OPENAI_API_KEY=YOUR_OPENAI_API_KEY_HERE OPENAI_API_BASE_URL=https://api.openai.com/v1 OPENAI_MODEL=gpt-3.5-turbo # 可选参数:留空表示不发送。推理模型通常不接受旧 max_tokens/temperature。 # 需要输出上限时,建议在面板选择协议对应的 token 字段。 OPENAI_MAX_TOKENS= OPENAI_TEMPERATURE= # 媒体能力:独立连接,默认关闭;需要安装 ffmpeg / ffprobe。 # 仅首次从环境初始化且 AI_SERVICES_JSON 未指定对应分区时使用。 # 必须填写所选服务支持的模型 ID;不沿用 OPENAI_API_KEY。 ASR_ENABLED=false ASR_API_BASE_URL=https://api.openai.com/v1 ASR_API_KEY= ASR_MODEL= ASR_TIMEOUT=60 TTS_ENABLED=false TTS_API_BASE_URL=https://api.openai.com/v1 TTS_API_KEY= TTS_MODEL= TTS_VOICE=alloy TTS_TIMEOUT=60 VISION_ENABLED=false VISION_API_BASE_URL=https://api.openai.com/v1 VISION_API_KEY= VISION_MODEL= VISION_API_TYPE=chat_completions VISION_TIMEOUT=60 # 旧绘图配置(首次迁移时复制文本凭证,之后独立;新用户请在绘图页配置提供商) DRAWING_MODEL=dall-e-3 DRAWING_SIZE=1024x1024 DRAWING_QUALITY=standard # 搜索配置 SEARCH_ENABLED=true SEARCH_MAX_RESULTS=5 # 联网搜索服务(也可在 Web 面板「联网搜索」中配置;面板中已保存服务时不再读取以下密钥) # 填写任意一个即可启用真实联网搜索;都不填时 /search 退回 AI 知识库回答。 EXA_API_KEY= TAVILY_API_KEY= FIRECRAWL_API_KEY= # 首选服务:exa / tavily / firecrawl,留空使用第一个已配置的服务 SEARCH_PROVIDER= # 用任务模型整理搜索结果并标注来源;关闭后只列出搜索结果 SEARCH_SUMMARIZE=true # 首选服务失败或无结果时,自动尝试其他已配置的服务 SEARCH_FALLBACK=true # 功能配置 - 欢迎消息 WELCOME_MESSAGE_ENABLED=true WELCOME_MESSAGE=欢迎 {user_name} 加入群聊!🎉\n\n我是群助手机器人,可以帮助您:\n• 💬 智能对话 - 使用 /chat 开始对话\n• 🎨 AI绘画 - 使用 /draw 创作图片\n• 🔍 联网搜索 - 使用 /search 搜索信息\n• 📝 群聊总结 - 定时总结群聊内容\n\n输入 /help 查看更多功能! # 功能配置 - 自动总结 AUTO_SUMMARY_ENABLED=true AUTO_SUMMARY_INTERVAL_HOURS=24 AUTO_SUMMARY_MIN_MESSAGES=50 AUTO_SUMMARY_PROMPT=请总结以下群聊对话的主要内容和话题: # 功能配置 - 聊天 CHAT_ENABLED=true CHAT_SYSTEM_PROMPT=你是一个友善、有帮助的AI助手。请用简洁明了的中文回答用户的问题。 # Enable or disable chat history feature (true/false) CHAT_HISTORY_ENABLED=true # Set the max length of chat history to be used CHAT_HISTORY_MAX_LENGTH=10 # Enable auto reply in private chats (true/false) - 启用私聊自动回复功能 # 当设置为 true 时,用户在私聊中发送任何消息都会触发 AI 对话,无需使用 /chat 命令 CHAT_AUTO_REPLY_PRIVATE=false # 功能配置 - 绘画 DRAWING_ENABLED=true DRAWING_DAILY_LIMIT=10 # 功能配置 - 搜索 SEARCH_FEATURE_ENABLED=true SEARCH_DAILY_LIMIT=20 # Web 应用配置 WEBAPP_HOST=0.0.0.0 WEBAPP_PORT=5000 # Web 应用登录配置 SECRET_KEY=your-flask-secret-key-here WEB_USERNAME=admin WEB_PASSWORD=your-secure-password-here # Render Webhook URL 配置 RENDER_WEBHOOK_URL= # 日志配置 LOGGING_LEVEL=INFO LOGGING_FILE=logs/bot.log # Redis 配置 # 优先使用 REDIS_URL(支持 Upstash 等云服务,包含完整连接信息) # REDIS_URL=redis://username:password@hostname:port/database # REDIS_URL=rediss://username:password@hostname:port/database # SSL/TLS 连接 # 备用配置:分别设置 Redis 连接参数(当 REDIS_URL 未设置时使用) REDIS_HOST= REDIS_PORT= REDIS_DB= # (Optional) Enable auto-reply in private chats. Defaults to False. AUTO_REPLY_PRIVATE=False # (Optional) The threshold for switching to MarkdownV2. Messages shorter than this use Markdown. Defaults to 1024. SHORT_MESSAGE_THRESHOLD=1024 # (Optional) Enable automatic cleanup of old chat history. Defaults to False. HISTORY_CLEANUP_ENABLED=False # (Optional) Retention period in days for chat history when cleanup is enabled. Defaults to 30. HISTORY_CLEANUP_RETENTION_DAYS=30 # (Optional) linux.do 热门帖推送。周期可选 daily/weekly/monthly/quarterly/yearly/all。 LINUXDO_PUSH_ENABLED=false LINUXDO_PUSH_PERIOD=daily LINUXDO_PUSH_SCHEDULE=09:30 # 推送条数,1-30,自动跳过置顶帖。 LINUXDO_PUSH_LIMIT=10 # 多个 ID 用英文逗号分隔;留空时沿用 TELEGRAM_PUSH_CHAT_ID。 LINUXDO_PUSH_CHAT_ID= # 留空使用 https://linux.do/top.rss?period={period};服务器被 Cloudflare 拦截时可改为自建 RSSHub 地址。 LINUXDO_FEED_URL= # 为每条帖子生成 AI 摘要(使用任务模型,会消耗额度)。 LINUXDO_AI_SUMMARY=false LINUXDO_SHOW_EXCERPT=true