SuperAPI AI 工具集

harness

前端与建站

查看项目

更新于 10-15 22:17

技能介绍

用途:harness 是持久化的回合循环,将 session-manager、llm-router 和 context-manager 连接成一个智能体。消费方保持轻量:发起一个回合,从会话记录渲染对话,并对回合边界和人工把关的调用做出反应。harness 在生成时把助手消息流式写入会话,因此你观察的是会话而非 harness——没有 agent::events 流,harness::status 是时间点恢复读取,不是渲染数据源。

主要能力:每次调用都是触发器(iii.trigger({ function_id, payload })),没有单独的 call 动词。工具分发默认拒绝:不带 options.functions.allow 的 send 是普通聊天循环,模型请求的每次调用都会被拒绝,直到你按 send 允许 glob。会话由 harness 生成(s_<uuid>)或由你提供;向运行中的回合发送会作为引导合并(merged: true)而非报错,重复的 idempotency_key 返回原回合且不追加。

使用方式:面向消费方的函数有 harness::send(确保会话、持久化消息并启动回合,快速返回或合并进运行中回合)、harness::stop(请求取消进行中的回合,级联到派生的子级)、harness::status(读取会话当前回合状态,从未运行过则为 null,用于恢复和守卫而非渲染)、harness::spawn(在子会话中派生 sub-agent,面向模型,经 agent_trigger 调用)、harness::ask(以可点击卡片向用户提出带离散选项的决策,1–4 个问题、每个 2–4 个选项,面向模型,由回合循环自身回答)。内部函数由 harness 驱动,切勿直接触发。

适用场景:启动或引导 agent 回合并立即返回;取消进行中的回合或读取粗略回合状态用于恢复与守卫;通过绑定 harness::turn-completed 串联回合或响应结果;把任意入站事件(cron、webhook、传感器)转换为 harness::send 来驱动回合。

限制:前置依赖 session-manager(必需,记录存储与变更流)和 llm-router(必需,生成与模型目录);context-manager 为软依赖,缺失时发送原始历史;approval-gate 可选,缺失时允许的调用无门控运行。它不是记录流,应从 session-manager 的 session::message-added / message-updated / status-changed 渲染;不是审批引擎;不是链式守卫,options.max_turns 只约束单个回合。运行中的 agent 不能启动回合,send / run / turn / stop 对模型按策略拒绝,harness::spawn 是 agent 唯一可直接调用的回合启动器。反应式链在深度 8 停止,无扇入汇合原语,需用 workflow worker 汇合并行工作;经状态写入路由的循环会以深度 0 重新进入且不受节流,应设计无环反应图。钩子仅供操作方信任的策略同级绑定,普通消费方不绑定。