360 Secure SkillHub
360 安全技能中心

autodailyqc

该技能用于每日质检自动化:首次在聊天内初始化发送位置与提醒时间,后续支持班别选择、生成并裁切质检截图、统计需修正数、按固定模板发送图文,并可选转发到指定群;同时提供定时提醒与缓存清理等维护命令。

tw0221antony
tw0221antony
热度 16.02
最近更新 2026-04-04 07:38:48
分类:自动化依赖:代码执行 / 联网浏览搜索 / 读写文件 / 第三方 API应用场景:工作流 / 自动化脚本 / 数据处理 / 日程安排 ...

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add autodailyqc
Metadata
name
autodailyqc
description
每日质检技能。首次发送“每日质检”时,会先在聊天内完成初始化:确认发送位置、选择提醒时间(06:55/14:55/22:55/暂不设置),然后直接进入质检流程。后续支持班别选择、截图发送、可选转发,以及默认转发群 ID 的查看、设定与清空。用于“每日质检/质检截图/质检”。

每日质检 V1.7

自动完成每日质检的主流程:班别选择、截图生成与裁切、需修正数统计、固定图文发送、可选转发到指定群。

当前版本的首次使用体验也已更新:

  • 第一次发送 每日质检 时,会先在聊天内完成基础初始化
  • 先确认发送位置
  • 再用按钮选择提醒时间:06:55 / 14:55 / 22:55 / 暂不设置
  • 设定后会直接继续进入质检流程,不需要重新发送触发词
  • 默认转发群 ID 也可直接用命令管理:qc:fwdshow / qc:fwdset <groupId> / qc:fwdreset

首次交互

先收集两项:

  1. 班别(固定 1~6)
  2. 质检人员(用于“质检人员:XXX”)

发布/安装前配置

  • 当前发布版的 references/config.json 已固定为一套可直接使用的表单配置。
  • 若后续要改给其他环境使用,再以 references/config.example.json 为模板覆盖/调整:
    • Google Sheet URL / spreadsheetId
    • tabs 1~6 映射
    • forward.account(若需要)
  • 若改回模板占位值(如 REPLACE),技能安装后仍可成功,但执行到读取表格时会报缺配置。

正确入口(先看这个)

本技能有且只有一个对话流程主入口:scripts/run_flow.py

请按下面规则执行:

  • 用户发送 每日质检 / 质检截图 / 质检 → 调用 scripts/run_flow.py
  • 用户点击提醒按钮 开始 / 跳过 → 调用 scripts/run_flow.py
  • 用户发送帮助或维护指令(如 /qc、qc:help、qc:reset、qc:initreset、qc:sendhere、qc:sendto ...、qc:clean、qc:fwdshow、qc:fwdset <groupId>、qc:fwdreset)→ 也由 scripts/run_flow.py 处理
  • 若尚未初始化,scripts/run_flow.py 必须先执行首次设置,再继续每日质检主流程;不要要求用户在首次设置后重新发送一次触发词
  • 不要自行用自然语言改写成手动问答流程;班别按钮、转发按钮、提醒按钮都应由脚本负责

其他脚本的角色(不要混用)

  • scripts/healthcheck.py:只负责检查依赖/配置是否齐全,不负责对话流程
  • scripts/engine.py:只负责执行截图与统计,不直接承担聊天入口
  • scripts/install-and-bootstrap.sh:部署/安装辅助脚本,用于安装后做首次初始化;不是日常对话入口
  • scripts/first-run-setup.sh:首次提醒设置脚本;不是日常对话入口
  • scripts/setup-reminders.sh:重新设置提醒时间;不是日常对话入口
  • scripts/reminder_send.py / scripts/reminder_timeout.py:只负责提醒发送与超时清理;不是用户手动触发的主流程入口

执行约束(强制)

  • 遇到上述触发词或按钮时,必须优先调用 scripts/run_flow.py。
  • 若脚本应出现按钮却未出现,优先视为“脚本未被正确调用”或“运行环境不支持当前按钮发送”,不要退回成手动问答式流程。
  • 仅在脚本报错、缺项、或明确不支持按钮能力时,才用文字说明问题。

