SuperAPI AI 工具集

commerce-ui-tools

办公与效率

查看项目

更新于 10-15 19:56

技能介绍

用途:定义 commerce-agents 参考仓库的展示工具契约,让模型只做判断(选哪些 id、顺序、理由、比较维度),由服务端从会话内记录工具返回的事实(标题、价格、图片、指标值、变更记录)中补齐数据,前端不渲染模型编写的值。

主要能力:每个组件对应一个 PresentationComponent 规格,声明工具名、宿主渲染的组件字符串、校验参数的 payload_model 与 enrich 钩子,统一由 run_presentation 执行校验、补齐并发出 ui 事件。enrich 钩子会丢弃无来源的 id 并加注说明;无剩余时抛出 PresentationRefused,命名了 gate 则作为挂起调用返回,否则为错误。购物侧从 ShoppingSessionState.seen_products、购物车或订单读取拼接;商家侧从 latest_snapshot、seen_series、seen_campaigns、seen_analyses、seen_listings、seen_changes 拼接。present_suggestions 是唯一携带建议标签的工具,最多四个,经 sanitize_suggestion_chips 过滤不可见与控制字符、折叠空白、去空、每项 80 字符;一轮干净的展示调用含 present_suggestions 即结束回合。事件流由 streaming.py 定义,to_sse 负责封装,宿主可忽略未知类型。带 enrich_partial 的规格支持渐进式渲染:请求标记 eager_input_streaming,编排器用 parse_partial_json 解析缓冲,partial_signature 变化时产出 ui_partial,最终 ui 事件以同一 stream_id 替换。

内置组件:购物侧有 present_products、present_comparison、present_plan、present_guide、present_order_status、checkout(仅渲染购物车,不扣款)、present_suggestions、present_disclosure(需 enable_disclosures);商家侧有 present_metrics、present_digest、present_change_preview、present_suggestions。

扩展方式:实现 PresentationExtension(模型可见的工具描述与 input_schema、同形校验的 payload_model、组件名、enrich 钩子),通过 extra_presentation_tools 传给 ShoppingAgent 或 MerchantAgent;Agent SDK 与 MCP 路径需子类化 toolset 或传 executor_class。build_tools 会拒绝与内置同名的扩展。仓库含七个垂直示例,各自保留类型与卡片。

限制:资料未提供部署平台、收费与价格信息;部分钩子为同步,仅从会话状态拼接;非 JSON 文本流会作为错误结果返回模型并继续该轮;MCP 服务器构建工具时不含 status 参数。