尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

oh-my-pi 用 WATCHDOG.yml 配置多顾问花名册:每个 advisor 的模型、工具授权与专属指令

oh-my-pi 用 WATCHDOG.yml 配置多顾问花名册:每个 advisor 的模型、工具授权与专属指令 oh-my-pi 用 WATCHDOG.yml 配置多顾问花名册每个 advisor 的模型、工具授权与专属指令【免费下载链接】oh-my-pi⌥ Coding agent with the IDE wired in项目地址: https://gitcode.com/GitHub_Trending/oh/oh-my-pi在 oh-my-piomp的 coding agent 会话中advisor 子系统可以为会话挂上一个或多个评审模型每个 advisor 审阅主 agent 的对话增量用自己的工具查看工作区再把建议注回主会话。当评审需要分工时——例如一个负责架构、一个允许动手改代码验证——就可以用WATCHDOG.yml声明一个多顾问花名册为每个 advisor 单独指定模型、授予工具、附加专属指令。本文基于 docs/advisor-watchdog.md 与 docs/settings.md 中记录的字段和命令说明如何完成这条配置路径并验证花名册生效。先启用 advisor 并准备默认模型花名册生效前advisor 子系统本身必须开启。子系统要求设置advisor.enabled: true模型解析则取决于花名册没有发现任何WATCHDOG.yml条目时OMP 创建 legacy/default advisor其模型从modelRoles.advisor解析有花名册时每个启用的条目如果显式写了model就用显式值否则回落到modelRoles.advisor解析不到模型的条目会报告no_model但不会阻止其他条目运行advisors[].enabled: false的条目会保留在状态里显示为 paused但不构建运行时。最小配置示例来自文档modelRoles: advisor: anthropic/claude-sonnet-4-5:medium advisor: enabled: true模型选择器走常规的角色/模型解析支持带 provider 前缀的 id、规范 id、fallback 列表和可选的 thinking 后缀如:medium、:high。此外tier.advisor控制所有 advisor 的服务层级默认none设为inherit会跟随主 agent 的实时层级包括/fast切换具体值auto、default、flex、scale、priority只在 advisor 模型的 provider 家族支持时生效。/advisor系列斜杠命令可以在不修改持久化配置的情况下按会话开关/advisor on启用、/advisor off停用、/advisor status查看状态。无头运行时可用--advisor只为一次 print-mode 进程开启 advisor例如文档给出的命令omp -p --advisor Review this task.在正确位置写 WATCHDOG.yml 花名册WATCHDOG.yml或WATCHDOG.yaml就是 advisor 花名册。它的发现路径与WATCHDOG.md相同用户级active agent dir/WATCHDOG.yml默认~/.omp/agent/WATCHDOG.yml可用PI_CODING_AGENT_DIR迁移目录项目级从当前cwd向上走到 git 仓库根找不到仓库根则走到 home 目录沿途每层的WATCHDOG.yml与.omp/WATCHDOG.yml都会被加载不会在最近的某个项目文件处停止。所有发现的文件一起加载同一 advisor slug 在多个文件中重复时按项目叶子 项目祖先 用户的优先级更具体的文件替换先发现的条目。顶层instructions则跨所有发现的WATCHDOG.yml文件拼接。解析或 schema 校验失败的文件会被记录日志并跳过不会拖垮整个会话。文档给出的完整示例如下其中anthropic/claude-sonnet-4-5等模型 id 直接取自文档instructions: | Everyone: prefer diffs that keep tests unified. advisors: - name: Architecture enabled: true model: anthropic/claude-sonnet-4-5:medium tools: [read, grep, glob] instructions: | Watch cross-module coupling and public-API growth. - name: Fixer enabled: false model: anthropic/claude-sonnet-4-5:high tools: [read, grep, glob, edit, bash] instructions: | You may edit and run tests to prove a fix locally, then advise.各字段含义以 docs/advisor-watchdog.md 为准instructions顶层共享提示词与WATCHDOG.md一起前置到每个 advisor 的系统提示advisors[].name人类可读标签会被 slug 化后用于会话 id 与__advisor.slug.jsonl文件名advisors[].enabled可选的逐条开关默认truefalse仅在状态/配置视图中显示为暂停advisors[].model可选模型选择器可带:levelthinking 后缀省略时该 advisor 使用modelRoles.advisoradvisors[].tools要授予的内置工具名列表省略时默认read/grep/glob显式[]表示不授予任何调查工具advisors[].instructions该 advisor 的专属指令追加在共享基线之后。两个instructions字段都像WATCHDOG.md一样支持path导入。也可以不手写文件/advisor configure会打开交互式 TUI 编辑器直接编辑项目级或用户级的WATCHDOG.yml非 TUI 宿主会提示该编辑器仅支持 TUI。理解每个 advisor 的工具授权默认情况下每个 advisor 只有advise工具加上read、grep、glob三个调查工具。花名册条目可以从中收窄也可以放开到任意本会话中实际构建成功的内置工具包括会改状态的工具edit、write、bash、eval、debug、ast_edit、task、hub及 memory 工具。要点可选的授权名单以 builtin-names.ts 中的BUILTIN_TOOL_NAMES为准工厂返回null的工具例如当前不可用的lsp不在可选范围内旧别名search→grep、find→glob会被归一化未知工具名会被丢弃并给出警告——如果丢弃后剩下空列表且原始输入非空实现目前按省略处理回落到默认的read/grep/glob子集已启用的 browser/computer prelude 通过eval触达不是直接授权的工具名advisor 的工具跑在独立的 advisorToolSessionid 带-advisor后缀里不共享主 agent 的文件快照、已读行跟踪、冲突状态和摘要缓存但tools.approvalMode、逐工具审批策略和autoApprove照常生效。所以把edit、bash这类授权给某个 advisor 前应确认该模型与工作区是可信的。验证花名册是否生效文档给出的核对手段集中在/advisor命令上/advisor status显示每个 advisor 的运行时状态、模型、上下文用量、token 用量和成本。子系统已启用但 legacy/default 或花名册模型都解析不到时状态会把配置的 advisor 标为 inactive/no_model/advisor dump把紧凑版转录有花名册时是所有活跃 advisor复制到剪贴板/advisor dump raw包含系统提示、工具、thinking 和调用命名 advisor 的每个已定型回合都会追加到所属会话工件目录下的 JSONLlegacy/default 为session/__advisor.jsonl命名 advisor 为session/__advisor.slug.jsonl。omp stats递归扫描会话目录advisor 的用量和成本会归属到对应项目/会话Agent Hub 打开时也会把这些__advisor*.jsonl显示为只读的advisor类型转录可用来确认每个 advisor 实际参与了评审。注意 advisor 是被动的评审者它不批准动作、不直接改主会话状态其建议以advisory元素注回主转录命名 advisor 会带advisor属性例如文档中的示例advisory advisorArchitecture severityconcern guidanceweigh, dont blindly obey note text /advisoryadvise工具接受一条注释和可选 severity省略或nit为不打断的旁注在下一个步骤边界批量并入转录concern与blocker是打断式的转向消息其中blocker在交付约束允许时可以触发新一轮。限制与常见边界解析/schema 失败的WATCHDOG.yml只会被跳过并记日志检查配置是否被加载时应先看日志与/advisor status而不是假设文件生效某条目模型解析失败只影响该条目no_model其余条目照常运行——状态里出现单个no_model不必怀疑整个花名册advisors[].enabled: false不等于删除条目仍可见但不会构建运行时advisor 的上下文是内存中的追加式上下文会独立执行提升/压缩/重灌re-prime/advisor dump能查看它但它不是主持久化转录的替代品advisor 不是对等 agent它被排除在 hub 对等名册、history://索引和消息通道之外无论被授予什么工具都不可被作为 peer 寻址。相关调优项advisor.syncBacklogoff/1/3/5控制主 agent 在 advisor 落后时最多等待多久上限 30 秒的有界追赶行为详见 docs/advisor-watchdog.md 的 Bounded catch-up 一节advisor.immuneTurns默认3限制打断频率一次concern/blocker通过转向通道送达后后续同级别注释会按不打断旁注处理直到指定数量的主回合完成子 agent 默认不带 advisor通过 agent 定义 frontmatter 的advisor字段或task.agentAdvisor设置逐 agent 开启子 agent 会话会用自己的cwd和 agent 目录重新跑一遍WATCHDOG.md与WATCHDOG.yml的发现流程。配置完成后用/advisor status确认每个条目都处于运行状态且模型正确再在真实任务中观察主转录里出现带advisor属性的advisory元素即可判定多顾问花名册已按预期工作。【免费下载链接】oh-my-pi⌥ Coding agent with the IDE wired in项目地址: https://gitcode.com/GitHub_Trending/oh/oh-my-pi创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表