执行逻辑

  1. scripts/healthcheck.py 先逐项检查依赖、配置、能力与关键脚本存在性。
  2. 仅在首次触发该技能时回报一次检查结果;只检查,不自动安装、不改环境。若缺项则中止流程。
    • healthcheck.py 只检查本技能必需项(含 GOG_ACCOUNT 与 GOG_KEYRING_PASSWORD/密码文件),不做无关环境检查。
    • engine.py 仍会在执行时再次强校验关键环境;缺失即中止。
    • 本技能不再默认回退到任何个人 Google 账号。
  3. 满足时由 scripts/engine.py 执行:
    • 切到指定页签
    • 自动定位最近日期区块(A列)
    • 取消蓝底选取
    • 先进行完整截图(不先裁)
    • 按当次截图实时识别网格线与内容边界,再裁切 A~G
    • 右边界按 H 左线回退,确保 G 列完整且不带 H
    • 保留底部 2~4 行空白
    • 执行硬校验(A列日期完整、G列完整、无索引列、无H、非空)
    • 校验不通过时自动重算/重裁(迭代)后再输出
    • 统计需修正数(最近日期对应行数)
  4. scripts/run_flow.py 当前完整流程为(支持两种进入方式:手动发送「每日质检」,或在到点提醒时点击「开始」):
    • 触发「每日质检」
    • 若尚未设发送位置,则先提示设定一次
    • 选择班别
    • 输入质检人员
    • 生成截图并提示输入质检总数
    • 按固定模板发送图文
    • 随后显示按钮让你决定是否转发到指定群
    • 分支 A:若选择转发,首次需输入群ID;指定后会作为后续默认转发群ID,不会每次重复询问;转发成功后回“已发送成功”,再清除缓存并回到 idle
    • 分支 B:若选择本次不转发,会回“本次不转发,流程已结束,并已清除缓存。”,然后回到 idle
    • 转发确认阶段有超时保护(默认 10 分钟),超时会自动回到 idle 并提示重开流程
    • 转发失败会返回分类错误提示(群ID/权限/账号/API)
    • 交互文案使用中文提示,并在关键输入后即时回覆
  5. 首次使用会先交互提示指定发送位置;指定后作为该对话默认值持续沿用。
    • qc:sendhere:发送到当前对话并设为默认
    • qc:sendto <target> [account]:重新指定发送位置并设为默认
    • 也支持中文口令:重新指定发送位置 <target> [account]
  6. help//help/qc:help//qc 会返回内置帮助,且每条命令都附中文“说明+解释”:
    • qc:reset(重置当前这轮流程,但保留首次初始化与默认发送位置)
    • qc:initreset(清空首次初始化状态,下次重新引导)
    • qc:sendhere(发送到当前对话)
    • qc:sendto <target> [account](发送到指定对话,可选指定账号)
    • 重新指定发送位置 <target> [account](中文同义命令)
    • qc:fwdshow(查看当前默认转发群 ID)
    • qc:fwdset <groupId>(直接设置默认转发群 ID)
    • qc:fwdreset(清空默认转发群 ID,下次重新询问)
    • 图文发送后会出现“转发到指定群 / 本次不转发”按钮(不需要输入确认命令)
    • 点“本次不转发”后,会提示“本次不转发,流程已结束,并已清除缓存。”
    • qc:clean / 清理测试缓存(硬删除测试缓存:tmp/qcshots 与旧 qcshots-* 回收目录)
    • 自动清理策略:在图文发送并完成确认后硬删除测试缓存
  7. 支持定时提醒模式:
    • 在首次聊天初始化里,若点“现在设置提醒”,应继续在聊天内显示固定时间按钮:06:55 / 14:55 / 22:55 / 暂不设置;不要把首次聊天流程丢去 shell 交互。
    • 选定时间后,应立即覆盖旧提醒配置、写入新时间,并马上发送一次“开始 / 跳过”提醒;随后直接继续每日质检主流程。
    • 若点“暂不设置”,则本次首次初始化继续完成,但 remindersConfigured 应维持未设置状态。
    • 若希望达到“安装后立即进入提醒设置交互”的效果,使用 scripts/install-and-bootstrap.sh 作为一键安装入口:安装 skill 后立刻执行首次提醒设置,并在完成后马上发送一次“开始 / 跳过”提醒。
    • install-and-bootstrap.sh 还会在安装完成后发送一条较完整的常用操作说明(逐条带命令范例);若当前平台支持 pin,则会尝试自动置顶,若不支持则降级为仅发送说明消息。
    • 首次部署也可直接使用 scripts/first-run-setup.sh:先进入提醒时间交互设置,设置完成后立即发送一次“开始 / 跳过”提醒,形成首次安装后的完整体验。
    • 后续若只想调整提醒时间,可使用 scripts/setup-reminders.sh 进行交互式部署,可选择预设时间(06:55 / 14:55 / 22:55)或增加自定义时间。
    • 重新设置提醒时间时,会先覆盖旧的提醒配置,再写入新的时间;不会让旧时间与新时间同时保留;并会在设置完成后立即再发送一次“开始 / 跳过”提醒。
    • 提醒按钮为:开始 / 跳过
    • 点 开始:直接进入本技能流程,但不绑定班别,后续仍由使用者自行选择班别
    • 点 跳过:本次提醒直接结束,不进入后续流程
    • 若 10 分钟内未点 开始/跳过,则本次提醒自动结束;并通过 scripts/reminder_timeout.py 删除该提醒消息、清理状态与缓存

固定输出模板

mm/dd x班x组质检 质检总数: 需修正数:<自动统计> 质检人员:<输入值>