项目主页 · 多平台通知配置 · 内联变量参考 · 开发手册 · API 参考
TaskNya 是一款通用任务监控工具:通过单文件、日志、GPU 功耗、目录变化等多种方式感知任务状态,在条件满足时通过飞书、企业微信、邮件、通用 Webhook 等渠道推送通知。具体各渠道的填参方式与平台侧开通步骤见 多平台通知配置;模板与 JSON 中可用的 ${变量名} 见 内联变量参考。
可选用以下任一方式运行 Web 管理界面(默认一般为 http://localhost:5000,以启动日志为准):
-
Windows 可执行文件
从 GitHub Releases 下载最新构建,运行TaskNya.exe,按提示在浏览器中打开后台。 -
Python 源码
在项目环境中安装依赖后执行:python webui.py
-
Docker
使用镜像xueayis/tasknya:latest按你的环境挂载配置与数据目录并启动容器(端口与卷映射按部署习惯自行设定)。
多个检测条件在逻辑上通常为「任一满足即可触发完成」(具体以界面与当前版本行为为准)。常见模式如下:
检测指定路径下的文件出现或删除,适用于「跑出 done.txt 即视为结束」等场景。
- 全量:每次检查扫描整份日志;适合日志不大或任务较短的场景。
- 增量:只处理自上次检查以来新增的日志内容,适合大日志、长时任务。
- 通过关键词匹配判定是否触发(如完成标记、错误或自定义关键字)。
根据 GPU 功耗相对阈值的低于或高于关系触发;可配合连续多次采样一致再认定,降低偶发读数抖动带来的误报。
在指定目录上监控文件的新增、删除、修改:
- 支持排除关键词(忽略符合规则的路径)
- 支持操作建议(发现某类变化时在通知中附带提示,可与变量、文案模板配合;变量说明见 内联变量参考)
- 持续监控模式:适合需要长期盯目录变化的用法
- 二次确认:首次发现变化后间隔一段时间再确认,减轻「文件尚未写完」导致的误判
| 渠道 | 说明 |
|---|---|
| 飞书机器人 | 群机器人 Webhook,以消息卡片等形式推送。 |
| 企业微信 | 群机器人 text / markdown 等消息(较新版本已支持;平台限制以官方文档为准)。 |
| 邮件 | SMTP 发送 HTML 邮件。 |
| 通用 Webhook | 自定义 HTTP 请求;Body 可为 JSON,并支持在 JSON 字符串中使用 ${var} 占位符(变量表见 内联变量参考)。 |
| 典型做法:Astrbot 插件 提供接收端,TaskNya 侧用通用 Webhook 将内容 POST 到插件暴露的地址(详见 多平台通知配置 中相关说明)。 |
各渠道在 TaskNya 里的 URL、密钥、SMTP 等具体填法不在本指南展开,请参阅 多平台通知配置。
除通用 Webhook外,其余通知渠道均可按需开启自定义文本,用于控制最终展示文案与默认模板的关系:
template模式:用你填写的内容完全替换该渠道的默认消息体(仍可进行${var}替换)。append模式:在默认消息之后追加你填写的内容(同样支持${var})。
可用变量与含义统一见 内联变量参考。
配置通用 Webhook 时,可对请求 Body 使用:
- 字段编辑器模式:可视化增删、编辑 JSON 字段,适合结构化搭建。
- 原始 JSON 模式:直接编辑完整 JSON 文本。
界面中通常还提供实时内容预览(占位符替换后的效果以实际发送前逻辑为准)。${var} 写法见 内联变量参考。
与间隔、打印周期相关的配置项(例如 check_interval、logprint 等)除纯数字秒数外,还支持时长字符串,例如:
"60"— 表示 60 秒(纯数字按秒解析,与现版行为一致即可)"1h30m"— 1 小时 30 分钟"30m5s"— 30 分 5 秒
具体字段名称与默认值以 Web 界面与项目默认配置为准;若需改 YAML 等底层文件格式,仍建议以界面导出/文档为准,避免手写歧义。
程序展示的版本号由项目根目录下的 VERSION 文件读取;该文件在发布流程中由 CI 自动更新。若你自行从源码运行,以当前仓库中的 VERSION 内容为准。