Reflect 是一个面向“从重复工作中学习”的编排器工作流,产品定位是回顾近期工作、发现重复的工作流模式,并据此建议可复用的技能、智能体、命令、配置改动或操作剧本。其核心目标是识别真实存在的重复摩擦,并用证据支撑的实用改进建议。
用途与触发方式
当用户要求运行 /reflect 或 /reflect <focus>、从近期会话或重复工作流中学习、找出自己反复手动执行的工作、基于实际使用改进 oh-my-opencode-slim 设置(使用 oh-my-opencode-slim 技能)、评估某个反复出现的流程是否应变成可复用剧本,或把重复的工作流摩擦转化为更安全的未来默认行为时,可使用 Reflect。它不适合常规实现工作、一次性调试、宽泛的架构评审,或在工作流证据不足时凭空创建智能体。
核心约定
Reflect 必须保守且证据驱动。要求行为包括:提出新资产前先检查已有资产;优先关注近期、重复、用户可见的摩擦而非孤立事件;建议最小可用形式;证据薄弱时把“不创建任何东西”视为成功结果;在修改提示、技能、命令、智能体、MCP 访问或配置前先征询用户;避免与现有资产重复;说明 OpenCode 配置、提示、智能体、技能、MCP 或插件变更所需的重启要求。
证据来源
按以下顺序使用可用证据:当前对话和用户明确指令;项目本地指引与记忆(如 AGENTS.md、.opencode/、.slim/、笔记、检查点、任务进度文件、代码地图);现有技能、命令、智能体、提示覆盖、MCP 权限及 oh-my-opencode-slim 配置;近期 OpenCode 日志或会话产物(若可用且可安全查看);仅当拟议工作流依赖需确认行为的第三方工具或库时才参考外部文档。需遵守隐私与安全边界,不查看无关个人文件、凭据、私信或外部账户,除非用户明确要求且工作流确有必要。
工作流程
可直接以 /reflect 或 /reflect release workflow and checks 等方式触发。无参数时宽泛回顾近期工作;带参数时聚焦该工作流领域,同时仍检查现有资产是否已覆盖。
第一步,盘点现有资产:识别捆绑及用户安装的技能、自定义智能体及其 orchestratorPrompt 指引、自定义命令、提示覆盖与追加文件、当前 oh-my-opencode-slim 预设/模型路由/技能/MCP 权限,以及项目剧本、文档、代码地图和本地工作流笔记。若现有资产已覆盖候选,应建议扩展或使用该资产,而非创建近似重复项。
第二步,发现重复工作流模式:关注同一命令序列跨会话出现、用户反复请求相同的评审/搭建/发布/调试流程、重复的手动研究或上下文收集步骤、反复需要的专家路由决策、反复重新解释的项目特定规则,以及因智能体缺少稳定指令、工具或权限边界而重复出现的失败。强候选通常至少有两次发生、输入稳定、输出明确、停止条件清晰。
第三步,为候选评分:考虑频率、代价(是否浪费明显的时间、上下文、金钱或注意力)、风险(不一致执行是否导致缺陷、回归、错误决策或不安全变更)、稳定性(输入与期望输出是否可预测)、覆盖度(是否已有资产能很好处理)。仅在置信度高时建议创建或修改资产。
第四步,选择最小可用形式:按由轻到重选择——提示/配置规则(对现有智能体的小行为改动)、技能(针对某类任务的可复用工作流指引)、命令(输入稳定的可重复手动触发)、自定义智能体(有明确委派规则的独立专家通道)、MCP/工具权限变更(对现有智能体做安全访问调整)、项目剧本/文档(自动化过重时的人类可读流程指引),或跳过(弱、一次性、含糊、敏感或已被覆盖的工作)。提示规则或技能足够时避免创建自定义智能体;简短项目剧本足够时避免技能;收益不明时避免配置改动。
第五步,改动前先提议:除非用户明确要求具体编辑,否则在写文件或改配置前给出简明提案,说明发现了哪些强重复工作流与弱候选、建议做什么及依据、哪些跳过及原因,并询问是否继续。应用改动时应保留现有用户设置,优先采用狭窄的追加式编辑。
输出格式
返回紧凑报告,包含:发现(工作流、证据、频率/置信度、建议形式);建议改动(资产/配置/文档,一句话目的及为何是最小可用形式);跳过(候选及当前不值得打包的原因);需要更多证据(候选及使其可行动所需的条件)。若无任何符合条件的项,应说明“未发现强重复工作流,暂不添加或更改任何可复用资产”。
护栏
不得为证明工作流而制造资产;不得创建重叠的技能或智能体;不得静默更改全局配置、提示或权限;不得在没有明确收益时添加让智能体更积极、更昂贵或更具侵入性的宽泛指令;不得过度拟合单次会话,除非用户明确要求该确切的可复用工作流;不得在生成的资产中使用私有或敏感材料作为示例。当配置、提示、智能体、技能、MCP 或插件文件发生变更时,应告知用户:“这应在下次 OpenCode 运行时生效;如需立即生效请重启 OpenCode。”