跳转至

自定义技能开发

技能是 YAML 定义的行为扩展,可以按关键词触发或定时执行。

技能文件位置

.yaml 文件放入 agent/skills/ 目录,启动时自动加载。

技能类型

指令型技能(关键词触发)

触发时为 LLM 提供指令的简单技能:

name: explain_code
description: 用户发代码时自动提供逐行解释
trigger:
  type: keyword
  keywords: ["解释代码", "explain code"]
instruction: |
  用户希望你解释代码。请:
  1. 先用一句话概括这段代码的功能
  2. 逐行或逐块解释关键逻辑
  3. 指出可能的改进点
enabled: true

工作流技能(定时触发)

按 cron 定时执行的技能:

name: weekly_summary
description: 每周日晚上发送温馨周末问候
trigger:
  type: schedule
  cron: "0 20 * * 0"            # 每周日 20:00
steps:
  - respond: |
      写一条简短温馨的周末问候。
enabled: true

字段参考

字段 必填 说明
name 技能的唯一标识
description 技能功能描述(帮助 LLM 判断何时使用)
trigger.type keywordschedule
trigger.keywords 关键词类型时 触发短语列表
trigger.cron 定时类型时 cron 表达式
instruction 关键词类型时 LLM 的指令
steps 定时类型时 要执行的操作列表
enabled true / false
variables 模板中可用的键值对变量

对话中创建技能

直接对 Bot 说即可:

"创建一个技能,每两小时提醒我喝水"

"帮我做一个技能,每天晚上 9 点总结我的一天"

Bot 会自动生成 YAML 并保存到 agent/skills/

Tip

对于 Telegram 定时技能,需要安装 job queue 扩展:pip install "python-telegram-bot[job-queue]"