SuperAPI AI 工具集

loom-ask-user

智能体与模型

查看项目

更新于 10-17 01:23

技能介绍

/loom-ask-user

当前已发布的 AO/SO 运行时版本:0.4.0。

这是 AO/SO 精确的共享发布集版本,并非功能可用性声明。

用途

该技能是面向 Agent 的首选澄清与结构化用户输入入口。其契约独立自洽:接受调用方 Agent 的问题,通过 AO 或 SO 运行时二进制启动一次问询会话,返回经过校验的答案和回执。它不需要也不创建 WorkflowInstance、AskUser 节点、活动工作流等待或工作流上下文。当多个问题可以事先确定时,应放入一个有序表单并收集一次提交;仅对真正存在依赖关系的后续问题才再次询问。

XO Ask 及其消费方

XO Ask 是现有 AgentOrchestrator(AO)或 SkillOrchestrator(SO)应用宿主所暴露的共享问询能力的简称。它不是第三个产品、包族或 xo.exe 二进制。

各消费方职责与是否需要工作流:

  • AO/SO 二进制中的 XO Ask:共享问题契约、浏览器会话、校验、本地草稿与回执;不需要工作流。
  • /loom-ask-user 技能:面向 Agent 的同级消费方,负责整理调用方问题、启动 XO Ask、返回答案与回执;不需要工作流。
  • AskUser 工作流节点:面向工作流的同级消费方,负责声明节点问题、将回执映射到工作流自有上下文,并由所属运行时恢复;按该可选适配器的定义需要工作流。

技能与节点独立消费同一基础设施。技能不调用、不依赖该节点;节点也不调用、不依赖技能。工作流节点可将 CommandTransition.UserInput、requiredInputs 与 SO 所有权校验作为其自身的投影契约予以保留,但这些字段不是独立使用技能的前提。

当前已发布能力

截至已发布的 0.3.334-beta 包集,已验证的 SO 应用宿主帮助未暴露独立 ask 命令;同运行时源码线的 AO 应用宿主也没有该命令。这是实现缺口,不应成为将技能重新定义为绑定工作流的理由。不要声称 .334-beta 可以完成独立路线;不要静默创建 AskUser 工作流节点,也不要回退到 Agent 原生提问界面来掩盖缺失的二进制能力;应如实报告确切的运行时限制。

当已发布的 AO/SO 应用宿主暴露独立 ask 入口点后,使用下述路线。

路线

  1. 按调用方意图的顺序收集其相互独立的问题。保留每个提示的意图、上下文、答案类型、选项、必填状态与约束;不要求工作流上下文路径。
  2. 从本技能已发布的 AO/SO 发布集版本块解析精确版本,并检测宿主 RID。
  3. 当标准 NuGet 缓存中已有经过验证的同版本 AO 或 SO 包时复用。如果该精确版本与 RID 的两个产品包均未缓存,则优先获取精确的 AO 包。绝不解析浮动 latest 版本,也不得将本地/测试构建作为发布权威。
  4. 校验包 ID、精确版本、RID、哈希、运行时清单、安全 ZIP 路径与应用宿主。直接调用匹配的自包含应用宿主;捕获并校验全新的 ao --guide 或 so --guide,然后确认所选应用宿主暴露其独立 ask 入口点。
  5. 将完整的带版本契约写入磁盘文件,然后以 ao ask start --contract-file <path> 或 so ask start --contract-file <path> 启动。仅呈现宿主批准的浏览器路由;配对 URL 不得出现在常规进度文本、日志与审计输出中。
  6. 用户提交后,用同一二进制以 ao ask result --ask-id <id> 或 so ask result --ask-id <id> 查询。提交后返回带类型的答案及回执。本技能不执行工作流恢复。

答案语义

按含义选择答案类型并使用答案语义。默认值会预填控件,但不满足必填答案。共享服务端校验器为权威。每个结果以稳定的 question ID 为键;独立答案不需要 contextPath 绑定。

可选工作流节点适配器

当工作流显式使用其 AskUser 节点时,该节点可消费共享 XO Ask 服务。在该路径中,节点拥有工作流专属契约:contextPath 绑定、requiredInputs,以及(对 SO 而言)validation.declaredUserOwnedFields。所属 AO/SO 运行时校验回执,将答案投影到同一工作流副本并恢复它。这是同级消费方路径,而非 /loom-ask-user 的前提或实现依赖。

技能包位于 .agents/skills/loom-ask-user/,与 NuGet 运行时 .nupkg 分离;共享 ask 实现由 AO/SO 运行时发布集提供,而非技能专属二进制。参见运行时依赖与 AskUser 指南。

安全

  • 配对 URL 属于机密。仅将其传递给已批准的浏览器能力;绝不在常规进度消息、日志或审计摘要中重复。
  • 仅使用宿主批准的路由。绝不从请求头推断公共 URL,也不创建隧道。
  • 不要将用户提供的远程 URL 作为附件抓取。使用受支持的本地字节上传路径。
  • 将附件保持在配置的大小/类型限制内,并针对自动化探测使用合成数据。