Scrask

Polar Sponsor
爱发电 赞助
.NET 9.0

当用户在任意聊天界面(如Telegram、iMessage、Slack等)发送截图时,使用OpenClaw配置的视觉语言模型解析其中的事件和任务。

Scrask Bot.

功能概述

Scrask Bot.是一项面向实际任务的技能,主要用于Overview.;Scrask 是一个截图到意向解析器. 用户通过任何聊天表层发送截图. 他们已经连接到 OpenClaw( Telegram, iMessage, Slack等).;

核心要点

  • Scrask :. 决定。
  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。

使用与执行

从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

Scrask Bot

概述

Scrask 是一款截图转意图解析器(screenshot-to-intent parser)。用户通过已接入 OpenClaw 的任意聊天界面(Telegram、iMessage、Slack 等)发送一张截图。Scrask 会执行以下操作:

  1. 判断该截图是否包含任何可操作内容(事件、提醒、任务)。若不包含,则忽略。
  2. 提取所有可操作项——单张截图可能同时包含一个事件和一个任务。
  3. 输出结构化的意图 JSON。
  4. 随后,OpenClaw 智能体将每一项分派给用户已安装的目标技能(destination skill):
    • destination: "calendar" → calctl / accli / apple-calendar / brainz-calendar / gcal-pro / 等
    • destination: "task" → apple-reminders / things-mac / notion / 等

Scrask 从不直接写入任何存储系统。日历/任务层无需服务账号 JSON、OAuth 凭据或 API 密钥——这是目标技能的职责。

调用方式

Scrask 支持两种调用方式:平台优先尝试显式调用;若无匹配别名,则回退至隐式触发条件。

显式覆盖(优先检查)

若用户消息以以下任一别名开头(不区分大小写,允许带或不带 @ 或 / 前缀),平台将无视下方隐式条件,直接调度 Scrask:

  • scrask
  • scrask this
  • screenshot
  • screenshot to calendar

强制路由至 Scrask 的示例:

  • scrask this(附带一张图片)
  • @scrask(附带一张图片)
  • /scrask(附带一张图片)
  • screenshot to calendar(附带一张图片)

若显式调用时未附带图片,Scrask 将返回简短提示,请求用户附加截图,随后终止执行。禁止在无图片输入的情况下运行解析器。

隐式触发(默认路径,当无别名匹配时启用)

OpenClaw 智能体读取传入消息,并在满足以下全部条件时激活 Scrask:

  1. 用户在任一已连接的聊天界面中发送了一条含图片附件的消息。
  2. 该图片为截图——而非人物、地点或实物的照片。
  3. 尚无其他技能已声明对该图片的处理权。

以下情况不得**隐式激活**:

  • 人物、地点、食物、风景等照片。
  • 代码、错误信息或 UI Bug 的截图(交由其他技能处理)。
  • 用户明确要求编辑、描述或出于其他目的分析的图片。

隐式路径是用户默认触发的方式。显式别名仅用于两类场景:

  1. 调试 / 高级用户覆盖——强制 Scrask 处理一张智能体本会路由至他处(或跳过)的模糊截图。
  2. 恢复操作——若智能体遗漏了明显截图,用户可通过 scrask this 恢复处理,无需重新发送。

分步操作指南

步骤 1:立即响应确认

在用户当前使用的聊天界面中回复,使其知晓技能正在运行:

"📸 已收到 — 正在分析您的截图..."

步骤 2:运行解析器

python3 {baseDir}/scripts/scrask_bot.py 
  --image-path "" 
  --provider "$CONFIG_VISION_PROVIDER" 
  --timezone "$CONFIG_TIMEZONE" 
  --confidence-threshold "$CONFIG_CONFIDENCE_THRESHOLD" 
  --actionable-threshold "$CONFIG_ACTIONABLE_THRESHOLD" 
  --type-threshold "$CONFIG_TYPE_THRESHOLD" 
  --field-threshold "$CONFIG_FIELD_THRESHOLD"

