# 唯一的百炼 DashScope Key,所有模型探测共用 api_key: "sk-xxxx" # 检测频次:每隔多少分钟跑一轮(360 = 每 6 小时一次) interval_minutes: 720 # ================= 邮箱(收 + 发) ================= mail: imap_host: "imap.exmail.qq.com" imap_port: 993 inbox_folder: "INBOX" # 已发送文件夹;腾讯企业邮为 "Sent Messages",程序会自动回退尝试 # "Sent Messages" -> "Sent" -> "已发送" sent_folder: "Sent Messages" smtp_host: "smtp.exmail.qq.com" smtp_port: 465 # 465=SSL;587 时把 smtp_ssl 改成 false smtp_ssl: true username: "cat@example.com" password: "1234567" # 发出下线告警后,额外用 IMAP APPEND 归档到已发送文件夹。 # 保持 true 可确保去重标记一定存在(部分邮箱 SMTP 发信不会自动归档到已发送) append_to_sent: true # 下线通知转发 + 可用性告警的群发收件人列表 notify_emails: - "user@qq.com" # ================= 模块 A:模型下线通知检测 ================= # 逻辑:近 N 天收件箱中,发件人域名属于 sender_domains 且正文/标题含 keyword 的邮件即为需告警; # (状态存在已发送邮件里,本地不落盘) offline_notice: keyword: "模型下线通知" # 发件人**域名**白名单(不是完整邮箱地址)。 # 只校验域名,好处是:阿里云换了哪个具体邮箱号发都能收到,不会因为地址填错而漏消息; # 同时又拦住了外部陌生人发含关键词的骚扰邮件。 # 匹配规则:域名相等或为其子域。aliyun.com 可命中 mail.aliyun.com, # 但不会命中 notaliyun.com、aliyun.com.evil.cn。 sender_domains: - "gxx12138.space" # 联调测试用 - "aliyun.com" # 正式上线打开 # - "aliyuncs.com" lookback_days: 3 # ================= 模块 B:模型可用性检测 ================= # 按 API 端点分类,你只需要往对应分组的 models 列表里填模型名。 # 端点地址/探测参数已内置默认值(见 config.py 的 ENDPOINTS),需要覆盖时在分组下写同名字段即可。 models: # 文本对话:https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions chat: enabled: true models: - "qwen3.5-plus" - "qwen3.5-flash" # 文本转语音:wss://dashscope.aliyuncs.com/api-ws/v1/inference/ # 只建连接 + 等 task-started,不发送待合成文本,所以基本不产生用量 tts: enabled: true voice: "longxiaochun_v2" # 音色需与模型匹配,报错 InvalidParameter 时改这里 models: - "cosyvoice-v3-flash" # 语音转文本:https://dashscope.aliyuncs.com/api/v1/services/audio/asr/transcription asr: enabled: true models: - "fun-asr" # 文生图:https://dashscope.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis text2image: enabled: true # probe_mode: # validate(默认,推荐)不传 prompt。阿里云是"先解析模型、再校验参数"的顺序, # 所以模型在线会返回 400 "input.prompt should not be null",模型下线返回 # 400 "Model not exist.",两者可区分 —— 不出图、零费用。 # submit 真实提交生成任务,端到端验证,但会产生生成费用。 probe_mode: "validate" models: - "wan2.2-t2i-flash" # 文生视频:https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis # 视频生成单次费用远高于其他端点,务必保持 probe_mode: validate text2video: enabled: true probe_mode: "validate" models: - "wanx2.1-t2v-turbo" # ================= 钉钉机器人 ================= # 凭证二选一:推荐只填 access_token;也可把整条 webhook 粘进 webhook 字段。 # 支持 ${ENV} 注入,例如 access_token: "${DINGTALK_DEV_NOTIFY_TOKEN}" dingtalk: enabled: true # 运维工作提醒机器人 dev_notify access_token: "ss-xxx" secret: "as-xxx" webhook: "" # 留空则用官方地址 oapi.dingtalk.com/robot/send at_all: false # true = @所有人 timeout_seconds: 15 at_mobiles: # 需要 @ 的成员手机号 # - "13800000000"