私人旅游管家

Polar Sponsor
爱发电 赞助
.NET 9.0

管理个人旅行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 文件。

核心工作流

  1. 在重构前完整保留用户原始输入。
  2. 从中提取地点、餐厅、菜品、指南条目、约束条件及偏好信息。
  3. 基于名称、别名、城市、地址、坐标、来源 URL 及特色备注等字段,在已有 Markdown 条目中主动检索潜在重复项。
  4. 在工具可用且权限允许的前提下,主动补全缺失事实:地址、坐标、营业时间、预约方式、官方链接、招牌菜、交通提示、当前状态等。
  5. 完整保留原始证据来源及验证日期。禁止覆盖冲突事实;应在对应字段或条目中标注冲突说明,并标记为 needs-review。
  6. 创建或更新原子化 Markdown 条目后,视需要刷新生成的索引文件及 Notion 精简镜像。
  7. 在回答问题或规划行程时,须优先引用本地条目,并清晰区分本地知识与新核查的外部信息。

Hermes 使用规范

当从 Hermes 调用本技能时,切勿要求用户将 Notion Token 或凭证粘贴至聊天窗口。应通过已提供的脚本,从项目根目录的 .env 文件中读取本地 Notion 配置。

若用户询问 Notion 是否已连接:

  1. 不得执行 scripts/notion_setup.py --apply。
  2. 不得新建 Notion 数据库。
  3. 应运行 scripts/notion_check.py --db /travel-db。
  4. 若检查成功,则回复 Notion 已连接。
  5. 若检查失败,则简明报告具体错误,并建议用户本地检查 .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 文件。

相关专题

更多
Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

0

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

0

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

0

10

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

0

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

0

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习