OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  bring-add:将物品快速添加到 Bring! 购物清单中

bring-add:将物品快速添加到 Bring! 购物清单中

 
  mongodb ·  2026-02-06 04:34:40 · 3 次点击  · 0 条评论  

名称: bring-add
描述: 当用户需要向 Bring! 购物清单添加物品时使用。支持添加单个物品、批量物品,或从标准输入/文件读取物品。支持预览模式(dry-run)和 JSON 输出。


Bring! 添加物品命令行工具

概述

用于向 Bring! 购物清单添加物品的命令行工具。支持快速单物品模式、批量模式、标准输入/管道输入以及交互模式。

使用场景

在以下情况使用此技能:
- 用户想要向 Bring! 购物清单添加物品
- 添加单个物品(可附带规格,例如“牛奶 1L”)
- 一次性添加多个物品(批量模式)
- 从文件或其他命令管道传输物品列表
- 需要通过预览模式(dry-run)查看将要添加的内容
- 需要 JSON 输出用于脚本处理

不要在以下情况使用:
- 用户想要浏览食谱(请使用 bring-recipes)
- 用户想要从清单中移除物品
- 用户想要查看当前清单内容

快速参考

命令 用途
bring-add "物品名" "规格" 添加单个物品及其规格
bring-add --batch "A, B 1L, C" 添加多个逗号分隔的物品
bring-add - 从标准输入读取物品
bring-add 交互模式(仅限 TTY)
bring-add lists 显示可用的购物清单
bring-add --dry-run ... 预览而不实际修改

环境变量:

export BRING_EMAIL="你的邮箱@example.com"
export BRING_PASSWORD="你的密码"
export BRING_DEFAULT_LIST="Shopping"  # 可选

安装

cd skills/bring-add
npm install

常用工作流

添加单个物品:

node index.js "西红柿" "500g"
node index.js "牛奶"

添加到指定清单:

node index.js --list "派对" "薯片" "3袋"

批量添加多个物品:

node index.js --batch "西红柿 500g, 洋葱, 奶酪 200g"

从文件管道输入:

cat shopping-list.txt | node index.js -
echo -e "牛奶 1L\n面包\n黄油" | node index.js -

添加前预览:

node index.js --dry-run --batch "苹果 1kg, 梨"

获取 JSON 输出:

node index.js --json --batch "牛奶, 面包" 2>/dev/null

列出可用清单:

node index.js lists
node index.js --json lists

参数参考

参数 描述
-l, --list <名称> 目标清单(名称或 UUID)
-b, --batch <物品列表> 逗号分隔的物品列表
-n, --dry-run 预览而不实际修改
-q, --quiet 抑制非错误输出
-v, --verbose 显示详细进度信息
--json 向标准输出输出 JSON
--no-color 禁用彩色输出
--no-input 永不提示;若需要输入则直接失败

输入格式

物品遵循格式:物品名称 [规格]

输入 物品 规格
西红柿 500g 西红柿 500g
燕麦奶 1L 燕麦奶 1L
红洋葱 3 红洋葱 3
奶酪 奶酪 (空)

规则:如果最后一个单词包含数字或单位(g、kg、L、ml、Stück、pck 等),则将其视为规格。

退出码

代码 含义
0 成功
1 通用失败(API 错误、网络问题)
2 用法无效(参数错误、缺少输入)
3 认证失败
4 清单未找到
130 被中断(Ctrl-C)

常见错误

忘记设置环境变量:
运行前请设置 BRING_EMAILBRING_PASSWORD

清单名称错误:
使用 bring-add lists 查看可用清单及其确切名称。

规格解析问题:
仅当最后一个单词看起来像数量时才会被当作规格处理。“红洋葱”会作为一个整体物品,但“红洋葱 3”会拆分为物品“红洋葱”和规格“3”。

在脚本中使用交互模式:
在脚本中使用 --no-input 参数,以便在需要输入时明确失败,而不是挂起等待输入。

实现说明

  • 使用 node-bring-apibatchUpdateList() API
  • 需要 Node.js 18.0.0 或更高版本
  • 数据输出到标准输出,进度/错误信息输出到标准错误
  • 提供 JSON 模式以支持自动化
  • 仅当标准输入是 TTY 时才启用交互模式
3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor