Farmos Tasks

Polar Sponsor
爱发电 赞助
.NET 9.0

查询并管理农场工单和任务,查看分配、创建任务、更新状态。使用集成端点(无需认证)读取,认证后写入。

FarmOS 任务管理器 : 工作命令和任务管理 —— 查看任务分配, 检查状态, 并管理任务工作流程

功能概述

FarmOS 任务管理器 : 工作命令和任务管理 —— 查看任务分配, 检查状态, 并管理任务工作流程是一项面向实际任务的技能,主要用于何时使用此功能;此技能处理的是什么 : 任务创建、 任务分配、 状态。

核心要点

  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。

使用与执行

从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

结果检查与注意事项

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

FarmOS 任务管理器

工单与任务管理 — 查看分配情况、检查状态、管理任务工作流。

适用场景

本技能支持的功能: 任务创建、人员指派、状态更新、工单生成、待办事项、跟进提醒、补货/采购申请。

触发语句示例: “提醒我……”、“我们需要……”、“某人应该……”、“创建一个任务”、“有哪些任务分配给我了?”、“有逾期任务吗?”、“将任务 X 标记为已完成”、“我们……快用完了”、“最后一盒……已用完”、“我们需要更多……”

本技能 不支持 的功能: 设备维护跟踪(请使用 farmos-equipment)、排班/休假/可用性管理(请使用 farmos-workforce)、田间观测与巡田报告(请使用 farmos-observations)。

最低可行输入: 任何描述需执行工作的语句即可。“我们需要处理一下 12 号地块” 已足够。

API 基础地址

http://100.102.77.110:8007

集成端点(无需认证)

仪表盘概览

GET /api/integration/dashboard

返回:任务小部件数据 — 按状态统计数量、优先级分布、近期活动记录。仅用于汇总统计,不可用于列出全部任务。

任务概览

GET /api/integration/tasks-summary

返回:聚合计数:

{
  "total": 15,
  "pending": 3,
  "assigned": 5,
  "in_progress": 4,
  "completed": 3,
  "critical": 1,
  "high_priority": 2,
  "overdue": 1
}

任务列表(带筛选)

GET /api/integration/tasks?limit=10&status=in_progress&priority=high

查询参数:limit、status(可选值:pending | assigned | in_progress | completed | cancelled)、priority(可选值:low | normal | high | critical)

返回:简化版任务对象,包含字段:id、title、status、priority、due_date、assignees。

单个任务详情

GET /api/integration/tasks/{id}

返回:供集成使用的完整任务详情。

需认证端点

这些端点需要 JWT 认证。详见下方“认证”章节。

认证

本技能访问受保护的 FarmOS 端点,需提供 JWT Token。

获取 Token: 使用对应角色运行认证辅助脚本:

TOKEN=$(~/clawd/scripts/farmos-auth.sh manager)

使用 Token: 在请求头中以 Bearer 方式携带:

curl -H "Authorization: Bearer $TOKEN" http://100.102.77.110:8007/api/endpoint

Token 有效期: Token 有效期为 15 分钟。若收到 401 响应,请重新申请 Token。

角色映射: 查阅 ~/.clawdbot/farmos-users.json 中发送者的角色,以确定应使用的认证级别。若当前用户角色无权访问所请求的数据,请明确告知其无访问权限,切勿尝试使用更高权限的 Token 进行重试。

我的任务(员工视图)

GET /api/tasks/mine
Authorization: Bearer {token}

返回:分配给当前认证用户的任务列表。

创建任务(管理员及以上权限)

POST /api/tasks
Authorization: Bearer {token}
Content-Type: application/json

请求体:

{
  "title": "喷洒北区地块 — 第 12 区段",
  "description": "按农艺建议施用苗前除草剂",
  "priority": "high",
  "due_date": "2026-02-20",
  "equipment_id": 5,
  "estimated_duration_minutes": 180
}

更新任务状态

POST /api/tasks/{id}/start — 标记为 in_progress
POST /api/tasks/{id}/complete — 标记为 completed
POST /api/tasks/{id}/cancel — 取消任务
Authorization: Bearer {token}

指派任务(管理员及以上权限)

POST /api/tasks/{id}/assign
Authorization: Bearer {token}
Content-Type: application/json

请求体:

{
  "employee_ids": [3, 4]
}

员工 ID 来源于 Workforce 模块的集成端点。

任务模板

列出模板

GET /api/templates
Authorization: Bearer {token}

基于模板创建任务

POST /api/templates/{id}/create-task
Authorization: Bearer {token}

根据模板预填充内容,创建新任务。

状态工作流

pending → assigned → in_progress → completed
                                  → cancelled
  • 任务初始状态为 pending;
  • 完成人员指派后,状态变为 assigned;
  • 工作人员开始执行后,状态变为 in_progress;
  • 工作人员完成执行后,状态变为 completed。