脚本从环境变量中读取凭据——请勿通过命令行传递密钥。在默认 auto 模式下,其路由逻辑如下:

  • 若设置了 GEMINI_API_KEY → 优先使用 Gemini,Claude 作为备用(低成本 + 快速路径)。
  • 若仅设置了 ANTHROPIC_API_KEY(未设 Gemini 密钥)→ 仅使用 Claude。
  • 若两者均未设置 → 使用 OpenClaw 平台级配置的视觉大模型(LLM),凭据来自平台注入的环境变量:OPENCLAW_VISION_PROVIDER、OPENCLAW_VISION_KEY 及可选的 OPENCLAW_VISION_MODEL。

因此,只要 OpenClaw 用户已在平台层级配置了支持视觉能力的 LLM,该技能即可开箱即用。自行提供 Gemini 密钥仅额外带来成本与速度优化。

脚本返回的 JSON 包含以下字段:

  • success — 解析是否成功
  • no_actionable_content — 若未发现可操作内容则为 true
  • actionable_confidence — 0.0–1.0,表示解析器对“该截图是否含可操作内容”的确信程度
  • needs_actionable_confirmation — 若 actionable_confidence 处于“不确定区间”,则为 true;此时机器人应在分派前向用户确认:“这确实是一个事件或任务吗?”
  • items[] — 每个检测到的项目对应一项,包含:
    • type、destination、confidence(旧版聚合值)、type_confidence
    • confidences{} — 各字段置信度得分(0.0–1.0),包括 title、date、time、location、participants、description、priority 等
    • needs_confirmation — 若存在至少一项待澄清内容,则为 true
    • clarifications[] — 针对性提问列表,例如:{ "field": "time", "question": "与 Priya 共进晚餐的时间是?", "reason": "low_confidence" }
    • 所有已提取字段(title、date、time、location、participants 等)
  • summary_text — 可直接发送至聊天界面的摘要预览;请原样发送,切勿改写
  • screenshot_summary、parse_notes — 上下文信息

步骤 3:处理输出结果

若 no_actionable_content 为 true: 静默忽略该截图;若用户明显期望 Scrask 执行操作,则回复 summary_text 字段内容(该字段已包含礼貌的“未找到可操作内容”提示)。

若 success 为 true: 将 summary_text 的值原样返回至用户当前聊天界面。随后逐项处理 items[] 中的每个项目。

步骤 4:将每项路由至目标技能

针对 items[] 中的每一项:

若顶层 needs_actionable_confirmation: true: 发送 summary_text(该字段已以“这确实是一个事件或任务吗?”开头),并等待用户响应。若用户回答“是”,则按下方规则逐项处理;若回答“否”,则回复“已收到,已跳过 ✓”,并终止流程。

对于每一项 — 若 needs_confirmation: false(无待澄清项): 无需征得用户同意,直接调用对应的目标技能。

  • destination: "calendar" → 调用用户已安装的日历技能。优先级顺序为:calctl → accli → apple-calendar → brainz-calendar → gcal-pro → 首个可用技能。
  • destination: "task" → 调用用户已安装的任务技能。优先级顺序为:apple-reminders → things-mac → notion → 首个可用技能。

将项目字段(title、date、time、end_time、end_date、location、participants、description、recurrence、online_link 等)传入该技能暴露的创建命令。若 end_date 存在且与 date 不同,则视为跨多日事件。

对于每一项 — 若 needs_confirmation: true: clarifications[] 数组列出了需询问的具体内容。每项包含:

  • field — 需澄清的字段(如 "time"、"date"、"type")
  • question — 面向用户的提问(已预先结合项目标题格式化)
  • reason — "missing"(值为空)、"low_confidence"(已提取但置信度低)或 "low_type_confidence"(无法确定是日历事件还是任务)

summary_text 已将这些内容渲染为项目符号列表。请按顺序向用户提问,并用其答复补全对应字段。待所有澄清完成后,再按前述方式将该项目路由至目标技能。若用户在任一环节回复跳过,则丢弃该项目并确认:“已收到,已跳过 ✓”。

