Skip to content

AI 动作 ​

AI 在 TG-SignPulse 中做什么 ​

AI 主要负责解决机器人交互里“无法直接靠固定文本匹配”的步骤,例如:

  • 图片验证码
  • 诗句填空
  • OCR 识别
  • 基础算术计算题
  • 根据题面推断要点击哪个按钮

启用前提 ​

在系统设置里配置 AI:

  • API Key
  • Base URL,可选
  • Model,可选

这些设置会保存到数据目录下的 .openai_config.json。

备用节点(故障转移) ​

主节点请求失败后会自动按顺序尝试「备用 AI 节点」,提升 AI 动作在网络抖动、 限流或单个服务不可用时的可用性。在系统设置的 AI 区块「备用 AI 节点(故障转移)」 中可添加多个节点,每个节点包含:

  • Base URL
  • Model
  • API Key(留空表示沿用已保存的密钥,不修改)

两个易混淆的行为:

  • 主节点会走完整的参数兼容降级(如自动去掉 response_format / temperature), 之后才转备用节点;备用节点按「严格 → 保守」依次尝试。
  • 备用节点中任一节点因密钥/模型配置错误失败时,不会中断对其余备用节点的尝试。

服务端也可用环境变量配置,值为 JSON 数组,例如:

text
OPENAI_FALLBACK_PROVIDERS='[{"base_url":"https://backup.example.com/v1","api_key":"sk-xxx","model":"gpt-5-nano"}]'

环境变量优先级高于 .openai_config.json。

默认模型 ​

系统默认模型是:

text
gpt-5-nano

如果你在设置里指定了别的模型,系统会优先使用你填写的模型。

支持的 AI 动作 ​

动作用途
根据图片选择选项识别题面和候选选项,返回应该点击的按钮
回复计算题读题后直接发送答案文本
AI 识图后回复文本OCR 或视觉识别后把结果发出去
AI 计算后点击按钮先算出结果,再匹配同名按钮点击

自定义提示词 ​

当前前端已经支持在 AI 动作编辑框中填写自定义提示词。

规则:

  • 字段名是 ai_prompt
  • 留空则使用内置默认提示词
  • 填写后只对当前这一步生效
  • 关键词监听里的后续 AI 动作也支持这个能力

适合的自定义方式:

  • 强调“只返回按钮文字”
  • 强调“忽略图片上的 logo、水印、装饰元素”
  • 强调“这是诗词填空,不是 OCR 原样抄写”
  • 强调“只输出最终答案,不要解释”

当前默认提示词行为 ​

系统内置了四类默认 system prompt。

1. 图片单选 ​

用于“根据图片和题目,从选项里选一个答案”的场景。

默认要求模型:

  • 理解图片和题面
  • 选择唯一最合理的选项
  • 返回 JSON

返回格式:

json
{"option":1,"reason":"short reason"}

2. 图片/按钮验证 ​

用于“根据图片、消息文本和按钮列表,决定要点哪些按钮以及顺序”的场景。

默认要求模型:

  • 同时理解图片、caption、按钮文本
  • 支持诗句填空、短语补全、图片问答、数学结果
  • 返回按钮索引列表

返回格式:

json
{"options":[1], "reason":"short reason"}

3. OCR 文本提取 ​

用于“从图片里提取最相关文本并直接回复”的场景。

默认要求模型:

  • 返回纯文本
  • 不要 Markdown
  • 不要解释

4. 计算题回答 ​

用于“根据题目算出结果再回复”或“算出结果后去点击同名按钮”的场景。

默认要求模型:

  • 只给出答案
  • 不要解释
  • 不输出额外内容

什么时候应该写自定义提示词 ​

建议在这些场景下自定义:

  • 机器人题面不是普通 OCR,而是语义题
  • 按钮里有大量干扰项
  • 你希望强制返回“按钮文字”或“编号”
  • 题目经常是诗词、成语、谚语、顺序类任务

常见用法 ​

识图后点击按钮 ​

适合:

  • “请完成诗句填空”
  • “根据图片选出正确答案”
  • “根据图中内容点击对应按钮”

推荐做法:

  1. 前一步先点击触发验证
  2. 下一步立即放一个 AI 点击类动作
  3. 如有必要,为这一步填写自定义提示词

OCR 后回文本 ​

适合:

  • 图片里直接有验证码文字
  • 机器人要求把图上的内容发回去

计算后点按钮 ​

适合:

  • 按钮本身就是答案选项
  • 机器人不是要你发文本,而是要点对应答案按钮

调试建议 ​

  • AI 动作失败时先检查 .openai_config.json 是否正确
  • 在设置里先测试 AI 连接
  • 观察任务流程日志,看 AI 动作是“没有拿到候选按钮”还是“拿到结果后没有匹配到按钮”
  • 如果默认提示词效果一般,给该动作补一个更明确的 ai_prompt

基于 VitePress 构建 · 默认 SQLite,可选 PostgreSQL