Files
pikasTech-unidesk/.agents/skills/unidesk-code-queue/references/resources.md
T
2026-07-12 08:12:57 +02:00

4.2 KiB
Raw Blame History

AgentRun 资源原语

新 Code Queue 工作统一使用 AgentRun 资源原语:

  • agentrun create|apply:创建 task 或应用 AipodSpec manifest
  • agentrun get|describe:有界读取列表和详情;
  • agentrun describe task/<taskId> --input -o json:读取可重建 task 输入、AipodSpec identity、资源引用和脱敏 provenance
  • agentrun describe aipodspec/<name>:读取同构、有界且 SecretRef-only 的 AipodSpec 摘要;
  • agentrun events|logs|result:渐进披露运行证据;
  • agentrun get attempts --task <taskId>:读取同一 task 的不可变 attempt 历史;
  • agentrun retry task/<taskId> --idempotency-key <key> --reason <text> [--dry-run]:对终态失败 task 创建下一次 attempt
  • agentrun dispatch|ack|cancel:控制生命周期。

agentrun events 是高频渐进披露入口:

  • 默认 human、-o json-o yaml 最多返回 20 条同构事件摘要,并用一条 lookahead 披露 hasMorenextAfterSeq
  • tool call 只展示 identity、seq/type/status、commandId、工具、命令首行、exit/duration、output bytes/hash、truncation 与 outputOmitted
  • 默认不得展开 stdout、stderr、skill 正文或完整 payload,也不得通过提高全局 stdout 阈值掩盖 dump
  • 单事件有界详情使用 --detail-seq <seq>
    • human、JSON 和 YAML 使用同一 EventDetail 投影;
    • 固定读取同一 run 的 durable event,并校验返回 seq 完全一致;
    • 投影保留 identity、correlation、phase-specific evidence、count/bytes/hash/omitted
    • durable resolutionAuthority 保持原事实或显式脱敏,基于其他字段的非权威判断只进入独立 inference 字段;
    • 标准 Git URL 移除 userinfo、query 和 fragmentSCP-like 与未知 remote 只披露不可逆 fingerprint
    • credential value 和 URL credential 固定脱敏,valuesPrinted=false
  • --detail-seq--after-seq--limit--full--raw 互斥,并在请求 manager 前 fail closed
  • 完整事件继续使用显式 --full--raw,或按 afterSeq=item.seq-1 --limit 1 --full 下钻;
  • 该 CLI 只渲染 AgentRun durable facts,不删除事件、不按正文去重,也不改变 Kafka/SSE 事件链。

AipodSpec describe 必须遵守以下边界:

  • 默认 human、-o json-o yaml 从同一摘要投影渲染;
  • 摘要至少包含:
    • identity/hash 与 lane/profile/provider
    • workspaceRef 与主 resource bundle source identity
    • bundle/required skill/credential 引用计数;
    • 脱敏 provenance
  • credential 只保留 SecretRef 名称、namespace、keys 和安全 projection 字段,固定 valuesPrinted=false
  • 默认输出必须保留 --full -o json--raw 语义化下钻,禁止读取临时 dump 再二次裁剪;
  • 显式完整路径继续返回服务端完整对象,禁止提高全局 stdout 阈值掩盖默认输出缺陷。

task 输入下钻必须遵守以下边界:

  • 默认 describe task/<taskId>Next 必须给出 --input -o json 语义化命令;
  • --input 只读取现有 task durable fact,不创建、复制、retry 或 dispatch task
  • 输出固定为 task create 字段、AipodSpec identity、bundle/SecretRef 和脱敏 provenancecredential 只保留 SecretRef 并声明 valuesPrinted=false
  • --input--full--raw 互斥,非法组合必须在请求服务端前返回带修正路径的 validation-failed
  • 完整服务端资源继续使用显式 --full -o json--raw,禁止提高全局 stdout 阈值来掩盖大输出。

retry 必须遵守以下边界:

  • task identity 不变,每次执行使用新的 attempt、run、command 和 runner Job identity
  • 同一幂等键返回同一 retry 结果,不重复创建 attempt
  • 只允许 Queue 已处于 failedblocked,其他终态与非终态 fail closed
  • --dry-run 由服务端完成与真实 retry 相同的校验,但零写入;
  • retry 不主动刷新 Core 终态。若 Queue 摘要仍是非终态,先通过正式 get taskget attempts 刷新权威状态,再重试;
  • 禁止复制或重置 task,禁止在 UniDesk 增加 scheduler、backoff、judge、projector 或直接 runner 编排。

不要在 legacy codex 下增加新的 mutation 路径。