管理个人旅行Markdown数据库,记录美食发现、地点、指南、截图和偏好设置,支持Notion同步和旅行规划。适用场景:
个人旅行 Butler
功能概述
个人旅行 Butler是一项面向实际任务的技能,主要用于Overview;使用这种技能来维护用户的本地、人可读的旅行知识库并回答其旅行问题;
核心要点
- 保留系统层(个人旅行-bu)。
- 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
使用与执行
该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
结果检查与注意事项
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
个人旅行管家
概述
使用本技能维护用户本地、人类可读的旅行知识库,并基于该知识库回答旅行相关问题。请将系统层(personal-travel-butler/)与数据库层(travel-db/)严格分离。
数据库位置
除非用户明确指定其他数据库路径,否则默认使用相对于本技能文件夹的 ../travel-db。以 Markdown 文件为唯一事实来源;生成的索引文件仅为可重建的视图。
当从本地 Hermes 安装运行时,本技能可能通过符号链接从 ~/.hermes/skills/personal-travel-butler 指向用户的本地 personal-travel-butler 文件夹。若相对路径查找存在歧义,请向用户确认项目根目录,并以其同级的 travel-db 文件夹作为数据库路径。
使用 ../travel-db/notion-sync 实现与 Notion 的互操作性。保持该目录为扁平结构:机器应优先读取 _records.jsonl;人类用户宜浏览 _index.md;仅对需要长文本备注的记录,才单独创建详细 Markdown 文件。
核心工作流
- 在重构前完整保留用户原始输入。
- 从中提取地点、餐厅、菜品、指南条目、约束条件及偏好信息。
- 基于名称、别名、城市、地址、坐标、来源 URL 及特色备注等字段,在已有 Markdown 条目中主动检索潜在重复项。
- 在工具可用且权限允许的前提下,主动补全缺失事实:地址、坐标、营业时间、预约方式、官方链接、招牌菜、交通提示、当前状态等。
- 完整保留原始证据来源及验证日期。禁止覆盖冲突事实;应在对应字段或条目中标注冲突说明,并标记为
needs-review。 - 创建或更新原子化 Markdown 条目后,视需要刷新生成的索引文件及 Notion 精简镜像。
- 在回答问题或规划行程时,须优先引用本地条目,并清晰区分本地知识与新核查的外部信息。
Hermes 使用规范
当从 Hermes 调用本技能时,切勿要求用户将 Notion Token 或凭证粘贴至聊天窗口。应通过已提供的脚本,从项目根目录的 .env 文件中读取本地 Notion 配置。
若用户询问 Notion 是否已连接:
- 不得执行
scripts/notion_setup.py --apply。 - 不得新建 Notion 数据库。
- 应运行
scripts/notion_check.py --db。/travel-db - 若检查成功,则回复 Notion 已连接。
- 若检查失败,则简明报告具体错误,并建议用户本地检查
.env配置,严禁在输出中打印 Token 值。
scripts/notion_setup.py --apply 仅限首次初始化使用,且仅在 NOTION_TRAVEL_DATA_SOURCE_ID 尚未配置时调用。若该环境变量已配置,则视为初始化已完成,不应再次运行该脚本。
输入处理规则
- 文本类输入:若包含多个事实或实体不明确,先保存原始文本至
_inbox/,再将稳定实体拆分为原子化条目。 - 地点名称或地图链接:创建或更新对应地点条目,补充最新事实,并记录查询来源。
- 图像/截图:将图像存入
assets/,OCR 或提取的文字内容存入_inbox/,再基于提取结果创建条目。 - 偏好设置:应更新
preferences/下的独立条目,而非将个人约束混入地点备注中。 - 行程规划请求:须先读取
preferences/、相关places/、guides/和trips/,再给出建议。
参考资料
- 创建或更新条目前,请先阅读
references/database-schema.md。 - 文本、位置及图像摄入规则详见
references/ingestion-workflow.md。 - 生成推荐或行程前,请先阅读
references/recommendation-workflow.md。 - 修改 Notion 同步文件前,请先阅读
references/notion-sync-folder-standard.md。 - 配置 Notion Token、数据源 ID 或调用实时 API 前,请先阅读
references/notion-integration.md。 - 将 Notion 属性映射至本地字段前,请先阅读
references/notion-sync-schema.md。 - 使用
scripts/create_entry.py创建具备稳定 ID 与合法 frontmatter 的条目骨架。 - 使用
scripts/validate_db.py检查必填字段、ID 重复、链接有效性及基础数据库完整性。 - 使用
scripts/notion_check.py验证 Notion 同步目录结构;若凭证就绪,还可验证 Notion Schema 访问权限。 - 使用
scripts/notion_setup.py在共享父页面下创建 Notion 旅行数据库及所需属性。 - 使用
scripts/notion_sync.py执行“先试运行(dry-run)”的 Notion 推送/拉取/同步方案。 scripts/notion_sync.py push|sync默认在规划前从 Markdown 条目刷新_records.jsonl;使用--strict可阻止覆盖 Notion 端已编辑内容,使用--filter-city或--filter-tag可实现选择性同步。- 使用
scripts/notion_schema.py check|migrate检查或为现有数据源添加可选的 Notion 列。 - 仅当需在不调用 Notion 的前提下刷新精简镜像与本地生成索引时,才使用
scripts/build_records_from_places.py --apply。 - 使用
scripts/notion_compact.py将轻量或标准 Notion 记录保留在_records.jsonl中,避免额外生成 Markdown 文件。 - 当某条轻量或标准记录值得展开为详细 Markdown 文件时,使用
scripts/notion_promote.py。
命令优先使用原则
常规操作请优先使用 scripts/butler.py。仅当命令接口无法表达所需变更时,才直接编辑 Markdown 文件。
| 用户意图 | 推荐命令 |
|---|---|
| 健康检查 / 同步诊断 | python3 personal-travel-butler/scripts/butler.py doctor --db travel-db |
| 仅修复本地派生文件 | python3 personal-travel-butler/scripts/butler.py doctor --db travel-db --fix-local |
| 新增地点 | python3 personal-travel-butler/scripts/butler.py add-place --db travel-db --name NAME --city CITY --tag TAG --evidence EVIDENCE |
| 更新已有地点 | python3 personal-travel-butler/scripts/butler.py update-place --db travel-db --id PLACE_ID --evidence EVIDENCE |
| 存档不确定的原始文本 | python3 personal-travel-butler/scripts/butler.py ingest-text --db travel-db --text TEXT --apply |
| 检查重复条目 | python3 personal-travel-butler/scripts/butler.py duplicates --db travel-db --name NAME --city CITY |
| 刷新本地镜像与索引 | python3 personal-travel-butler/scripts/butler.py refresh --db travel-db --apply |
| 安全执行 Notion 同步试运行 | python3 personal-travel-butler/scripts/butler.py sync --db travel-db |
| 安全执行 Notion 同步应用 | python3 personal-travel-butler/scripts/butler.py sync --db travel-db --apply |
| 检查可选 Notion 列 | python3 personal-travel-butler/scripts/butler.py schema --db travel-db check |
| 添加可选 Notion 列 | python3 personal-travel-butler/scripts/butler.py schema --db travel-db migrate --apply |
为提升弱智能体(weak-agent)可靠性:
- 新增地点时,请运行
butler.py add-place,而非手动创建 Markdown 文件。 - 发现重复条目时,请运行
butler.py update-place。 - 执行
butler.py sync --apply前,务必先运行butler.py sync进行试运行。 - 除非处于无任何现有数据源的首次初始化阶段,否则严禁运行
notion_setup.py --apply。
写作规范
- 每个地点、餐厅、指南、行程或偏好记录,均应对应一个原子化 Markdown 文件。
- YAML frontmatter 应保持合法且简洁:仅使用字符串、列表、数字、布尔值或 null。
- 统一使用相对链接与路径,确保数据库兼容 Obsidian 及纯文本编辑器。
- 在证据或收件箱备注中,应保留用户原始措辞。
- 从外部信息补全内容时,须注明置信度与信息来源。
city字段仅保留一个标准化城市名(如文昌或深圳);省份、区县、街道或详细地址等信息应置于独立字段或正文备注中。- 索引文件均为派生内容,不得将其视作权威记录。
- Notion 同步应保持轻量:简单记录保留在
_records.jsonl中;仅详细记录才在notion-sync/下创建独立 Markdown 文件;位于places/、guides/、trips/和preferences/下的 Markdown 条目,均视为精简 Notion 镜像的源材料。 - 当
NOTION_TRAVEL_DATA_SOURCE_ID已配置时,禁止再次运行scripts/notion_setup.py --apply;应改用scripts/notion_check.py --db travel-db验证现有 Notion 数据库,再用scripts/notion_sync.py sync --db travel-db执行同步。 - 严禁在聊天输出中粘贴、回显、摘要或存储 Notion Token。若 Token 不慎出现在聊天中,应建议用户立即轮换,并将新 Token 移入本地
.env文件。
热门AI工具
相关专题
本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。
0
2026.11.06
围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。
0
2026.11.06
详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。
0
2026.11.06
DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。
0
2026.11.05
DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。
0
2026.11.05
本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。
0
2026.11.04
本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.8万人学习
共6课时 | 54.7万人学习
最新文章