更新回退:如果自动更新失败,请执行一次 hephaestus update。即使不更新,当前版本的命令仍可正常使用。
/hep-storm
在此工作空间内,通过 Stormbreaker 循环(赫菲斯托斯强健的、验证器优先的执行循环)驱动一个目标。与一次性回答或通用的并行扇出不同,Stormbreaker 将目标路由至真实的 Agentlas 专家,将工作结构化为一个依赖有序的流水线织物,将每个工作包作为加固的目标循环来驱动(不会停滞、失控或谎报成功),并且拒绝在没有证据的情况下报告成功。也可通过 @Hephaestus storm <goal> 触发。
适用于需要循环的工作:应用、网站、代理、自动化、调试、多步骤研究、数据/报告生成——任何涉及文件、工具、测试或外部校验的工作。琐碎的问题应直接回答,无需使用 storm。
核心拥有的目标 + UltraCode 工具集
每个结果都包含 execution_harness。在规划或执行数据包之前,逐字应用 execution_harness.system_prompt,保留其 prompt_sha256,并且切勿在此适配器中重新定义 Goal 模式或 UltraCode 模式。当主机提供时,通过 AGENTLAS_SESSION_INVENTORY 传递实时会话 JSON;否则使用 Core 的显式 host:primary 回退。
目标就是用户在 /hep-storm 后输入的精确文本。
如何运行
逐字运行下方的 shell 块,仅将 GOAL 值替换为用户的确切目标文本。该块通过绝对路径解析赫菲斯托斯运行器并执行它——无需安装任何内容,也无需向 PATH 添加任何内容。在代理运行时中,你就是执行者:引擎为你提供经过验证的计划(执行织物);你使用自己的工具来执行它。
护栏——不要执行以下任何操作。这些不是此工作流的正确方式,并且之前曾导致虚构的报告:
- 不要诊断
command not found或PATH,也不要编辑~/.zshrc。 运行器通过块内的绝对路径解析。- 在未获得验证器的证据之前,不要声称数据包、门禁或外部操作已成功。一次实例化或已调度的运行并非证据。
- 如果运行器确实缺失,请直接说明并停止。切勿编造修复或运行。
GOAL="<替换为用户在 /hep-storm 后输入的精确文本>"
case "$GOAL" in
"<replace"*) echo "GOAL 占位符未填充——请先替换用户的目标。" >&2; exit 2 ;;
esac
RUNNER=""
for candidate in \
"$HOME/.agentlas/runtime/current/bin/hephaestus" \
"./bin/hephaestus"
do
if [ -n "$candidate" ] && [ -x "$candidate" ]; then RUNNER="$candidate"; break; fi
done
if [ -z "$RUNNER" ]; then
for cache in "$HOME/.claude/plugins/cache/agentlas-core-engine/hephaestus" \
"${CODEX_HOME:-$HOME/.codex}/plugins/cache/agentlas-core-engine/hephaestus"; do
newest="$(ls -d "$cache"/*/bin/hephaestus 2>/dev/null | sort -V | tail -1)"
if [ -n "$newest" ] && [ -x "$newest" ]; then RUNNER="$newest"; break; fi
done
fi
[ -n "$RUNNER" ] || { echo "未找到赫菲斯托斯运行时。请先运行安装程序。" >&2; exit 1; }
if [ "${HEPHAESTUS_AUTH_AUTOPOPUP:-1}" != "0" ]; then
"$RUNNER" auth ensure >/dev/null 2>&1 || true
fi
# 为此目标路由并实例化流水线织物。没有 --executor-command:
# 主机模型(你)原生执行每个数据包。--research-evidence 将计划/研究数据包
# 与 Research Engine 回执联系起来。
FABRIC="$("$RUNNER" hep-storm "$GOAL" --research-evidence --runtime "${AGENTLAS_HOST_RUNTIME:-terminal}")"
printf '%s\n' "$FABRIC"
处理路由决策
读取 route_decision.action(或 route_action)并进行分支处理——Stormbreaker 仅为流水线自动实例化完整的织物;其他操作仍会启动风暴,但会使用路由器选择的工作力:
action: "pipeline"—— 结果包含execution_fabric(packets、parallel_groups、sessions、resume_policy)、每个数据包的write_scope和goal/验证器、一个pipeline_id、一个journal路径以及final_gate标准。运行下方“运行 Stormbreaker 循环”中的完整循环。action: "clarify"—— 目标不明确。一次询问clarify_question及其候选列表(作为一个批次),然后用精炼后的目标重新运行该块。这是范围锁定的歧义门禁;不要猜测越过它。action: "route"(单卡)—— 单一代理风暴:借用该卡并将其附加到此项目运行,然后仍然执行验证 → 修复 → 最终门禁步骤。action: "hub_fallback"/"hub_candidates"—— Hub 查找仅使用了修订后的关键字。如果execution块列出了recommended_agents,则通过"$RUNNER" hep-call "<agent>" "<goal>" --project .按阶段顺序借用每个代理,并将其附加到此仓库运行;否则报告候选者并提供/hep-build。action: "propose_new"—— 不存在合适的匹配;提供通过/hep-build构建一个。action: "refuse"—— 解释reasons(例如循环保护)并停止。不要围绕它重试。
在织物上运行 Stormbreaker 循环
根据此协议将目标执行至完成。不要停下来请求确认——这是一次强健的运行。仅在目标得到验证,或确实受到认证、付费、策略、缺少密钥/工具或需要用户审批的阻碍时才停止。
- scope-lock (范围锁定) —— 将目标重述为一个句子并锁定它。检查路由决策的失败记忆。如果(且仅当)目标过于模糊而无法安全分解,则一次询问 3–5 个问题(不该做什么 / 最小版本 / 完成信号 / 依赖项),然后继续。如果已经明确,则不询问任何问题。
- issue contract (发放合同) —— 编写验收标准:每个数据包以及整个目标的具体的、可检查的完成信号。这些将成为循环的停止标准。
- plan-lock (计划锁定) —— 采用织物的
parallel_groups和depends_on顺序作为计划。打开一个可见的目标账本:数据包、所有者、验证门禁、状态、恢复点。 - act (执行) —— 执行下一个未阻塞的组。在运行时支持的情况下,并发运行组内的独立数据包。当数据包的
card指定了 Agentlas 专家时,通过"$RUNNER" hep-call "<card>" "<goal>" --project .借用并将其附加到此项目运行,而不是角色扮演它。将工件写入每个数据包的write_scope。 - verify (验证) —— 数据包仅通过可单独归因的、经过验证的验证才算通过。一个
loop.goal_command以 0 退出可能结束目标循环,但它不能验证执行者自身的输出或自我证明成功。需要一个独立的验证器和经过哈希验证的工件证据。“它运行了”绝不代表成功。 - bounded repair/retry (有限修复/重试) —— 在具体验证失败时,修复并重新运行该数据包——有限制。遵守目标循环预算:容忍间歇性故障并带有退避,在连续无进展迭代后将数据包停止为
stalled,并且绝不超过其迭代上限。恢复的运行从日志继续,不会重新开始。 - final-gate (最终门禁) —— 仅当织物的最终门禁清除(
can_report_success)时才报告成功。对产生的工件运行证据/安全门禁。
保持可见进度简洁:尝试了什么,验证了什么,以及如果受阻应该从哪里恢复。切勿暴露隐藏的推理——仅显示进度、证据、决策和最终状态。
循环不变性(为何这胜过一次性循环)
- 不要中断 (안 끊기게): 瞬态数据包故障会被记录并带有退避重试,而非致命。只有真正的连续硬故障才会停止运行。
- 不要失控: 硬迭代上限加上停滞检测——测量到的无进展会将循环停止为
stalled而不是空转。 - 坚持目标直到完成 (될 때까지): 循环仅在验证器证明时报告
reached_goal。没有任何单纯的“它运行了”会被计数。 - 承受硬停止: 每个数据包都是一个日志步骤,因此被终止的运行会从其日志恢复编号,而不是冲突或从零重新开始。
硬性规则
- 不允许虚假通过。 如果引擎不可用,缺少账户/工具/连接器/浏览器会话,或者门禁未运行,则将运行报告为 受阻或未验证,并附上确切的下一个步骤 —— 绝不作为完成。一次已调度或实例化的运行不是外部操作成功的证据。
- 路由器仅选择代理并获取 BYOM 捆绑包。实际的工具执行遵循此运行时自身的安全和权限模型。
- 在你的最终消息中报告
receipt_id、pipeline_id和journal路径,以便运行是可审计和可恢复的。
示例
/hep-storm 构建一个可运行的候补名单着陆页,并带有经过验证的注册流程
/hep-storm 为这个仓库的支付错误创建 PoC、修复它并通过回归测试进行验证
@Hephaestus storm 将这个研究问题转化为一份带有证据的引用报告
更新回退:如果自动更新失败,请执行一次 hephaestus update。即使不更新,当前版本的命令仍可正常使用。