Token导航 LogoToken导航TokenDH.com
效率只读clawhub未标认证来源可访问clear审计提醒

travelogue-weaver游记编织者

Agent Skill

travelogue-weaver 用于补充效率相关能力,适合在 OpenClaw 中需要让 Agent 承接效率相关任务时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

2,376

周安装

101

GitHub Stars

公开资料未说明

下载量

832
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:travelogue-weaver(游记编织者)
来源仓库:https://github.com/ludiansheng/travelogue-weaver
安装命令:
openclaw skills install travelogue-weaver
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install travelogue-weaver

简介

智能旅行游记生成器,支持多媒体素材记录、自动时间线整理、文学性叙事生成与多格式导出;当用户需要开始一段旅行记录、结束当前旅行、记录旅途点滴、补充旅行素材、预览游记内容、生成完整游记或导出游记文件时自动触发使用

SKILL.md

name
travelogue-weaver
version
1.0.0
description
智能旅行游记生成器,支持多媒体素材记录、自动时间线整理、文学性叙事生成与多格式导出;当用户需要开始一段旅行记录、结束当前旅行、记录旅途点滴、补充旅行素材、预览游记内容、生成完整游记或导出游记文件时自动触发使用
triggers
dependency
python

Travelogue Weaver(旅行游记编织者)

任务目标

  • 本 Skill 用于:帮助旅行用户在游玩过程中轻松记录所见所闻,并自动生成完整旅行游记
  • 能力包含:旅行生命周期管理、多媒体素材记录、智能时间线整理、文学性叙事生成、多格式导出
  • 触发条件:用户表达"开始旅行"、"记录旅途"、"生成游记"、"结束旅行"等意图

平台能力依赖

本 Skill 依赖 OpenClaw 平台提供的以下能力:

能力用途使用场景
时间解析服务从文本中提取日期时间用户说"昨天下午"、"3号出发"等
地理位置解析从文本中提取地名并转换为坐标用户说"在洱海边"、"大理古城"等
多模态描述对图片/视频生成文本描述用户上传图片或视频时自动生成描述
语音转写将语音消息转为文字用户发送语音记录素材时
文件存储存储用户上传的文件保存图片、视频、音频文件

核心规则(重要)

旅行档案生命周期

严格遵循以下规则

  1. 开始旅行 → 创建游记档案

- 用户说:"开始北京旅游"、"开始记录云南之旅"等 - 系统创建新的旅行记录,状态为 ongoing - 此时刻为游记档案的起点

  1. 结束旅行 → 封存档案,停止记录

- 用户说:"结束北京旅行"、"旅行结束了"、"回家了"等 - 系统将旅行状态改为 ended - 此时刻为游记档案的终点,不再接受新素材

  1. 素材记录 → 仅在旅行进行中

- 只有状态为 ongoing 的旅行才能添加素材 - 用户发送的任何内容(文字、图片、语音、视频)都会被记录到当前进行中的旅行

  1. 补充记录 → 需要用户明确指定

- 对于已结束的旅行,默认不接受新素材 - 只有当用户明确说:"补充到XX旅行中"、"往XX旅行里加一条"时,才允许添加 - 添加时需指定具体的旅行名称或ID

意图识别优先级

1. 开始旅行 → 创建新档案
2. 结束旅行 → 封存当前档案
3. 补充记录 → 添加到指定档案(需明确意图)
4. 普通消息 → 记录到当前进行中的旅行(如有)

前置准备

  • 依赖说明:scripts 脚本所需的依赖包及版本
  Pillow==10.2.0
  markdown==3.5.2
  jinja2==3.1.3
  weasyprint==60.2
  • 数据存储初始化:Skill 使用本地文件存储旅行记录和素材
  mkdir -p travelogue_data/uploads

操作步骤

1. 开始旅程(创建游记档案)

触发条件:用户表达开始旅行的意图

  • 示例:"开始北京旅游"、"开始记录云南之旅"、"我要开始旅行了"
  • 关键词:开始、记录、旅游、旅行、出发

