mcpField
H
harness-adapters

harness-adapters

github.com/kunchenguidAgent 工作流8.4k49 次安装今天更新
代码仓库

关于 harness-adapters

harness-adapters 是 Firstmate 技能,负责将特定运行环境的操作路由到相应参考资料和已验证运行时。它规定了 Worker 调度与控制所需的检测、安全和路由规则。

主要功能

  1. 01将操作路由到运行环境参考资料
  2. 02根据已验证信号识别运行环境
  3. 03解析 Worker 运行时覆盖项
  4. 04规定安全的控制与恢复路径

适用场景

  1. 01为特定运行环境的任务选择参考资料
  2. 02调度 Worker 前核实运行时
  3. 03通过记录的运行环境恢复或控制 Worker

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/kunchenguid/firstmate --skill harness-adapters

安装后在 Claude Code 中输入/harness-adapters确认已加载。

详细介绍

harness-adapters

这是 Firstmate 特定操作中,负责 harness 的唯一技能、触发器和路由管理方。 请先加载此路由器,然后只加载下文选定的通用参考和一个 harness 参考。 当某项操作涉及多行时,只加载一次这些行对应参考的并集,而不是加载每份参考。 references/ 下的文件是此技能的资源,不是额外编入目录的技能。

路径约定

技能目录是包含此 SKILL.md 的目录。 解析按需加载的参考链接,以及指向可执行文件、文档或同级技能管理方的相对链接时,应以技能目录为基准,包括嵌套参考中提及的链接。 操作路径保留其所属管理方指定的上下文:config/ 和活动 home 设置属于活动 Firstmate home,state/ 属于该 home,而 .claude/settings.json 等项目设置则属于目标项目。

不可妥协的安全要求

绝不在未经验证的 adapter 上派遣 crewmate 或 secondmate。 如果 config/crew-harness 或 config/secondmate-harness 指定了某个 adapter,请告知 ../../../AGENTS.md 第 9 节中的 captain:请求的工作进程运行时尚未验证;当前工作使用 Firstmate 自身已验证的运行时,并仅询问是否要为未来工作验证请求的运行时。 不要因等待此选择而暂停当前工作。

遇到 unknown 时,询问 captain,不要猜测。 当前 captain 覆盖设置优先于检测结果,而单任务覆盖设置仅适用于该次派遣。 执行恢复和控制操作时,使用 state/<id>.meta 中的确切 harness=;绝不要根据模型或提供方推断。 生命周期操作只能通过 ../../../bin/fm-control.sh <task-id> interrupt|exit|relaunch 执行。 绝不要通过 fm-send 输入中断按键或退出命令,因为带路由标记的生命周期文本会变成聊天内容。 只有在检查证实目标已开始处理其指令时,才算完成信任处理;仅仅成功发送并不能证明这一点。 Muse、Gemini、AGY、Devin、Command Code、Polytoken 和 Cortex 仅对 crewmate 和 scout 工作经过验证,绝不用于 secondmate 或 primary。

检测

../../../bin/fm-harness.sh 根据已验证的环境标记和进程祖先信息输出 Firstmate 自身的 harness,并负责确定二者的组合方式。 标记会指明其 harness,但不同 harness 的结构性祖先优先级更高,因为标记只是普通环境状态,子进程或多路复用器可能会保留该状态;而祖先关系能够证明谁拥有该进程树。 只有在启动边界处存在 FM_PI_HARNESS=pi-signed,且同时满足 PI_CODING_AGENT=true 时,才会选择 Pi-signed;未标记的共享启动器祖先仍表示 Pi。 omp 不会发布自己的标记;FM_OMP_HARNESS=omp 是 Firstmate 的启动标记,而锚定的进程名 omp 是其祖先证据,详见 references/harness/omp.md。 ../../../bin/fm-spawn.sh 负责建立工作进程标记,而 README 启动命令负责签名主进程边界。 ../../../bin/fm-harness.sh crew 会解析 config/crew-harness,若该配置缺失或为 default,则表示使用 Firstmate 自身的 harness。 docs/configuration.md 负责解析 secondmate 固定配置,包括按 mate 单独设置的覆盖项;bin/fm-harness.sh 负责解析器命令。 ../../../bin/fm-spawn.sh 每次生成时都会重新解析,显式的单次生成参数对该次生成具有优先权。 新 adapter 的已验证标记和命令名称必须写入 ../../../bin/fm-harness.sh。

操作到参考项矩阵

每个生成的计划都会在指定的通用参考项之后,附加选定或记录的测试框架参考项。 harness-adapter-routing-v1 对象是机器可读且人类可见的选择约定:选择操作,选择其中的场景,然后附加选定的测试框架参考项。 当没有更具体的场景适用时,default 是常规场景。 Kimi 在其选定的测试框架参考项中明确其不支持的主要边界;Muse 和 Gemini 遵循上文的不可妥协安全要求。 在 verify 计划、其测试框架条目、所有指定负责人以及实时检查均落实之前,新工具无法调度。

{
  "operations": {
    "start": {
      "default": ["references/common/dispatch.md", "references/common/model-and-effort.md"],
      "trust-dialog": ["references/common/control-and-recovery.md"]
    },
    "trust": {"default": ["references/common/control-and-recovery.md"]},
    "skill": {"default": ["references/common/control-and-recovery.md"]},
    "interrupt": {"default": ["references/common/control-and-recovery.md"]},
    "exit": {"default": ["references/common/control-and-recovery.md"]},
    "resume": {"default": ["references/common/control-and-recovery.md"]},
    "recovery": {
      "default": ["references/common/control-and-recovery.md"],
      "replacement-profile": ["references/common/control-and-recovery.md", "references/common/dispatch.md", "references/common/model-and-effort.md"],
      "secondmate": ["references/common/control-and-recovery.md", "references/common/primary-hooks.md"],
      "replacement-secondmate": ["references/common/control-and-recovery.md", "references/common/dispatch.md", "references/common/model-and-effort.md", "references/common/primary-hooks.md"]
    },
    "primary": {"default": ["references/common/primary-hooks.md"]},
    "model-effort": {
      "default": ["references/common/model-and-effort.md"],
      "configured-profile": ["references/common/model-and-effort.md", "references/common/dispatch.md"]
    },
    "verify": {"default": ["references/common/dispatch.md", "references/common/control-and-recovery.md", "references/common/primary-hooks.md", "references/common/model-and-effort.md"]}
  },
  "harnesses": {
    "claude": "references/harness/claude.md",
    "codex": "references/harness/codex.md",
    "opencode": "references/harness/opencode.md",
    "pi": "references/harness/pi.md",
    "pi-signed": "references/harness/pi.md",
    "grok": "references/harness/grok.md",
    "kimi": "references/harness/kimi.md",
    "cursor": "references/harness/cursor.md",
    "gemini": "references/harness/gemini.md",
    "muse": "references/harness/muse.md",
    "rovo": "references/harness/rovo.md",
    "omp": "references/harness/omp.md",
    "agy": "references/harness/agy.md",
    "devin": "references/harness/devin.md",
    "commandcode": "references/harness/commandcode.md",
    "polytoken": "references/harness/polytoken.md",
    "cortex": "references/harness/cortex.md"
  }
}

评论

支持 Markdown