对话式任务创建

机器人应能识别用户描述的待执行工作,并主动提出创建任务。切勿静默创建任务 —— 必须始终先征得用户确认。

从对话中自动识别

当用户描述一项可执行工作时,请尽可能提取以下信息:

识别项 识别方式 示例
指派人(Assignee) “告诉 Jake 去……” → Jake;“我需要……” → 报告人本人;其余情况 → 未指派 “告诉 Jake 检查排水管出口” → 指派人:Jake
优先级(Priority) “ASAP” / “下雨前” / “立刻” → high;“你方便时” / “找个时间” → low;默认 → normal “我们必须在下雨前完成喷药” → 优先级:high
地块(Field) 地块编号、地块名称、地标参照物 “14 号地块”、“Byrd 农场”、“电梯旁那块地”
设备(Equipment) 机械名称、编号、类型 “8370R”、“播种机”、“联合收割机 #2”
截止时间(Deadline) 将时间表述解析为具体日期 “周四前”、“本周内”、“播种前”、“月底前”

自然语言示例

用户表达 自动识别结果
“我们需要在周四前喷洒 14 号地块” 地块:14,操作:喷洒,截止时间:周四
“提醒我给种子公司代表打电话” 指派人:报告人本人,操作:致电种子公司代表
“有人该去 8 号地块检查排水管出口了” 地块:8,操作:检查排水管出口,未指派
“北边围栏需要在放牛前修好” 位置:北边围栏,上下文:肉牛,截止时间:放牧前
“Jake 需要在启动前给播种机加注润滑脂” 指派人:Jake,设备:播种机,操作:加注润滑脂
“我们这个月可能得给联合收割机做下保养” 设备:联合收割机,操作:保养,截止时间:月底,优先级:normal

创建前必须确认(强制要求)

未经确认不得创建任务。标准确认话术如下:

“正在创建:‘喷洒 14 号地块’ — 截止时间为周四,暂未指派。是否正确?”

若用户确认(如回复“是”),则核对细节并发起 POST 请求;若用户调整内容(如“实际应设为高优先级”),则更新后再次确认。

不应提议创建任务的情形

  • 消息明显仅为闲聊,不含可执行动作(例如:“哎呀,那块地看起来真糟糕”);
  • 用户是在提问,而非提出工作任务(例如:“14 号地块上次喷药是什么时候?”);
  • 该工作已在进行中(例如:“我正在喷洒 14 号地块”);
  • 属于状态更新,而非新增请求(例如:“14 号地块已完成”)。

使用建议

  • 当判断出用户话语中隐含工作任务时,使用“需要我把它转成一个任务吗?”作为引导语;
  • 若信息模糊,仍应基于已有信息创建任务 —— 模糊的任务优于完全不创建;
  • 对于重复性需求(例如:“每次 Y 之前我们都必须做 X”),可提示模板功能:“需要我为此创建一个模板,以便下次自动生成吗?”;
  • 任务创建完成后,主动提供关联操作选项:“需要我为您指派人员吗?”、“需要我设置提醒吗?”

零部件与耗材入库管理

任何关于库存水平的提及均视为可执行动作。机器人将捕获原本可能被遗漏的物资情报。

识别模式

用户表达 对应动作 优先级
“液压滤芯快用完了” 提议补货任务(标签:procurement) normal
“最后一盒种子处理剂已用完” 创建补货任务(标签:procurement) high — 最后一盒属紧急情况
“我们在完工前还需要更多捆扎绳” 提议补货任务(标签:procurement) normal
“播种机专用液压滤芯只剩 2 个了” 提议补货任务,并附带数量上下文 normal
“我已订购了 5 加仑草甘膦” 确认已知悉 —— 无需创建任务(已下单) —
“润滑脂滤芯 cartridges 放在哪里?” 回答问题 —— 不创建任务 —
“DEF 尿素溶液已用完” 创建补货任务(标签:procurement) high — 完全耗尽

响应模式

  • 库存偏低: “收到,已记录。需要我创建补货任务,还是仅向 Brian 标记一下?”
  • 最后一份 / 完全耗尽: “已记录 —— 此情况较为紧急,现在就为您创建补货任务。”(仍需确认,但同步强调紧迫性)
  • 已下单: “明白,感谢及时告知。”(无需任务,仅作确认)
  • 关于物资的提问: 直接回答问题,不创建任务

补货任务格式

创建采购类任务时:

{
  "title": "补货:液压滤芯(播种机专用)",
  "description": "班组反馈库存偏低 —— 当前仅剩 2 个",
  "priority": "normal",
  "tags": ["procurement"]
}