执行流程

  1. 检查是否已有进行中的旅行

- 如果有,询问用户:"你已有进行中的旅行【XX】,是否要先结束它?" - 用户确认后才能创建新旅行

  1. 调用 scripts/trip_manager.py --action create 创建新的旅行记录
  2. 提取旅行名称、起始地点等信息
  3. 返回确认消息,告知用户档案已创建

参数提取

  • trip_name: 旅行名称(必需,从用户消息中提取)
  • start_location: 起始地点(可选)
  • start_event: 开始事件描述(可选)

执行示例

python scripts/trip_manager.py --action create \
  --name "北京旅游" \
  --start-location "北京"

智能体响应示例

用户:"开始北京旅游"
智能体:"好的,已创建【北京旅游】的游记档案,开始时间为 2026-04-03 08:30。现在你可以随时发送文字、图片或语音来记录旅途点滴。"

2. 记录素材(仅在旅行进行中)

前提条件:必须有状态为 ongoing 的旅行

重要规则

  • 如果当前没有进行中的旅行,提示用户:"你当前没有进行中的旅行。请先说'开始XX旅行'来创建游记档案。"
  • 如果用户发送素材但旅行已结束,提示用户:"【XX旅行】已结束。如需补充记录,请明确说'补充到XX旅行中'。"

2.1 文字素材

  • 用户发送纯文本消息
  • 智能体自动提取时间和地点信息
  • 调用 scripts/moment_manager.py --action add 添加素材

执行示例

python scripts/moment_manager.py --action add \
  --trip-id <trip_id> \
  --type text \
  --content "风真大,但洱海蓝得不像话" \
  --location "洱海" \
  --timestamp "2026-04-03 15:30:00"

2.2 图片素材

⚠️ 重要:图片必须先保存到本地文件!

执行流程

  1. 用户上传图片文件
  2. 智能体将图片保存到临时路径./travelogue_data/uploads/image_temp.jpg
  3. 智能体使用多模态能力生成图片描述
  4. 提取 EXIF 元数据(如果有)
  5. 调用脚本添加素材,必须传入 --raw-path 参数

完整执行示例

# 步骤1:智能体先保存图片(用户上传后)
# 保存路径:./travelogue_data/uploads/image_temp.jpg

# 步骤2:调用脚本添加素材
python scripts/moment_manager.py --action add \
  --trip-id <trip_id> \
  --type image \
  --content "洱海的蓝天白云,远处的苍山若隐若现" \
  --raw-path "./travelogue_data/uploads/image_temp.jpg" \
  --location "洱海" \
  --timestamp "2026-04-03 15:30:00"

# 脚本会自动:
# 1. 验证文件存在
# 2. 复制到标准路径:travelogue_data/uploads/{momentId}.jpg
# 3. 记录 rawUrl 字段

注意事项

  • 图片文件必须在调用脚本之前保存
  • 脚本会将图片复制到 travelogue_data/uploads/{momentId}.{ext}
  • 游记中图片路径:./uploads/{momentId}.jpg(相对路径)
  • 支持格式:JPG、PNG、WebP
  • 建议大小:单张 ≤ 10MB

2.3 语音素材

⚠️ 重要:音频文件必须先保存到本地!

执行流程

  1. 用户上传或发送语音
  2. 智能体将音频保存到临时路径./travelogue_data/uploads/audio_temp.mp3
  3. 平台提供语音转写服务
  4. 调用脚本添加素材,必须传入 --raw-path 参数

执行示例

python scripts/moment_manager.py --action add \
  --trip-id <trip_id> \
  --type audio \
  --content "刚刚在古城吃到了烤乳扇,酸酸甜甜" \
  --raw-path "./travelogue_data/uploads/audio_temp.mp3" \
  --location "大理古城" \
  --timestamp "2026-04-03 16:45:00"

注意事项

  • 支持格式:MP3、M4A、WAV
  • 音频文件保留在 uploads/ 目录

2.4 视频素材

⚠️ 重要:视频文件必须先保存到本地!

