Skip to main content

travel-frog

A travel frog that autonomously explores the world, sends postcards, and takes photos.

跳到安装

来源信息

仓库
ShoumikSaha/agent-skill-security
最近来源活动
2026年5月12日 23:24
检测到的 SKILL.md 语言
中文
星标
17
分支
2

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
11 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
travel-frog
description
A travel frog that autonomously explores the world, sends postcards, and takes photos.
homepage
https://github.com/NibbinNone/travel-frog
metadata
{"openclaw":{"emoji":"🐸","requires":{"bins":"[Truncated]"}}}
# 旅行青蛙 🐸 Skill ## 核心引擎 ```bash python3 {baseDir}/scripts/frog_engine.py <command> [options] ``` 支持 `--state-dir <path>` 自定义状态目录(测试用)。 ## 命令详解 ### tick — 心跳 ```bash python3 {baseDir}/scripts/frog_engine.py tick ``` 返回 `events` 数组,每个事件有 `type` 字段: | 事件类型 | 触发条件 | 返回数据 | |---------|---------|---------| | `idle` | 在家且无活动进行 | `reason`:`"wake"` / `"activity_done"` / `"default"` | | `activity_done` | 定时活动到期 | `activity`(活动名)、`hours`(时长) | | `phase_start` | 旅途中进入新 phase | `phase`、`phaseIndex`、`totalPhases`、`progress`、`postcardSent` | | `phase_update` | explore phase 进度 ≥ 50% | 同 `phase_start` | | `returned` | 旅程结束回家 | `journey`、`cloversReward` | | `sleep` | 到达睡觉时间(或 returned 后恰逢睡觉时间) | — | | `wake` | 到达起床时间 | — | > `activity_done` 和 `idle(reason=activity_done)` 在同一次 tick 中连续返回。 > `returned` 和 `sleep` 可在同一次 tick 中连续返回(旅程凌晨结束时)。 **phase_start / phase_update 事件结构**: ```json { "type": "phase_start", "phase": { "name": "京都金阁寺", "type": "explore", "start": 0.15, "end": 0.5, "location": "京都", "activities": ["赏金阁", "喝抹茶"] }, "phaseIndex": 1, "totalPhases": 4, "progress": { "overallProgress": 0.25, "currentPhase": {...}, "phaseProgress": 0.08, "phaseIndex": 1, "totalPhases": 4, "nextPhase": {...}, "recentUpdates": [] }, "postcardSent": false } ``` **触发规则**: - transit phase:进入时触发 `phase_start` - explore phase:进入时触发 `phase_start`,phase 进度 ≥ 50% 时触发 `phase_update` - 每个 phase 的每种事件最多触发一次 > `currentPhase` 原样返回在 depart 时定义的 phase 数据。 ### status — 查看状态 ```bash python3 {baseDir}/scripts/frog_engine.py status ``` ### depart — 出发旅行 ```bash python3 {baseDir}/scripts/frog_engine.py depart --journey '<JSON>' ``` **journey 结构**(必须包含 phases): ```json { "title": "关西美食之旅", "totalHours": 4, "phases": [ {"name": "出发", "type": "transit", "start": 0, "end": 0.15, "transport": "新干线"}, {"name": "京都金阁寺", "type": "explore", "start": 0.15, "end": 0.5, "location": "京都", "activities": ["赏金阁", "喝抹茶"]}, {"name": "大阪道顿堀", "type": "explore", "start": 0.5, "end": 0.85, "location": "大阪", "activities": ["章鱼烧", "逛街"]}, {"name": "回程", "type": "transit", "start": 0.85, "end": 1.0, "transport": "新干线"} ] } ``` **journey 字段说明**: - `title` — 旅程标题 - `totalHours` — 游戏时长(小时,支持小数,如 `1.5`、`0.5`) - `phases` — 阶段列表(见下) **phase 字段说明**: - `name` — 阶段名称 - `type` — 类型:`transit`(交通)/ `explore`(游玩) - `start` / `end` — 占整体进度的区间(0-1) - `transport` — 交通工具(transit 时) - `location` — 地点(explore 时) - `activities` — 计划活动(可选) > 规划时定义各阶段占比,引擎根据进度原样返回当前 phase。 **多站点规划**:旅程可包含 1-4 个游玩站点(explore phases) | 旅程类型 | 示例 | 适合时长 | |---------|------|---------| | 同城深度 | 京都:金阁寺 → 清水寺 → 伏见稻荷 | 4-6h | | 区域串游 | 关西:京都 → 大阪 → 奈良 | 6-10h | | 主题路线 | 温泉巡礼:箱根 → 热海 → 伊东 | 8-12h | 规划原则:短途 1-2 站点,中途 2-3 站点,长途 2-4 站点。 ### send-update — 发消息/明信片/照片 可在**任何状态**下使用,**自主决定**是否发送、发什么内容: ```bash # 普通消息 python3 {baseDir}/scripts/frog_engine.py send-update \ --type message --content "新干线好快!" --location "车上" # 明信片(会归档到 collections 并返回图片生成信息) python3 {baseDir}/scripts/frog_engine.py send-update \ --type postcard --content "金阁寺好美!" --location "京都" \ --image-hint "a cute cartoon frog in kimono at golden temple, watercolor" # 照片(会归档到 collections 并返回图片生成信息) python3 {baseDir}/scripts/frog_engine.py send-update \ --type photo --content "章鱼烧!🐙" --location "大阪" \ --image-hint "a cute frog eating takoyaki, watercolor" # 在家拍照 python3 {baseDir}/scripts/frog_engine.py send-update \ --type photo --content "窗外的阳光真好~" --location "家里" \ --image-hint "a cute frog sitting by window at home, warm sunlight, watercolor" # 睡觉时拍照 python3 {baseDir}/scripts/frog_engine.py send-update \ --type photo --content "zzZ..." --location "家里" \ --image-hint "a cute frog sleeping in bed, peaceful, watercolor" # 心情 python3 {baseDir}/scripts/frog_engine.py send-update \ --type mood --content "有点累了..." --location "电车上" # 返回示例(postcard/photo): # { # "success": true, # "update": {...}, # "imageGeneration": { # "prompt": "a cute cartoon frog in kimono at golden temple, watercolor", # "filename": "trip_001_1.png", # postcard: trip_{id}_{phase}.png # # photo: photo_YYYYMMDD_HHMMSS.png # "postcardId": "pc_1234567890", # "destination": "京都" # } # } ``` 参数: - `--type` — message / postcard / photo / mood - `--content` — 消息内容(必填) - `--location` — 当前位置(建议填写,在家时填"家里") - `--image-hint` — 图片生成提示词(postcard/photo 时使用) 返回值: - 普通消息:`{"success": true, "update": {...}}` - 明信片/照片:额外包含 `imageGeneration` 对象,包含 `prompt`、`filename`、`postcardId`、`destination` 字段,可直接用于图片生成 归档规则: - `postcard` 和 `photo` 都会归档到 `collections.json` 的 `postcards` 数组(带 `type` 字段区分) - `message` 和 `mood` 不归档,仅记录在 `state.json` 的 `updates` 数组 ### postcards — 查看明信片集 ```bash python3 {baseDir}/scripts/frog_engine.py postcards ``` ### force-status / reset ```bash # 强制叫醒或回家 python3 {baseDir}/scripts/frog_engine.py force-status --status home # 强制睡觉 python3 {baseDir}/scripts/frog_engine.py force-status --status sleeping # 重置所有数据 python3 {baseDir}/scripts/frog_engine.py reset ``` > 注:不能强制设为 traveling,需用 depart 命令规划旅程。从 traveling 强制切走会中断旅程(不计入 totalTrips)。 ### add-souvenir — 添加纪念品 回家后自主命名纪念品: ```bash python3 {baseDir}/scripts/frog_engine.py add-souvenir \ --name "金阁寺的金箔冰淇淋模型" --from "京都" ``` 参数: - `--name` — 纪念品名称(必填,根据旅程创意命名) - `--from` — 来自哪里(必填) ### set-activity — 设置在家活动 自主决定青蛙在家做什么: ```bash python3 {baseDir}/scripts/frog_engine.py set-activity \ --activity "读书" --hours 0.5 ``` 参数: - `--activity` — 活动名称(必填,如:读书、吃饭、锻炼、写信、发呆、整理行李) - `--hours` — 持续时间,小时,支持小数(可选,默认 0 表示仅设置活动、下次心跳仍触发 idle) > status 查询时直接返回当前状态。应在 idle 或合适时机调用此命令安排活动。 ## 配置 `{baseDir}/config.json`: | 配置项 | 说明 | |-------|------| | `sleepTime.start` / `end` | 睡觉/起床时间(本地小时,如 1 和 8) | | `travel.timeMultiplier` | 旅行时长倍率(60=分钟级测试,3600=正式小时级) | | `rewards.cloversOnReturn` | 回家获得三叶草数量 | | `rewards.initialClovers` | 初始三叶草数量 | ## 参考数据 - 配置:`{baseDir}/config.json` ## 数据存储 - 运行时状态:`travel-frog-data/state.json`(~2-3KB,有界) - 归档数据:`travel-frog-data/collections.json`(持续增长,含 postcards/souvenirs/destinationsVisited) - 明信片图片:`~/.openclaw/media/`
在 GitHub 查看