所有物资/补货类任务必须打上 procurement 标签,以便后续筛选与批量下单。

针对“最后一份”或“完全耗尽”的情形,优先级应设为 high。

数据完整性

  • 始终报告返回的总记录数;
  • 若查询结果数量异常偏少,请明确指出:“目前仅查到 X 条结果,可能不完整”;
  • 任务列表查询请使用集成端点 /tasks 并配合适当筛选条件,不要使用 /api/integration/dashboard(该接口会截断结果);
  • 对于分页结果,请注明总数,并主动提供加载更多选项。

跨模块上下文联动

处理任务时,需主动关联其他模块信息:

任务 → 天气(farmos-weather):

  • 当列出今日任务或本周计划时,应调用 farmos-weather 接口检查天气。发现冲突时主动预警:“您周四安排了喷药任务,但预报显示周四下午有雨,建议提前执行。”
  • 所有田间作业类任务(喷药、播种、收获、耕作)均需关注天气 —— 喷药任务需核查喷药适宜条件,其他田间作业需查看降水预报;
  • 车间作业、办公室事务、物资运输等非田间任务无需查天气。

任务 → 设备(farmos-equipment):

  • 列出任务时,应调用 farmos-equipment 查询相关设备可用性。若某任务依赖特定设备,需验证其是否处于停机或待保养状态:“本周喷雾机有 3 项任务,但当前运行小时数已达 197 小时,而保养阈值为 200 小时,建议优先完成保养。”
  • 当为特定设备创建任务时,需同步检查该设备状态。若其正处于维修中或存在未关闭的问题,请予以标记;
  • 当报告某设备停机时,应检查是否有任务已指派至该设备,并主动提议将其标记为“阻塞”状态。

任务 → 观测(farmos-observations):

  • 当任务涉及某一地块时,应调用 farmos-observations 查询该地块近期观测记录:“昨日在 14 号地块发现了水麻观测记录,可能与本次巡田任务相关。”
  • 若任务由观测记录生成(例如:“对 14 号地块水麻问题喷药”),应在任务中回链原始观测上下文。

任务 → 营销(交付截止期,farmos-marketing):

  • 收获季期间,应调用 farmos-marketing 查询交付日程。交付承诺直接影响地块优先级排序:“下周需向 ADM 交付 5000 蒲式耳大豆 —— 大豆地块应列为最高优先级。”
  • 此项仅在收获及交付窗口期内生效。常规维护或喷药类任务无需关联营销模块。

仅在能提供真实价值时才进行跨模块交叉引用。并非每次“标记任务完成”都需要查天气 —— 请合理判断。目标是帮团队发现容易忽略的关键关联,而非为简单操作增加噪音。

使用说明

  • 读取类查询(如列表、统计)请使用集成端点(无需认证);
  • 创建/更新任务请使用需认证端点(需 manager+ 权限);
  • 优先级等级包括:low、normal、high、critical;
  • 所有汇总统计中均需检查是否存在逾期任务;
  • 设备 ID 关联 Equipment 模块 —— 可通过 farmos-equipment 技能查询设备名称;
  • 指派任务所用员工 ID 来源于 farmos-workforce 技能;
  • 创建任务时,应结合上下文建议合适的优先级。

相关专题

更多
Uvicorn 报错与问题解决教程
Uvicorn 报错与问题解决教程

本专题汇总了Uvicorn服务器常见问题与报错解决的教程合集,涵盖启动失败、端口占用、模块导入错误、事件循环冲突及热重载失效等典型故障的排查思路。同时整理了多进程与Worker配置、SSL/HTTPS证书报错、跨域与代理配置等实战解决方案,助你快速定位并解决Uvicorn运行中的各类问题。

2026.11.02

0

14

Uvicorn使用教程
Uvicorn使用教程

本专题汇总了Uvicorn使用教程与启动运行指南,涵盖其作为Python ASGI服务器的定位与特点,以及命令行启动(uvicorn main:app --reload)、参数配置(host/port/workers)、程序内嵌运行与Gunicorn结合部署等核心用法。同时整理了热重载调试、日志配置与生产环境部署优化等技巧,助你快速掌握Uvicorn的运行与配置。

2026.11.02

0

17

Uvicorn安装配置教程
Uvicorn安装配置教程

本专题汇总了Uvicorn的安装配置教程与部署指南,涵盖通过pip安装Uvicorn、启动FastAPI/Starlette应用、开发模式热重载(--reload)及多进程工作模式配置等核心操作。同时整理了结合Gunicorn的生产部署方案、HTTPS与反向代理配置及性能调优技巧,助你快速完成Uvicorn服务的安装与上线部署。

2026.11.02

0

17

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

0

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

0

15

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

2026.10.28

0

10

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

0

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

0

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

0

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习