Install
openclaw skills install @thcjp/task-bot-orchestrator-freeopenclaw skills install @thcjp/task-bot-orchestrator-free让AI Agent帮你编排重复性效率任务。数据处理、定时调度、通知推送,一键完成。
任务编排机器人为AI Agent提供日常效率任务的自动化能力。无论是每天定时生成数据报表,还是批量处理CSV文件,亦或是周期性发送提醒通知,都能通过简洁的API调用完成。支持任务链式编排,将多个步骤串联为自动化流程。
┌─────────────────────────────────────────────────────────┐
│ 任务编排机器人 (免费版) │
├─────────────────────────────────────────────────────────┤
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 数据处理 │ │ 定时调度 │ │ 通知推送 │ │
│ │ Data │ │ Schedule │ │ Notify │ │
│ │ │ │ │ │ │ │
│ │ CSV/Excel│ │ 每日提醒 │ │ 邮件通知 │ │
│ │ 清洗转换 │ │ 周期同步 │ │ 消息推送 │ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ │
│ ┌──────────┐ ┌──────────┐ │
│ │ 任务编排 │ │ 执行报告 │ │
│ │ Pipeline │ │ Report │ │
│ │ │ │ │ │
│ │ 链式执行 │ │ 成功/失败 │ │
│ │ 步骤串联 │ │ 耗时统计 │ │
│ └──────────┘ └──────────┘ │
│ │
└─────────────────────────────────────────────────────────┘
安装依赖并执行第一个任务编排:
# 依赖说明
pip install pandas openpyxl schedule
from task_bot_orchestrator import Scheduler, DataProcessor
# 数据处理:清洗CSV并导出
processor = DataProcessor()
processor.clean("dirty_data.csv").export("clean_data.csv")
# 定时任务:每天9:00发送提醒
scheduler = Scheduler()
scheduler.every_day.at("9:00").do(send_morning_reminder)
scheduler.start()
# 数据处理任务
用户:"清洗dirty_data.csv,去除空行和重复项,导出为clean_data.xlsx"
# 定时提醒任务
用户:"每天早上9点提醒我查看昨日销售数据"
# 批量处理任务
用户:"将data文件夹下所有CSV合并为一个Excel"
| 功能 | 方法 | 说明 |
|---|---|---|
| 读取CSV | processor.read_csv(path) | 读取CSV文件 |
| 读取Excel | processor.read_excel(path) | 读取Excel文件 |
| 去重 | processor.deduplicate(key_columns) | 按关键字段去重 |
| 清洗 | processor.clean(input_path) | 综合清洗(去空行+去重+格式化) |
| 转换 | processor.transform(rules) | 按规则转换数据 |
| 导出 | processor.export(output_path) | 导出为指定格式 |
| 报告 | processor.report() | 生成处理报告 |
# 数据处理管道
processor = DataProcessor()
# 链式处理
processor
.read_csv("sales_data.csv")
.deduplicate(["order_id"])
.transform({"date": "to_datetime", "amount": "to_float"})
.filter("amount > 100")
.export("cleaned_sales.xlsx")
# 生成处理报告
report = processor.report()
print(f"原始记录: {report.original_count}")
print(f"处理后: {report.final_count}")
print(f"去重数: {report.deduplicated}")
print(f"耗时: {report.duration}秒")
输入: 用户提供一、数据自动化处理所需的指令和必要参数。 处理: 按照skill规范执行一、数据自动化处理操作,遵循单一意图原则。 输出: 返回一、数据自动化处理的执行结果,包含操作状态和输出数据。
| 功能 | 方法 | 说明 |
|---|---|---|
| 每日执行 | scheduler.every_day.at("9:00").do(task) | 每天固定时间执行 |
| 间隔执行 | scheduler.every(30).minutes.do(task) | 按间隔执行 |
| 每周执行 | scheduler.every_week.on("monday").at("9:00").do(task) | 每周固定时间 |
| 一次性 | scheduler.once_at("2026-01-20 10:00").do(task) | 一次性定时 |
| 取消任务 | scheduler.cancel(task_id) | 取消已调度任务 |
scheduler = Scheduler()
# 每天早上9点生成日报
scheduler.every_day.at("9:00").do(generate_daily_report)
# 每30分钟同步一次数据
scheduler.every(30).minutes.do(sync_data)
# 每周一早上10点生成周报
scheduler.every_week.on("monday").at("10:00").do(generate_weekly_report)
# 启动调度器
scheduler.start()
输入: 用户提供二、定时任务调度所需的指令和必要参数。 处理: 按照skill规范执行二、定时任务调度操作,遵循单一意图原则。 输出: 返回二、定时任务调度的执行结果,包含操作状态和输出数据。
| 渠道 | 方法 | 说明 |
|---|---|---|
| 邮件 | notify.email(to, subject, body) | 邮件通知 |
| Webhook | notify.webhook(url, payload) | 自定义Webhook |
| 控制台 | notify.console(message) | 控制台输出 |
from task_bot_orchestrator import Notifier
notify = Notifier()
# 邮件通知
notify.email(
to="team@company.com",
subject="日报已生成",
body="今日销售日报已生成,请查收附件"
)
# Webhook通知(支持企业微信/钉钉/飞书机器人)
notify.webhook(
url="https://hook.wechat.work/webhook",
payload={"msgtype": "text", "text": {"content": "任务完成"}}
)
输入: 用户提供三、通知推送所需的指令和必要参数。 处理: 按照skill规范执行三、通知推送操作,遵循单一意图原则。 输出: 返回三、通知推送的执行结果,包含操作状态和输出数据。
from task_bot_orchestrator import Pipeline
# 定义任务管道
pipeline = Pipeline()
# 串联多个步骤
pipeline
.step("读取数据", read_sales_data)
.step("清洗转换", clean_and_transform)
.step("生成图表", generate_charts)
.step("导出报告", export_report)
.step("发送邮件", send_email)
# 执行管道
result = pipeline.execute()
# 查看执行报告
for step in result.steps:
print(f"{step.name}: {step.status} ({step.duration}秒)")
输入: 用户提供四、任务链式编排所需的指令和必要参数。 处理: 按照skill规范执行四、任务链式编排操作,遵循单一意图原则。 输出: 返回四、任务链式编排的执行结果,包含操作状态和输出数据。 能力覆盖范围:本skill的核心能力覆盖以下场景关键词:数据处理与定时任、务核心能力、CSV、Excel、自动化与基础调度、秒上手任务编排、任务编排机器人、免费版、Agent、提供日常效率任务、的自动化能力、覆盖数据自动化处、定时任务调度、基础通知推送三大、核心场景、通过简洁的、API、让重复性效率任务、一键完成、Use、when、需要提升效率、自动化流程、批量处理、工作流优化时使用、不适用于需要人工、创意判断的任务、适用于独立开发者、企业团队和自动化、工作流场景等。
input_params参数,支持创建/查询/导出操作痛点:每天早上需手动从系统导出销售数据、清洗整理、生成报告、发送团队,占用1小时。
解决方案:
# 配置每日日报任务
scheduler = Scheduler()
def daily_sales_report():
processor = DataProcessor()
notify = Notifier()
# 1. 读取昨日销售数据
processor.read_csv("yesterday_sales.csv")
# 2. 清洗转换
processor.deduplicate(["order_id"])
processor.transform({"date": "to_datetime"})
# 3. 生成汇总
summary = processor.summarize(group_by="product", metrics=["sum", "count"])
# 4. 导出报告
processor.export("daily_report.xlsx")
# 5. 发送邮件
notify.email(
to="ops@company.com",
subject="每日销售日报",
body=f"昨日销售汇总已生成,总销售额: {summary.total}"
)
# 每天早上8:30自动执行
scheduler.every_day.at("8:30").do(daily_sales_report)
scheduler.start()
效果:日报生成从1小时缩短至5分钟,团队9点前收到报告。
痛点:收到10个不同格式的数据文件,需要统一清洗后合并为一个标准Excel。
解决方案:
processor = DataProcessor()
# 批量读取并合并
files = ["data1.csv", "data2.json", "data3.xlsx", "data4.csv"]
for f in files:
processor.read(f) # 自动识别格式
# 统一清洗
processor.deduplicate(["id"])
processor.transform({"phone": "normalize_phone", "email": "lowercase"})
# 导出
processor.export("unified_data.xlsx")
# 处理报告
report = processor.report()
print(f"合并 {len(files)} 个文件,共 {report.final_count} 条记录")
效果:多源数据整合从半天缩短至10分钟,格式统一率100%。
痛点:需要每小时将生产数据库的数据同步到分析库,手动操作不现实。
解决方案:
scheduler = Scheduler()
def sync_data():
processor = DataProcessor()
notify = Notifier()
try:
# 从源库读取
data = processor.read_db("source_db", query="SELECT * FROM logs WHERE created_at > NOW() - INTERVAL 1 HOUR")
# 写入目标库
processor.write_db("target_db", table="logs")
notify.console(f"同步成功: {len(data)}条记录")
except Exception as e:
notify.email(
to="ops@company.com",
subject="数据同步失败",
body=f"错误: {str(e)}"
)
# 每小时执行
scheduler.every(60).minutes.do(sync_data)
scheduler.start()
效果:数据同步完全自动化,失败自动告警,运维零干预。
免费版支持CSV、Excel(.xlsx/.xls)、JSON三种格式的读取与导出。XML、SQL、Parquet等格式请使用专业版。数据清洗支持去重、去空行、格式标准化、类型转换等基础操作。
支持每日固定时间、固定间隔、每周固定时间、一次性定时四种调度方式。更复杂的调度(如cron表达式、工作日/周末区分)请使用专业版。调度器需保持运行状态,关闭后任务不会执行。
免费版支持邮件通知、Webhook通知(兼容企业微信/钉钉/飞书机器人)、控制台输出三种渠道。Slack、Discord、自定义短信等渠道请使用专业版。邮件需配置SMTP服务器。
免费版支持最多10个步骤的任务管道。每个步骤的输入自动作为下一个步骤的输出。超过10个步骤或需要条件分支、并行执行等高级编排请使用专业版。
免费版在任务失败时记录错误日志并通过通知渠道推送失败信息。不支持自动重试、断点续传、回滚等高级错误处理。如需这些功能请使用专业版。建议在任务中添加try-except异常处理。
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| pandas | Python库 | 必需 | pip install pandas |
| openpyxl | Python库 | 必需 | pip install openpyxl |
| schedule | Python库 | 必需 | pip install schedule |
| secure-smtplib | Python库 | 可选 | pip install secure-smtplib(邮件通知) |
| LLM API | API | 必需 | 由Agent平台内置LLM提供 |
本技能基于原始开源作品改进,保留原始版权声明:
本改进作品在原始作品基础上进行了深度差异化改造,包括但不限于:
原始MIT license允许使用、复制、修改和分发,需保留版权声明。本改进作品在保留原始版权声明的基础上添加自有署名,完全符合MIT license要求。
本免费体验版限制以下高级功能:
解锁全部功能请使用专业版:task-bot-orchestrator-pro
### 60秒上手
安装依赖并执行第一个任务编排:
```bash
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |