详细分析 ▾
运行时依赖
安装命令
点击复制技能文档
物品管理(Item Management) 用自然语言管理个人物品数据库,支持添加、查询、编辑、统计、导出和到期提醒。
功能一览 功能 | 说明 ---|--- 增删改查 | 添加/编辑/删除物品,查看清单和详情 日均成本 | 自动计算购入至今的日均花费 到期提醒 | 即将到期/已过期进度条 子物品 | 套装内物品独立管理 历史追踪 | 记录价格、数量、状态变化 导出 | 支持 CSV / JSON / HTML 三种格式 统计报告 | 生成可打印的 HTML 报告(Ctrl+P 转 PDF)
数据文件 scripts/item_db.py — SQLite 数据库模块(CRUD、历史、统计) scripts/item_cli.py — CLI 入口
核心字段说明 字段 | 说明 ---|--- name | 物品名称(必填) brand | 品牌 quantity | 数量(默认1) unit | 单位(默认"个") production_date | 生产日期(YYYY-MM-DD) expiry_date | 保质期到期日 warranty_date | 保修期到期日 opened_date | 开封日期 location | 存放位置 notes | 备注 price | 单价(元) tags | 标签(逗号分隔) image_path | 图片路径 status | 状态:active / consumed / discarded
自然语言命令映射 添加物品 用户说:"记录一个新物品"、"添加一个..."、"买了个..."、"记录一下" → 解析参数,调用 item_cli.py add
查看物品 "查看我的物品"、"列出所有物品"、"物品清单" → item list "按品牌排序" → item list --sort brand "按过期日排序" → item list --sort expiry_date "只看护肤类的" → item list --tag 护肤
查看详情 "查看某物品详情" → item get "物品#3 详细信息" → item get 3
更新物品 "把某物品数量改为2" → item update --qty 2 "标记某物品已开封" → item update --opened 2025-04-01 "标记某物品已用完" → item update --status consumed
删除物品 "删除某物品" → item delete (先确认)
子物品(套装) "给物品5添加一个子物品:替换装" → item sub-add 5 替换装 --qty 2 "列出物品5的所有子物品" → item sub-list 5
历史记录 "查看某物品的变更历史" → item history
到期提醒 "哪些物品快过期了" → item expiring --days 7(默认7天) "已经过期的物品" → item expired
数据统计 "物品统计数据"、"我有多少东西" → item stats
导出 "导出 CSV" → item export --format csv "导出 JSON" → item export --format json "导出 HTML 表格" → item export --format html item export --out path.csv 指定保存路径
统计报告 "生成报告" → item report 输出完整 HTML 页面(含概览统计、即将到期、已过期、全量物品列表、月度趋势),浏览器打开后按 Ctrl+P → 另存为 PDF 即可打印
搜索 "搜一下我有几个SK-II的" → item search SK-II "找找化妆品" → item search 化妆品
日均成本 每个物品自动计算日均花费(单价 ÷ 购入天数),显示在「单价」下方。 购入当天:日均 = 单价 保质期至不为空时:同时显示到期倒计时进度条 days_until > 7 → ✅ 剩余 N 天到期(绿色) 0 ≤ days_until ≤ 7 → ⏳ 即将到期:还剩 N 天(黄色) days_until < 0 → ⚠️ 已过期 N 天(红色) expiry_date 为空 → — 状态未知
执行方式 通过 exec 调用 CLI: python "C:\Users\lijiaqi\.qclaw\skills\item-management\scripts\item_cli.py" [args...]
输出格式要求 输出使用中文 物品列表前显示总数(如"📦 共 12 种物品") 每条物品之间用空行分隔 统计页面数字对齐展示