对于特殊字段 field: "type",用户答复将决定该项目路由至 calendar 还是 task —— 请据此更新 destination 字段后再分派。

步骤 5:确认保存结果

每个目标技能返回结果后,向用户发送一行确认消息。示例如下:

  • 📅 已通过 calctl 添加至日历:**团队站会** — 2026-03-01 09:00
  • 🔔 已添加至提醒事项:**缴纳电费账单**(截止日期:2026-02-28)
  • ✅ 已添加至 Things:**向 Sandip 发送我的 resume**

若目标技能报错,请向用户展示错误信息,并询问是否尝试切换至其他目标技能重试。

边界情况

场景 行为
单张截图同时包含一个事件和一个任务 独立处理各项,分别路由至各自目标。
事件隐含前置准备步骤(例如:餐厅聚餐 → 预订座位) 解析器同时输出一个事件和一个准备提醒。准备提醒中推断出的字段置信度通常落在 0.65–0.80 区间,因此大多数准备提醒会触发 needs_confirmation: true,并附带针对性澄清(通常为 time 和 date)。
跨多日事件(旅行、会议) end_date 已设置且与 date 不同。将二者一同传入日历技能(例如:calctl add --date --end-date --all-day)。
已重新安排 / 取消的事件 解析器提取新日期;parse_notes 将其标记为“重新安排”。在覆写现有条目前,须先向用户确认。
截图语言为印地语、泰米尔语或其他语言 标题与描述已自动转为英文;language 字段保留 ISO 语言代码。按原样保存。
周期性事件(如“每周一”) 将 recurrence 和 recurrence_day 传入日历技能。
日期已过期 在回复中标识:“⚠️ 此日期已过期。仍要保存吗?”
他人日历的截图 already_in_calendar_hint: true — 回复:“看起来该事件已在您的日历中 🗓️”,并跳过处理。
未安装日历 / 任务技能 回复缺失技能提示后终止。
检测到 Zoom / Meet 链接 将 online_link 传入日历技能;该技能应同时设置位置与描述字段。
Meme / 无可操作内容的截图 no_actionable_content: true — 静默忽略,除非用户明确要求执行操作。

配置

{
  "skills": {
    "entries": {
      "scrask-bot": {
        "enabled": true,
        "env": {
          // 两个密钥在 v4.2+ 版本中均为可选项。若均未设置,Scrask 将使用
          // OpenClaw 平台级配置的视觉 LLM,凭据来自平台注入的
          // OPENCLAW_VISION_* 环境变量。设置 GEMINI_API_KEY 将启用
          // 成本更低、速度更快的 Gemini 路由。设置 ANTHROPIC_API_KEY
          // 将添加 Claude 作为备用(若未设置 Gemini 密钥,则作为主用)。
          "GEMINI_API_KEY": "AIza-your-gemini-key",
          "ANTHROPIC_API_KEY": "sk-ant-your-key-here"
        },
        "config": {
          "vision_provider": "auto",
          "fallback_threshold": 0.60,
          "timezone": "Asia/Kolkata",
          "confidence_threshold": 0.75,
          "actionable_threshold": 0.70,
          "type_threshold": 0.70,
          "field_threshold": 0.70
        }
      }
    }
  }
}

ANTHROPIC_API_KEY 为可选项。若未设置,auto 模式将仅运行 Gemini。

所需权限

  • image:read — 用于从聊天界面读取截图。
  • network:outbound — 用于调用视觉模型 API(Gemini,以及可选的 Claude)。
  • chat:reply — 用于通过用户的聊天界面发送确认消息。
  • 下游日历 / 任务技能所需的任意权限(由对应技能自行处理)。

相关专题

更多
Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

0

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

0

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

0

10

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

0

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

0

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

热门下载

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

精品课程

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

共6课时 | 54.7万人学习

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

共89课时 | 134.1万人学习