资讯动态

SkillPack定时任务实战:用job.json+cron让本地AI Agent按时自动推送晨报

发布时间:2026/10/14 16:44:46 来源:尧图企业网站定制
【免费下载链接】skillpackPack and deploy local AI agents for your team in minutes项目地址https://gitcode.com/gh_mirrors/sk/skillpack点击查看免费下载SkillPack 是一个把 AI 技能打包成可运行本地 Agent 的开源项目它的定时任务功能让你只需一份job.json 一行 cron 表达式就能让本地 AI Agent 每天按时自动生成晨报并推送到 Telegram、Slack、飞书或 Web 界面全程无需任何服务器。为什么需要 SkillPack 定时任务 传统做法是把 Agent 部署到云上服务器用 crontab 或第三方调度平台定时触发。但这样会带来两个问题数据出本地你的提示词、技能、业务数据都要上传到别人的服务器配置散落定时任务、密钥、Agent 本体分开管理团队分发时容易漏配SkillPack 的思路是把定时任务定义直接写进包job.json和skillpack.json放在同一个 pack 根目录skillpack zip打包时一并压缩。对方解压、双击启动脚本一个会按时干活的本地 Agent 就跑起来了。相关设计说明可参考docs/cron/scheduled_task.mdjob.json定时任务的唯一配置源文件放在哪job.json位于pack 根目录和skillpack.json平级而不是运行时私有配置data/config.jsonpack-root/ ├── skillpack.json # Pack 元数据、提示词、技能声明 ├── job.json # 定时任务定义可随包分发 ├── skills/ # 已安装的技能 ├── start.sh # macOS / Linux 一键启动 └── start.bat # Windows 一键启动这样分工很清晰data/config.json只放 API key、Telegram Token 等私有凭据不会被打进 zipjob.json放可公开分发的任务定义。一个晨报推送完整示例在 pack 根目录创建job.json{ jobs: [ { id: morning-briefing, name: 每日晨报, cron: 0 9 * * 1-5, prompt: 生成今日市场早报重点关注科技股和宏观数据控制在 500 字以内。, promptExamples: [ 总结今天盘前最重要的三条市场消息, 列出值得关注的科技股异动 ], notify: { adapter: telegram, channelId: telegram-1234567890 }, enabled: true, timezone: Asia/Shanghai } ] }字段速查表字段必填说明id✅任务稳定标识包内唯一不能含/、换行≤128 字符name✅给人看的显示名称同名会导致启停操作不明确建议唯一cron⬜5 段 cron 表达式省略则为仅手动触发的一次性任务prompt✅触发时发送给 Agent 的工作指令promptExamples⬜提示词示例在宿主应用中作为快捷入口展示notify✅推送目标adaptertelegram/slack/feishu/webchannelIdenabled⬜仅对循环任务生效默认启用timezone⬜如Asia/Shanghai仅对循环任务生效完整的字段约束说明见 job.json 结构定义校验逻辑实现在 src/job-config.ts。cron 表达式新手速查表 ⏰SkillPack 使用标准 5 段 cron分 时 日 月 星期。内置node-cron做校验表达式非法时任务不会注册控制台会输出类似[Scheduler] Invalid cron expression for job ...的错误。表达式含义0 9 * * 1-5工作日每天 9:00晨报常用0 18 * * 5每周五 18:00周报0 9 * * *每天 9:00含周末*/30 * * * *每 30 分钟30 8 * * 1每周一 8:30时区很关键如果服务器和使用者不在同一个时区务必给任务显式指定timezone: Asia/Shanghai否则上午 9 点的晨报可能变成凌晨推送。时区字符串由运行时通过Intl.DateTimeFormat校验写错会直接报错而不是静默失败。三种任务类型循环、一次性、手动触发不是所有任务都需要 cronSkillPack 支持三种模式循环任务写了cron→ 到点自动触发可配enabled启停一次性任务省略cron→ 不会自动运行只能在 Web 界面或对话中手动触发禁用任务cronenabled: false→ 保留定义但不调度适合团队预置、按需开启{ jobs: [ { id: manual-market-scan, name: manual-market-scan, prompt: 手动生成一次市场扫描报告。, notify: { adapter: web, channelId: web } } ] }没有cron的任务不会持久化enabled和timezone字段启动日志会显示registered as one-time (manual trigger only)。运行流程从触发到晨报推送 SkillPack 启动时的调度顺序详见 SchedulerAdapter 源码ConfigManager加载data/config.jsonAPI key、IM 凭据IM 适配器先启动Telegram / Slack / 飞书 / WebSchedulerAdapter单独加载job.json为每个启用的循环任务创建 cron 任务到点后 scheduler 调用共享的PackAgent用prompt字段驱动 Agent 干活Agent 输出完成后结果通过notify.adapter/notify.channelId推送到目标 IM 频道几个对新手很重要的行为细节每次触发前自动清空会话上下文保证晨报是独立的新任务不会被之前的对话带偏任务执行中再次触发会被跳过避免同一任务并发重跑执行失败会记录lastError推送失败如 Token 失效也会单独标记notifyFailed方便排查即使job.json不存在scheduler 也会启动方便运行期动态添加任务推送目标notify.adapter支持四种adapter用途telegram推送到指定 Telegram 聊天channelId 形如telegram-chatIdslack推送到 Slack 频道/DMfeishu推送到飞书会话web输出到本地 Web 界面默认http://127.0.0.1:26313IM 适配器与频道 ID 的约定见 docs/runtime/im-adapters.md。不重启改任务用自然语言管理定时任务 SkillPack 给 Agent 内置了manage_scheduled_task工具你直接聊天就能增删改任务例如帮我建一个每天早上 9 点推送科技新闻的任务暂停每日晨报任务立刻手动跑一次市场扫描工具支持 6 种操作add/list/remove/trigger/enable/disable支持直接指定cron、timezone和推送目标默认推送到当前对话所在频道。所有改动只读写job.json它是调度配置的单一真源。工具参数定义见 src/runtime/tools/manage-schedule-tool.ts。打包分发job.json 随 zip 一起交付 skillpack zip的打包规则始终包含skillpack.json若存在则包含job.json任务预置进 zip若存在则包含AGENTS.md/SOUL.md包含skills/与start.sh/start.bat也就是说你作为 Pack 作者可以在仓库里维护好job.json打出来的 zip 解压后自带闹钟部署节点不需要再单独恢复任务定义。启动脚本底层执行npx cremini/skillpack run .唯一前提是 Node.js22.19.0。想快速上手的话可以克隆仓库参考 examples/topic-newsletter.json 这类订阅/简报类 Pack 示例把它的prompt搬进job.json就是一个定时简报 Agent。常见问题排查清单 1. 旧版data/config.json.scheduledJobs里的任务不生效当前版本已立即切断旧字段运行时不再读取data/config.json.scheduledJobs检测到旧字段只会输出迁移告警。必须手动把任务迁到 pack 根目录的job.json旧任务没有id的要补一个稳定 ID。2. 控制台报Invalid cron expression或Invalid timezone表达式必须是合法 5 段格式时区必须是 IANA 标准名如Asia/Shanghai不能写CST。这类错误下任务注册失败但其他适配器仍可正常启动。3. 任务到了点却没有触发按顺序检查enabled是否为falsetimezone是否符合预期机器是否在运行本地 Agent 依赖本机进程电脑关机/休眠时段不会补跑。4. 修改了 job.json 但没有生效运行期修改任务应通过 Agent 工具或 Web 界面操作会自动校验并持久化直接改文件后需要重启 pack 重新加载。5. 验证建议npm run check npm run build npm test然后手工 smokepack 根目录新增job.json→npx cremini/skillpack zip→ 解压确认根目录含job.json→ 启动 pack 确认 scheduler 日志出现scheduled。总结5 分钟搭好一个自动晨报 Agent ✅回顾一下整条链路pack 根目录写job.jsonidcronpromptnotifydata/config.json里配好 LLM API key 和 IM 凭据运行./start.sh或start.bat浏览器自动打开http://127.0.0.1:26313到点 Agent 自动执行prompt晨报推送到指定频道核心文件索引定时任务设计文档docs/cron/scheduled_task.md调度器实现src/runtime/adapters/scheduler.tsjob.json读写与校验src/job-config.tscron 归一化src/job-schedule.ts自然语言管理工具src/runtime/tools/manage-schedule-tool.ts运行时架构总览docs/runtime/runtime-architecture.md赞分享【免费下载链接】skillpackPack and deploy local AI agents for your team in minutes项目地址https://gitcode.com/gh_mirrors/sk/skillpack点击查看免费下载相关推荐learn-claude-code s12在 Agent Harness 中实现 Cron Scheduler让任务按时间自动触发learn claude code s12在 Agent Harness 中实现 Cron Scheduler让任务按时间自动触发 本文基于 learn c示例工程AI Agent人工智能OpenGauss定时任务(Cron)指南让AI Agent自动执行定期Lean证明与提醒OpenGauss定时任务 Cron 指南让AI Agent自动执行定期Lean证明与提醒 OpenGauss 是一款面向 Lean 形式化证明的 AI 工作Osintgram脚本自动化使用cron定时执行情报收集任务Osintgram脚本自动化使用cron定时执行情报收集任务 你是否还在手动运行Instagram情报收集工具重复执行相同的命令本文将介绍如何通过cron网络安全创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