运行时依赖
安装命令
点击复制技能文档
Brickset AFOL 技能
当用户询问 Brickset 支持的 LEGO 套装详情、额外图片、构建说明、社区评论或显式 Brickset 账户工作流(如收藏、愿望清单、评分、数量和个人笔记)时,使用此技能。
主要接口:scripts/brickset。
此技能为自包含的存档分布,直接使用 checked-in 引用包装 Brickset API:OpenAPI 引用:references/openapi/brickset.yaml
公共提示指南:references/prompts/brickset-tools.txt
私人提示指南:references/prompts/brickset-private-tools.txt
CLI 源代码:scripts/brickset_cli.py
不要抓取 Brickset 供应商文档或发明参数,当这些 checked-in 引用回答端点形状时。
如果引用不足,请说明确切的缺失内容。
身份验证
所有 Brickset 调用所需的环境变量:export BRICKSET_API_KEY=...
可选环境变量:export BRICKSET_USER_HASH=... # 首选用于私人/账户工作流
export BRICKSET_USERNAME=... # 仅用于 scripts/brickset login
export BRICKSET_PASSWORD=... # 仅用于 scripts/brickset login
export BRICKSET_BASE_URL=https://brickset.com/api/v3.asmx
永远不要打印、提交、记录或粘贴真实的 API 密钥、密码或用户哈希。
一旦可用,请更喜欢 BRICKSET_USER_HASH 而不是用户名/密码。
Brickset 身份验证位置很重要:每个已验证的 API 操作都是 POST。
请求体是 application/x-www-form-urlencoded。
apiKey 是表单字段,而不是 JSON,也不是 HTTP 承载令牌。
公共读取调用仍然发送 userHash= 作为空表单字段,除非故意使用真实的 BRICKSET_USER_HASH。
复杂过滤器和集合变异位于 params 表单字段,其值是 JSON 字符串。
CLI 处理该形状,这是使用它而不是 ad-hoc curl 的主要原因。
CLI 快速参考
从此技能目录运行命令:scripts/brickset --help
scripts/brickset sets --set-number 10270-1
scripts/brickset details --set-number 10270-1
scripts/brickset images --set-id 30142
scripts/brickset instructions --set-number 10270-1
scripts/brickset reviews --set-id 30142
scripts/brickset login
scripts/brickset collection
scripts/brickset wishlist
scripts/brickset notes
私人读取命令(collection、wishlist、notes 或 sets --owned/--wanted)需要 BRICKSET_USER_HASH。
变异命令受到保护。除非传递 --yes;否则它们不会执行任何操作,请先使用 --dry-run:scripts/brickset collection-set --dry-run --set-id 30142 --own 1 --qty-owned 1
scripts/brickset collection-set --dry-run --set-id 30142 --want 1
scripts/brickset collection-set --dry-run --set-id 30142 --notes "placeholder note" --rating 5
安全规则
默认为只读:sets details images instructions reviews login(仅身份验证;将返回的哈希视为秘密)collection wishlist notes
变异操作需要在当前对话中显式用户确认,然后才能执行:collection-set --own 1 或 --own 0
collection-set --want 1 或 --want 0
collection-set --qty-owned ...
collection-set --notes ...
collection-set --rating ...
collection-set --params-json ...
每当它更改账户状态时,存储的凭据不是权限。在任何变异之前,重新说明确切的 Brickset 账户更改、集标识符、数量、愿望清单/拥有的状态、评分和笔记,然后等待显式确认,例如 "是的,添加到 Brickset" 或 "确认评分更新"。
CLI 机械上执行此操作:变异命令除非传递 --yes,否则将失败,而 --dry-run 将打印请求形状并省略凭据。
如果用户要求 "添加到我的收藏" 而没有指定提供程序,并且 Brickset/Rebrickable 都可以应用,请在变异任何内容之前询问要使用哪个提供程序。
端点覆盖
POST /getSets 通过 sets、details、collection 和 wishlist
POST /getAdditionalImages 通过 images
POST /getInstructions2 通过 instructions
POST /getReviews 通过 reviews
POST /login 通过 login
POST /setCollection 通过 collection-set --yes
POST /getUserNotes 通过 notes
将集合、愿望清单、评分、数量和个人笔记数据视为私人数据。仅总结用户需要的内容。
Brickset setID 规则
Brickset 套装编号和内部套装 ID 不可互换。当用户提供公共套装编号并需要 Brickset 内部 setID 用于图像、评论或账户写入时,请先使用 details 或 sets:scripts/brickset details --set-number 10270-1
然后使用返回的 setID:scripts/brickset images --set-id "$SET_ID"
scripts/brickset reviews --set-id "$SET_ID"
scripts/brickset collection-set --dry-run --set-id "$SET_ID" --own 1
instructions 是此 checked-in OpenAPI 引用的异常:它直接使用公共套装编号:scripts/brickset instructions --set-number 10270-1
不要将表单调用转换为 JSON 请求。这是这里的经典错误。
公共读取工作流
搜索/详情
scripts/brickset sets --set-number