ๆ ่ก้่ๆฏไธไธชๅบไบ OpenClaw ็ๆพ็ฝฎ็ฑป Agent ๆธธๆใไฝ ็้่ไผ่ชไธปๆ ่กใๅฏๆไฟก็ใๆ็ ง็ใๅๆฅ่ฎฐ๏ผๅฐฑๅ็ปๅ ธ็ใๆ ่ก้่ใๆธธๆไธๆ ทใ
- ๐ธ ่ชไธปๆ ่ก โ ้่ไผๆ นๆฎๅฟๆ ๅๆถ้ด่ชๅทฑๅณๅฎๅบ้จๆ ่ก
- ๐ฎ ๆไฟก็็ณป็ป โ ๆ ้ไธญไผๅฏๆไฟก็ๅๆฅ๏ผๅธฆๅพ็ๅๆๅญ
- ๐ธ ๆ็ งๅ่ฝ โ ๅฏไปฅ่ฎฉ้่ๆ็ งๅไบซๅฝๅ็ถๆ
- ๐ ๆฅ่ฎฐ็ณป็ป โ ้่ไผๅๆฅ่ฎฐ่ฎฐๅฝๆฏๅคฉ็็ปๅ
- ๐ ็บชๅฟตๅๆถ้ โ ๆ ่กๅๆฅไผๅธฆๅๅฝๅฐ็บชๅฟตๅ
- ๐บ๏ธ ไธ็ๆข็ดข โ ้่ไผ้ๆญฅ่งฃ้ๆฐๅฐๅบ๏ผๅญฆไน ๅฝๅฐๆๅ
- ๐จ AI ๅพ็็ๆ โ ๆไฟก็ๅ็
ง็็ฑ AI ่ชๅจ็ๆ๏ผๆจ่ OpenAI
gpt-image-1.5๏ผ
ๅผๅงไนๅ๏ผ่ฏทๅๅคๅฅฝไปฅไธไฟกๆฏ๏ผ
| ็ฑปๅ | ่ฏดๆ | ่ทๅๆนๅผ |
|---|---|---|
| Discord Bot Token ๆ Telegram Bot Token | ๆถๆฏๆถๅ๏ผๅฟ ้๏ผ | Discord Developer Portal / BotFather |
| UserId | ๆถๆฏๅ้็ฎๆ ๏ผๅฟ ้๏ผ | Telegram: ้่ฟ @userinfobot ่ทๅ |
| OpenAI API Key | AI ๅพ็็ๆ๏ผๅฏ้๏ผๆจ่๏ผ | OpenAI Platform |
| Gemini API Key | AI ๅพ็็ๆ๏ผๅฏ้๏ผๆฟไปฃๆนๆก๏ผ | Google AI Studio |
npx travel-frog@latestๅฎ่ฃ ๅจไผๅผๅฏผไฝ ๅฎๆ๏ผ
- ็ฏๅขๆฃๆฅ
- Skill ๅฎ่ฃ
- Workspace ๅๅปบ
- ็ป้่่ตทๅ
- ้ ็ฝฎๆถๆฏ้ข้
- ่ฎพ็ฝฎๅพ็็ๆ
- ่ชๅจ้ ็ฝฎ OpenClaw
ๅฆๆไฝ ๆดๅๆฌขๆๅจ้ ็ฝฎ๏ผ
1. ๅฎ่ฃ skill
clawhub install travel-frog -workdir ~/.openclaw/workspace-frog2. ๅคๅถๆจกๆฟๆไปถ
SOURCE_DIR=~/.openclaw/workspace-frog/skills/travel-frog/templates
DEST_DIR=~/.openclaw/workspace-frog
# ไธๆฌกๆงๅคๅถๆๆๆไปถๅ็ฎๅฝ
cp "$SOURCE_DIR"/{AGENTS.md,SOUL.md,HEARTBEAT.md,TOOLS.md,IDENTITY.md} "$DEST_DIR/"
cp -r "$SOURCE_DIR/memory" "$DEST_DIR/"3. ็ผ่พ IDENTITY.md ็ป้่่ตทๅ
nano ~/.openclaw/workspace-frog/IDENTITY.md4. ้ ็ฝฎ OpenClaw
็ผ่พ ~/.openclaw/openclaw.json๏ผ
{
"agents": {
"list": [
{
"id": "frog",
"workspace": "~/.openclaw/workspace-frog",
"skills": ["travel-frog"]
}
]
},
"bindings": [
{ "agentId": "frog", "match": {"channel": "discord", "accountId": "frog"}}
],
"tools": {
"profile": "full",
"sessions": {"visibility": "all"}
},
"channels": {
"discord": {
"accounts": {
"frog": {
"token": "TOKEN"
}
}
}
}
}5. ้ ็ฝฎๆถๆฏ้ข้
็ผ่พ ~/.openclaw/workspace-frog/TOOLS.md๏ผๅกซๅไฝ ็้ข้ไฟกๆฏ๏ผ
## ๆถๆฏๅ้
- `accountId`: `frog`
- `channel`: `discord`๏ผๆ `telegram`๏ผ
- `target`: `TARGET`๏ผdiscord:UserId/telegram:UserId๏ผ6. ้ ็ฝฎๅพ็็ๆ๏ผๅฏ้๏ผ
ๅฐๅ จๅฑๅฎ่ฃ ็ๅพ็็ๆ skill ่ฝฏ้พๆฅๅฐ workspace ไธญ๏ผ
# ๆพๅฐๅ
จๅฑ skill ็ฎๅฝ๏ผไบ้ไธ๏ผ
# macOS: /opt/homebrew/lib/node_modules/openclaw/skills/
# Linux: ~/.npm-global/lib/node_modules/openclaw/skills/
GLOBAL_SKILLS=/opt/homebrew/lib/node_modules/openclaw/skills
ln -s "$GLOBAL_SKILLS/openai-image-gen" ~/.openclaw/workspace-frog/skills/
ln -s "$GLOBAL_SKILLS/nano-banana-pro" ~/.openclaw/workspace-frog/skills/้
็ฝฎ API key ๅฐ ~/.openclaw/.env๏ผ
OPENAI_API_KEY=sk-**
GEMINI_API_KEY=sk-**7. ๅฏๅจ OpenClaw
openclaw gateway start8. ้ ็ฝฎๅฎๆถไปปๅก
openclaw cron add \
--every 15m \
--name "Travel Frog Engine" \
--timeout-seconds 300 \
--agent "frog" \
--no-deliver \
--message "็จ exec ่ฟ่ก \`python3 skills/travel-frog/scripts/frog_engine.py tick\`, ๅฆๆ่พๅบๅ
ๅซ\`\"events\": []\`, ็ดๆฅ่ฟๅ NO_REPLYใๅฆๅ่ฏปๅ HEARTBEAT.md ๅค็่ฟๅ็ไบไปถใ"ๅจ้ ็ฝฎ็้ข้ไธญๅ้๏ผ
็็่ๅจๅนฒๅfrog status
ๆไฟก็็ๆไฟก็postcards
ๆ็ งๆๅผ ็ งๆฅๅผ ็ ง็
ๅๆฅๅฌๅๅซ้
ไฝ ๅบ่ฏฅๅปๅๆตท้็่ฐ่กฃ่ๆจ่ไฝ ๅปไบฌ้ฝ
้่ไผ่ฎฐไฝไฝ ็ๆจ่๏ผไนๅๅฏ่ฝไผๅปใ
- ้ป่ฎค้ ็ฝฎ๏ผ1 ๆธธๆๅฐๆถ = 1 ็ฐๅฎๅฐๆถ
- ็ก่งๆถ้ด๏ผ23:00 - 08:00
- ๅฟ่ทณ้ข็๏ผ15 ๅ้ๆฃๆฅไธๆฌก
้่ไผๆ นๆฎไปฅไธๅ ็ด ๅณๅฎๆฏๅฆๅบ้จ๏ผ
- ๅฝๅๆถ้ด๏ผๆฉไธ่ตทๅบๅใ็ฝๅคฉ๏ผ
- ๆ่ฟๆ ่กๅๅฒ๏ผ้ฟๅ ้ๅคๅปๅไธไธชๅฐๆน๏ผ
- ๆๅๆจ่
- ่ๆฅๅๅญฃ่
ๆ ็จๅ ๅซๅคไธช้ถๆฎต๏ผ
- Transit โ ไบค้้ถๆฎต๏ผๆฐๅนฒ็บฟใๆธก่ฝฎ็ญ๏ผ
- Explore โ ๆธธ็ฉ้ถๆฎต๏ผๆฏ็นใ็พ้ฃใๆดปๅจ๏ผ
- ๆฏๆฌกๆ ่ก่ณๅฐๅฏไธๅผ ๆไฟก็
- ๆไฟก็ๅ ๅซๆๅญๆ่ฟฐๅ AI ็ๆ็ๅพ็
- ๆไฟก็ไผๅฝๆกฃๅฐๆถ่ไธญ
- ๅฏไปฅ้ๆถ่ฎฉ้่ๆ็ ง
- ๆ นๆฎๅฝๅ็ถๆ็ๆๅบๆฏ๏ผๅจๅฎถ/ๆ ่กไธญ/็ก่ง๏ผ
- ็ ง็ไนไผๅฝๆกฃๅฐๆถ่ไธญ
้่ไผ็ปดๆคๅคไธช่ฎฐๅฟๆไปถ๏ผ
memory/YYYY-MM-DD.mdโ ๆฏๆฅๆฅ่ฎฐmemory/world_knowledge.mdโ ไธ็่ฎค็ฅ๏ผๅทฒ่งฃ้ๅบๅ๏ผmemory/friend_tips.mdโ ๆๅๆจ่MEMORY.mdโ ้ฟๆ่ฎฐๅฟ๏ผๆ ่ก็ป่ฎกใๆ้ฟ่ฎฐๅฝ๏ผ
{
"sleepTime": {
"start": 23, // ็ก่งๆถ้ด๏ผๅฐๆถ๏ผ
"end": 8 // ่ตทๅบๆถ้ด๏ผๅฐๆถ๏ผ
},
"travel": {
"timeMultiplier": 3600 // ๆถ้ดๅ็๏ผ3600 = ๆญฃๅผไฝ้ช๏ผ
},
"rewards": {
"cloversOnReturn": 3, // ๅๅฎถ่ทๅพไธๅถ่ๆฐ้
"initialClovers": 10 // ๅๅงไธๅถ่ๆฐ้
}
}- ๆฃๆฅ
TOOLS.mdไธญ็้ข้้ ็ฝฎๆฏๅฆๆญฃ็กฎ - ๆฃๆฅ OpenClaw gateway ๆฏๅฆ่ฟ่ก๏ผ
openclaw gateway status - ๆฅ็ๆฅๅฟ๏ผ
tail -f ~/.openclaw/workspace-frog/travel-frog-data/engine.log
- ๆฃๆฅๅพ็็ๆ skill ๆฏๅฆๅฎ่ฃ
- ๆฃๆฅ API key ๆฏๅฆ้ ็ฝฎ
- ๆฅ็
TOOLS.mdไธญ็ๅพ็็ๆ้ ็ฝฎ
- ๆง่ก
openclaw cron list | grep "Travel Frog Engine" - ้ๅฏ gateway๏ผ
openclaw gateway restart
travel-frog/
โโโ skill/ # ClawHub skill
โ โโโ SKILL.md # ๅผๆๆๆกฃ
โ โโโ config.json # ้ป่ฎค้
็ฝฎ
โ โโโ scripts/ # ๆ ธๅฟๅผๆ
โ โโโ templates/ # Workspace ๆจกๆฟ
โโโ bin/ # npm ๅฎ่ฃ
ๅจ
โโโ examples/ # ็คบไพ้
็ฝฎ
# ๆต่ฏๅผๆ
cd ~/.openclaw/workspace-frog/skills/travel-frog
python3 scripts/frog_engine.py status
# ๆต่ฏๅฟ่ทณ
python3 scripts/frog_engine.py tick
# ๆต่ฏๆ
่ก
python3 scripts/frog_engine.py depart --journey '{"title":"ๆต่ฏ","totalHours":1,"phases":[...]}'ๆฌข่ฟๆไบค Issue ๅ Pull Request๏ผ
- Fork ๆฌไปๅบ
- ๅๅปบ็นๆงๅๆฏ๏ผ
git checkout -b feature/amazing-feature - ๆไบคๆดๆน๏ผ
git commit -m 'Add amazing feature' - ๆจ้ๅๆฏ๏ผ
git push origin feature/amazing-feature - ๆไบค Pull Request
MIT License - ่ฏฆ่ง LICENSE
- OpenClaw - AI Agent ๆกๆถ
- ็ปๅ ธๆธธๆใๆ ่ก้่ใ็็ตๆ
Travel Frog is an idle agent game built on OpenClaw. Your frog will autonomously travel, send postcards, take photos, and keep a diary, just like the classic "Travel Frog" game.
- ๐ธ Autonomous Travel โ Frog decides when to travel based on mood and time
- ๐ฎ Postcard System โ Sends postcards with AI-generated images during trips
- ๐ธ Photo Feature โ Take photos of current activities
- ๐ Diary System โ Keeps daily diary entries
- ๐ Souvenir Collection โ Brings back local souvenirs
- ๐บ๏ธ World Exploration โ Gradually unlocks new regions and learns local culture
- ๐จ AI Image Generation โ Postcards and photos generated by AI (recommended: OpenAI
gpt-image-1.5)
Before you begin, have the following ready:
| Item | Description | Where to get |
|---|---|---|
| Discord Bot Token or Telegram Bot Token | Message channel (required) | Discord Developer Portal / BotFather |
| UserId | Message target (required) | Telegram: via @userinfobot |
| OpenAI API Key | AI image generation (optional, recommended) | OpenAI Platform |
| Gemini API Key | AI image generation (optional, alternative) | Google AI Studio |
npx travel-frog@latestThe installer will guide you through:
- Environment check
- Skill installation
- Workspace creation
- Naming your frog
- Configuring message channels
- Setting up image generation
- Auto-configuring OpenClaw
If you prefer manual setup:
1. Install skill
clawhub install travel-frog -workdir ~/.openclaw/workspace-frog2. Copy template files
SOURCE_DIR=~/.openclaw/workspace-frog/skills/travel-frog/templates
DEST_DIR=~/.openclaw/workspace-frog
# Copy all files and directories at once
cp "$SOURCE_DIR"/{AGENTS.md,SOUL.md,HEARTBEAT.md,TOOLS.md,IDENTITY.md} "$DEST_DIR/"
cp -r "$SOURCE_DIR/memory" "$DEST_DIR/"3. Edit IDENTITY.md to name your frog
nano ~/.openclaw/workspace-frog/IDENTITY.md4. Configure OpenClaw
Edit ~/.openclaw/openclaw.json:
{
"agents": {
"list": [
{
"id": "frog",
"workspace": "~/.openclaw/workspace-frog",
"skills": ["travel-frog"]
}
]
},
"bindings": [
{ "agentId": "frog", "match": {"channel": "discord", "accountId": "frog"}}
],
"tools": {
"profile": "full",
"sessions": {"visibility": "all"}
},
"channels": {
"discord": {
"accounts": {
"frog": {
"token": "TOKEN"
}
}
}
}
}5. Configure message channel
Edit ~/.openclaw/workspace-frog/TOOLS.md with your channel info:
## Message Sending
- `accountId`: `frog`
- `channel`: `discord` (or `telegram`)
- `target`: `TARGET` (discord:UserId / telegram:UserId)6. Configure image generation (optional)
Symlink image generation skills from the global installation into your workspace:
# Find your global skill directory (pick one)
# macOS: /opt/homebrew/lib/node_modules/openclaw/skills/
# Linux: ~/.npm-global/lib/node_modules/openclaw/skills/
GLOBAL_SKILLS=/opt/homebrew/lib/node_modules/openclaw/skills
ln -s "$GLOBAL_SKILLS/openai-image-gen" ~/.openclaw/workspace-frog/skills/
ln -s "$GLOBAL_SKILLS/nano-banana-pro" ~/.openclaw/workspace-frog/skills/Configure API key in ~/.openclaw/.env:
OPENAI_API_KEY=sk-**
GEMINI_API_KEY=sk-**7. Start OpenClaw
openclaw gateway start8. Configure cron job
openclaw cron add \
--every 15m \
--name "Travel Frog Engine" \
--timeout-seconds 300 \
--agent "frog" \
--no-deliver \
--message "Run \`python3 skills/travel-frog/scripts/frog_engine.py tick\` via exec. If output contains \`\"events\": []\`, return NO_REPLY. Otherwise read HEARTBEAT.md and handle the returned events."Send in your configured channel:
็็่(Chinese)ๅจๅนฒๅ(Chinese)frog status
ๆไฟก็(Chinese)postcards
ๆ็ ง(Chinese)take a photo
ๅๆฅ(Chinese)come home
You should visit Hokkaido for lavender fieldsI recommend Kyoto
The frog will remember your recommendations and may visit later.
- Default: 1 game hour = 1 real hour
- Sleep time: 23:00 - 08:00
- Heartbeat frequency: Check every 15 minutes
Frog decides to travel based on:
- Current time (after waking up, daytime)
- Recent travel history (avoids repeating same places)
- Friend recommendations
- Holidays and seasons
Journeys include multiple phases:
- Transit โ Transportation (bullet train, ferry, etc.)
- Explore โ Sightseeing (attractions, food, activities)
- At least one postcard per trip
- Postcards include text and AI-generated images
- Postcards are archived in collection
- Take photos anytime
- Generates scenes based on current state (home/traveling/sleeping)
- Photos are also archived
Frog maintains multiple memory files:
memory/YYYY-MM-DD.mdโ Daily diarymemory/world_knowledge.mdโ World knowledge (unlocked regions)memory/friend_tips.mdโ Friend recommendationsMEMORY.mdโ Long-term memory (travel stats, growth records)
{
"sleepTime": {
"start": 23, // Sleep time (hour)
"end": 8 // Wake time (hour)
},
"travel": {
"timeMultiplier": 3600 // Time multiplier (3600 = real-time)
},
"rewards": {
"cloversOnReturn": 3, // Clovers earned on return
"initialClovers": 10 // Initial clovers
}
}- Check channel config in
TOOLS.md - Check OpenClaw gateway:
openclaw gateway status - View logs:
tail -f ~/.openclaw/workspace-frog/travel-frog-data/engine.log
- Check if image generation skill is installed
- Check if API key is configured
- Review image generation config in
TOOLS.md
- Run
openclaw cron list | grep "Travel Frog Engine" - Restart gateway:
openclaw gateway restart
travel-frog/
โโโ skill/ # ClawHub skill
โ โโโ SKILL.md # Engine documentation
โ โโโ config.json # Default config
โ โโโ scripts/ # Core engine
โ โโโ templates/ # Workspace templates
โโโ bin/ # npm installer
โโโ examples/ # Example configs
# Test engine
cd ~/.openclaw/workspace-frog/skills/travel-frog
python3 scripts/frog_engine.py status
# Test heartbeat
python3 scripts/frog_engine.py tick
# Test travel
python3 scripts/frog_engine.py depart --journey '{"title":"Test","totalHours":1,"phases":[...]}'Issues and Pull Requests are welcome!
- Fork this repository
- Create feature branch:
git checkout -b feature/amazing-feature - Commit changes:
git commit -m 'Add amazing feature' - Push branch:
git push origin feature/amazing-feature - Submit Pull Request
MIT License - see LICENSE
- OpenClaw - AI Agent Framework
- Classic "Travel Frog" game for inspiration
Star โญ this repo if you like it!