执行流程

  1. 用户上传视频
  2. 智能体将视频保存到临时路径./travelogue_data/uploads/video_temp.mp4
  3. 智能体提取关键帧并生成描述
  4. 调用脚本添加素材,必须传入 --raw-path 参数

执行示例

python scripts/moment_manager.py --action add \
  --trip-id <trip_id> \
  --type video \
  --content "客栈阳台的风景,远处是苍山,夕阳西下" \
  --raw-path "./travelogue_data/uploads/video_temp.mp4" \
  --location "双廊客栈" \
  --timestamp "2026-04-03 18:00:00"

注意事项

  • 支持格式:MP4、MOV、AVI
  • 建议时长:≤ 3分钟
  • 建议大小:≤ 50MB

python scripts/moment_manager.py --action add \ --trip-id <trip_id> \ --type text \ --content "风真大,但洱海蓝得不像话" \ --location "洱海" \ --timestamp "2026-04-03 15:30:00"


### 3. 结束旅程(封存游记档案)

**触发条件**:用户表达结束旅行的意图
- 示例:"结束北京旅行"、"旅行结束了"、"回家了"、"行程结束了"
- 关键词:结束、回家、行程结束、旅行结束

**执行流程**:
1. 检查是否有进行中的旅行
   - 如果没有,提示用户:"你当前没有进行中的旅行。"
2. 调用 `scripts/trip_manager.py --action end` 结束旅行
3. 提取结束地点、结束感言等信息
4. 更新旅行状态为 `ended`
5. **重要**:此后该旅行不再接受新素材

**参数提取**:
- `end_location`: 结束地点
- `end_event`: 结束感言

**执行示例**:

python scripts/trip_manager.py --action end \ --end-location "北京" \ --end-event "三天两夜,不虚此行"


**智能体响应示例**:

用户:"结束北京旅行" 智能体:"【北京旅游】已结束,档案封存于 2026-04-05 18:30。共记录了 12 条素材。需要我现在生成游记吗?或者你可以说'导出为PDF/HTML/Markdown'。"


### 4. 补充记录(明确指定)

**触发条件**:用户明确要求向已结束的旅行添加素材
- 示例:"补充到北京旅行里"、"往云南之旅加一条"、"刚才忘记记录了,补充到XX旅行"
- 关键词:补充、添加到、往...加

**执行流程**:
1. 识别目标旅行(通过名称或ID)
2. 检查目标旅行是否存在
3. 调用脚本添加素材到指定旅行
4. **重要**:即使旅行已结束,也允许添加

**参数提取**:
- `trip_name`: 目标旅行名称(从用户消息中识别)
- 其他素材参数同普通添加流程

**执行示例**:

先根据名称查询 trip_id

python scripts/trip_manager.py --action list --status-filter ended

然后添加素材

python scripts/moment_manager.py --action add \ --trip-id <trip_id> \ --type text \ --content "补充:刚才在天坛拍的照片忘记发了" \ --location "天坛"


**智能体响应示例**:

用户:"补充到北京旅行:刚才在天坛拍的照片忘记发了" 智能体:"已补充到【北京旅游】游记中。"


### 5. 查询旅行状态

**触发条件**:用户询问旅行记录情况
- 示例:"我的旅行记录怎么样了"、"现在记录了多少条"

**执行示例**:

python scripts/trip_manager.py --action status


**智能体响应示例**:

用户:"我的旅行记录怎么样了" 智能体:"你当前正在进行【北京旅游】,已记录 12 条素材(8 段文字、3 张图片、1 段语音)。旅行始于 2026-04-03,已持续 2 天。"


### 6. 生成游记

旅行结束后,可生成完整游记:

**执行流程**:
1. 调用 `scripts/moment_manager.py --action list` 获取所有素材
2. 智能体根据素材按时间线整理内容
3. 根据用户选择的风格(文艺/幽默/简洁/详细)生成叙事
4. 生成游记标题、章节结构、每日高光时刻等

详细流程参考:[references/narrative_guide.md](references/narrative_guide.md)

### 7. 导出游记

根据用户需求导出为不同格式:

导出 Markdown

python scripts/export_generator.py --trip-id <trip_id> \ --format markdown \ --output ./travelogue.md

导出 HTML

python scripts/export_generator.py --trip-id <trip_id> \ --format html \ --output ./travelogue.html

导出 PDF

python scripts/export_generator.py --trip-id <trip_id> \ --format pdf \ --output ./travelogue.pdf


## 资源索引
- 旅行管理脚本:[scripts/trip_manager.py](scripts/trip_manager.py)(用途:创建/结束/查询旅行记录)
- 素材管理脚本:[scripts/moment_manager.py](scripts/moment_manager.py)(用途:添加/查询/删除素材)
- 导出生成脚本:[scripts/export_generator.py](scripts/export_generator.py)(用途:生成 Markdown/HTML/PDF 文件)
- 数据模型参考:[references/data_model.md](references/data_model.md)(何时读取:理解数据结构时)
- 叙事风格指南:[references/narrative_guide.md](references/narrative_guide.md)(何时读取:生成游记时)
- 导出格式规范:[references/export_format.md](references/export_format.md)(何时读取:导出文件时)
- HTML 模板:[assets/templates/travelogue.html](assets/templates/travelogue.html)(直接用于生成 HTML 文件)

## 注意事项

### 旅行档案管理
- **严格的生命周期**:开始 → 进行中 → 结束 → 封存
- **自动拒绝**:已结束的旅行默认不接受新素材
- **明确意图**:补充记录需要用户明确指定目标旅行
- **单一进行中**:同一时间只能有一个进行中的旅行

### 智能体职责
- 准确识别用户意图(开始/结束/补充/普通记录)
- 在用户发送素材时,检查旅行状态
- 对不符合规则的操作给出清晰提示

### 数据安全
- 旅行记录和素材存储在本地文件中
- 所有素材自动关联到对应旅行,按时间戳排序
- 游记风格可随时调整,重新生成即可

## 使用示例

### 示例 1:标准流程

用户:"开始北京旅游" 智能体:"好的,已创建【北京旅游】的游记档案,开始时间为 2026-04-03 08:30。现在你可以随时发送文字、图片或语音来记录旅途点滴。"

用户:[上传照片] "故宫真的太大了" 智能体:"收到!故宫的照片已保存到【北京旅游】游记中。"

用户:"晚上吃了烤鸭,味道不错" 智能体:"记下了,听起来很美味。"

用户:"结束北京旅行" 智能体:"【北京旅游】已结束,档案封存于 2026-04-03 20:30。共记录了 5 条素材。需要我现在生成游记吗?"

用户:"生成游记" 智能体:[生成游记预览] "游记已生成,需要导出吗?"


### 示例 2:错误处理

用户:[直接发送照片] "这是颐和园" 智能体:"你当前没有进行中的旅行。请先说'开始XX旅行'来创建游记档案。"

用户:"开始北京旅游" 智能体:"好的,已创建【北京旅游】的游记档案..."

用户:[发送素材] ...

用户:"结束北京旅行" 智能体:"【北京旅游】已结束,档案封存。"

用户:[发送照片] "这是长城" 智能体:"【北京旅游】已结束。如需补充记录,请明确说'补充到北京旅游:这是长城'。"

用户:"补充到北京旅游:这是长城" 智能体:"已补充到【北京旅游】游记中。"


### 示例 3:多旅行管理

用户:"开始云南之旅" 智能体:"好的,已创建【云南之旅】的游记档案..."

用户:[记录素材] ...

用户:"结束云南之旅" 智能体:"【云南之旅】已结束,档案封存。"

用户:"开始西藏旅游" 智能体:"好的,已创建【西藏旅游】的游记档案..."

用户:[记录素材] ...

用户:"我的旅行记录怎么样了" 智能体:"你当前正在进行【西藏旅游】,已记录 8 条素材。你还有 1 个已结束的旅行:【云南之旅】。"

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

88.55%
按下载量换算737

安全审计

VirusTotal

可疑

ClawScan

通过

Static analysis

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills