Skip to content

Auto-advisor 模式

@advisor 仅在阻塞性决策上提供独立的第二意见 —— 且仅在确有必要时(见 advisor 协议中的节俭规则)。非阻塞决策始终以声明假设的方式继续推进。


模式说明

模式行为
off(默认)不调度 @advisor;编排器独自决策。手动 @advisor 仍可用。
lite调度 @advisor;向用户同时展示两方意见,由用户决定。
full调度 @advisor;FACTUAL 类问题置信度 >= 8 → 自动执行(每会话最多 10 次,之后降级为 lite);否则走 lite 流程。

切换

/auto-advisor off
/auto-advisor lite
/auto-advisor full

auto-advisor-mode 插件在 LLM 看到命令之前就写入了配置,因此切换是代码级可靠的。


状态持久化

  • 存储位置opencode.jsonc 中的 autoAdvisorMode 字段——无隐藏状态文件、无环境变量。取值:off / lite / full
  • 解析顺序:项目配置(opencode.jsonc.opencode/opencode.jsonc)→ off(默认)。纯项目级 —— 没有全局回退。
  • 写入仅限项目级/auto-advisor <mode> 在项目 opencode.jsonc 中更新该字段(保留注释与其他字段);永远不修改全局配置。
  • 取值跨会话和跨进程持久化,作用域为单个项目。

Red-team 立场(对抗式设计审查)

一种可选的调度方式,@advisor 会反对提案而非平衡选项:

  • 触发条件:用户明确要求("压测这个方案" / "red team this" / "唱反调"),或编排器在不可逆设计决策前自动触发(schema 迁移、公开 API 契约、认证重构、破坏性数据操作)。
  • 输出:裁决(HOLDS / HOLDS WITH CAVEATS / FAILS)+ 按严重性排序的攻击列表 + 钢铁人辩护。
  • FAILS 时:编排器将攻击发回设计负责人要求反驳/修订,然后向用户同时展示攻击和反驳。
  • 自动执行隔离:red-team 输出不携带置信度分数;代码级守卫抑制所有自动执行指令 —— 对抗式裁决永远不会触发 full 模式自动执行。

基于 MIT 协议发布。