出行打包清单生成器(Smart Packing List)
每次出差或旅行前,最怕临时收拾漏带东西——充电器、证件、药、转换插头……这个 skill 根据你这次出行的具体情况,自动拼出一份带勾选框的个性化打包清单,并把你平时"永远会带"的东西合并进来,输出成一份可直接打勾的 markdown 文件。
适用场景
- 周末短途、长假出游、出差、亲子游、户外(登山/滑雪/潜水)前的行李准备
- 总是忘带某类东西、想有一份可复用清单的人
- 不想装 App、数据只想存在自己电脑上的人
核心能力
gen:按参数生成清单 —— 目的地类型、目的、天数、季节、活动(可多选)。init:初始化一份"常带基础清单"(存于~/.packing/base.json),之后每次生成都会自动合并,越用越懂你。- 输出标准 markdown 勾选清单(
- [ ]待办格式),可直接在编辑器/备忘录里打勾。
内置规则(无需联网,逻辑写死在脚本里)
- 基础必备(每次都带):证件、钱包、手机、充电器、充电宝、数据线、牙刷牙膏、护肤品、常用药、内衣袜子睡衣等。
- 按季节:summer→防晒/墨镜/帽子/拖鞋/泳衣;winter→厚外套/围巾/手套/保暖内衣/润唇膏;spring/autumn→薄外套/长袖。
- 按目的:business→正装/皮鞋/名片/笔记本/笔电/演示转接头;leisure→相机/运动鞋/零食;family→儿童用品/奶粉/玩具/推车。
- 按类型:international→护照/签证/机票/旅行保险/转换插头/外币/翻译 APP/紧急联系人;domestic→身份证。
- 按活动(可多选):hike→登山鞋/速干衣/登山杖/水壶/头灯;ski→滑雪服/雪镜/手套/暖宝宝;dive→潜水镜/呼吸管/防水袋/防晒泥;swim→泳衣/泳镜/浴巾;gym→运动服/运动鞋/毛巾。
- 按天数:自动给出内衣/袜子数量建议(天数 +1)。
执行方式
脚本位于本 skill 目录 packing.py,用系统 python3 运行(无任何三方依赖):
SKILL=~/.workbuddy/skills/smart-packing-list
# 1) 首次使用:生成一份"常带基础清单"模板(可手改)
python3 $SKILL/packing.py init
# 2) 生成一次 5 天夏季国内休闲游清单,并保存到下载目录
python3 $SKILL/packing.py gen \
--days 5 --season summer --purpose leisure --type domestic \
--out ~/Downloads/packing-2026-07-09.md
# 3) 国外 3 天商务出差 + 健身
python3 $SKILL/packing.py gen \
--days 3 --season autumn --purpose business --type international \
--activities gym --out ~/Downloads/business-trip.md
# 4) 亲子滑雪 7 天
python3 $SKILL/packing.py gen \
--days 7 --season winter --purpose family --type domestic \
--activities ski --out ~/Downloads/ski-family.md
参数说明
| 参数 | 取值 | 默认 | 说明 |
|---|---|---|---|
--days |
整数 | 3 | 出行天数,影响衣物数量建议 |
--season |
summer/winter/spring/autumn | summer | 季节,决定衣物与防护用品 |
--purpose |
business/leisure/family | leisure | 出行目的 |
--type |
domestic/international | domestic | 国内/国外,决定证件与插头类 |
--activities |
逗号分隔:hike/ski/dive/swim/gym | 无 | 特殊活动,可多选 |
--out |
文件路径 | 终端打印 | 输出 markdown 清单的位置 |
--no-base |
开关 | 关 | 不带"常带基础清单"(仅本次) |
自定义"常带基础清单"
init 会在 ~/.packing/base.json 生成一份 JSON,结构是 { "分类名": ["物品1","物品2"] }。
把自己"永远会带"的东西加进去(比如某款眼罩、特定药、孩子的安抚物),下次 gen 会自动合并。这是越用越顺手的关键。
示例输出(节选)
# 🧳 出行打包清单 · 5天 夏季·国内·休闲
> 目的地类型:国内 | 目的:休闲 | 季节:夏季 | 活动:无
## 证件与财务
- [ ] 身份证
- [ ] 钱包
- [ ] 银行卡
- [ ] 现金
- [ ] 机票/车票
- [ ] 酒店预订单
## 电子设备
- [ ] 手机
- [ ] 充电器
- [ ] 充电宝
- [ ] 数据线
- [ ] 耳机
## 季节 · 夏季
- [ ] 防晒霜
- [ ] 墨镜
- [ ] 帽子
- [ ] 拖鞋
- [ ] 泳衣
## 衣物(按 5 天建议)
- [ ] 内衣 ×6
- [ ] 袜子 ×6
- [ ] 睡衣
...
注意事项
- 纯本地运行,清单与你的基础配置都只在自己机器上,不上传任何服务器。
- 生成的是"参考清单",特殊行程(医疗、母婴、宠物)请手动在基础清单里补充。
- 真正出门前,建议扫一遍勾选框确认。