SuperAPI AI 工具集

uipath-feedback

智能体与模型

查看项目

更新于 10-16 02:09

技能介绍

用途

uipath-feedback 是 UiPath 官方技能(Skill),用于通过 uip feedback send 命令向 UiPath 提交结构化的缺陷报告(bug report)或改进建议(improvement suggestion),并自动捕获排查所需的上下文信息。当用户表达“报告问题”“发送反馈”“提交 bug”或使用 /uipath-feedback 命令时会触发该技能。

主要能力

  • 自动从对话中收集上下文,最大程度减少用户交互。设计原则是「最小摩擦」:代理已从对话中知道出错原因,就不重复询问。唯一必需的交互是发送前的确认。
  • 自动检测产品区域(area)。根据对话中最后运行的 uip <verb> 命令映射到区域标签,例如:uip rpa … 或 project.json + .cs/.xaml 映射为 RPA;uip maestro flow … 或 *.flow 文件映射为 Flow;uip maestro bpmn … 映射为 BPMN;……;无法识别时回退到工作目录,再回退到对话上下文。
  • 自动捕获环境信息:uip --version、uip login status --output json(仅提取 tenantName、organizationName、baseUrl)、uip tools list(提取工具名与版本)。
  • 针对不同区域捕获专属排查信息,例如 Flow 捕获 uip maestro flow validate <file> --output json、.flow 文件内容;RPA 捕获 project.json 依赖、uip rpa validate --output json;Agents 捕获 pyproject.toml、bindings.json(脱敏);CodedApps 捕获 package.json 等。
  • 捕获失败命令及其 stderr/stdout(截断至 100 行)、从对话中挑选 3-5 条样例提示词(保留原文、脱敏、总长 1000 字符以内)、生成会话复盘(Intent、Outcome、Tool & Skill Gaps、Friction、Top 3 Improvements)。
  • 自动判定类型(bug 默认 / improvement)与优先级(critical / normal 默认 / minor)。
  • 对所有捕获内容执行脱敏:移除 token、secret、password、apiKey、credentials、authorization、Bearer、client_secret、connection_string 等敏感行;将路径中的家目录前缀替换为 ~;替换 URL 或路径中的用户名为 <USER>;对连接/绑定字段中的 GUID 替换为 <REDACTED>;对超过 150 行的文件保留前 100 行 + 截断标记 + 后 30 行;完整描述不超过 4000 字符。
  • 使用 --description-file 传递多行描述,避免在 Windows PowerShell 下多行参数被破坏导致的 ValidationError。

使用方式

工作流分为五步:

  1. 检查前置条件:运行 uip --version 2>&1。若返回版本则继续;若提示 uip: command not found,则告知用户运行官方安装器(macOS/Linux:curl -fsSL https://download.uipath.com/uipath-cli/install.sh | bash;Windows PowerShell:irm https://download.uipath.com/uipath-cli/install.ps1 | iex)并停止;其他错误则展示错误并停止。
  2. 静默自检与捕获:不再与用户交互,依次执行检测区域、捕获环境、捕获区域专属排查信息、捕获失败命令、捕获样例提示词、会话复盘、自动检测类型与优先级、脱敏。仅当上下文确实不足时(例如用户直接输入 /uipath-feedback 且此前无上下文),才提一个结构化问题。
  3. 构建并确认(唯一用户交互):按标题格式 [<Area>] short description 生成标题(可选在区域后加 [CLI] 或 [Skill] 标签),按固定模板构建描述正文,生成附件,向用户展示预览并等待明确“yes”。标题中不要放类型(Bug/Improvement),类型通过 --type 设置;标题前导的 [Tag] 段会自动成为 Jira 标签。
  4. 发送反馈:将脱敏后的描述正文写入临时文件(使用 Write 工具,路径为系统临时目录下的绝对路径),调用:
uip feedback send \
  --type "<bug|improvement>" \
  --title "<TITLE>" \
  --description-file "<TEMP>/uip-feedback/description.md" \
  --priority "<critical|normal|minor>" \
  --attachment <FILE1> <FILE2> \
  --output json

若 uip login status 提供了邮箱,可加上 --email "<EMAIL>"(邮箱仅出现在 Environment 字段,绝不写入描述正文)。解析 JSON 输出,成功后向用户展示确认信息及返回的 reference ID。若 --description-file 确实失败(网络、认证或真实 CLI 错误),则将完整反馈保存到 ./feedback-report.md 并告知用户。最后清理临时附件:rm -rf "${TMPDIR:-${TMP:-/tmp}}/uip-feedback-attachments"。 5. 报告结果:成功后展示参考 ID、类型、标题;回退到文件时告知保存路径并提示可手动提交或稍后重试。无论成功失败都要清理临时附件。

描述正文使用固定模板与章节:## What happened、## Sample prompts、## Error、## Environment、## Troubleshooting、## Session retrospective。格式规则要求每个章节标题必须使用 ##(两个井号加空格),不得使用编号列表、字母或粗体作为章节分隔符,不得转义 Markdown 字符,描述必须是纯 Markdown。

适用场景

  • 用户在使用 UiPath CLI 或相关技能时遇到错误、崩溃、异常行为,需要提交缺陷报告。
  • 用户希望提出功能建议或改进意见(如“应该支持”“缺少某功能”“技能给错了指引”“没有某命令”)。
  • 用户使用 /uipath-feedback 命令或表达“报告问题”“发送反馈”“提交 bug”。

限制

  • 绝不在未经用户明确确认的情况下发送;发送前必须展示预览并等待“yes”。
  • 绝不包含密钥、令牌、凭据或客户数据;发送前必须脱敏。
  • 绝不包含完整对话历史,仅用 2-3 句话总结;样例提示词最多 5 条。
  • 绝不包含 ~/.uipath/.auth、.env、.git/config、含密钥的环境变量及完整对话历史。
  • 描述正文最长 4000 字符,超出需截断并注明;附件最多 10 个、每个不超过 10MB,超限则跳过。
  • 不要将多行描述内联为 --description "…" 参数,应使用 --description-file;若出现未传选项的 ValidationError,应视为 shell 引用问题而非 CLI 缺陷。