小米发布MimoCode,不过……

随缘式管控

你这就是典型的没使用iflow-cli的症状,用iflow-cli从来没遇到这些事情哈哈哈哈哈

是说呢

image

哈哈哈哈哈,给你看看我滴

花里胡哨的,上个牛马班跟打网游一样哈哈哈哈哈,好玩的很

1 个赞

炫酷滴狠

1 个赞

你这个为啥不行。

好像有bug,浏览器自动登录的小米token plan,它显示用的我claude的模型配置,还给我计费 :joy:

蹬了一下,觉得交付质量还不错,除了requests too much卡住了几次,给它的指令理解很好且一次交付成功。

OpenCode插件 - mimocode-compose -已开源,来自MiMoCode的Compose智能体移植 - iFlow 补给站 - 心流AI交流社区

是这样吗?

不是compose吧

goal 是什么


这个

结论是:/goal 功能深度耦合在 OpenCode 核心逻辑中,无法通过现有插件系统实现。
详细信息:以下由AI生成

/goal 指令实现逻辑分析
核心架构
/goal 功能由三个核心模块协作实现:
1. 命令注册 (packages/opencode/src/command/index.ts)
commands[Default.GOAL] = {
  name: "goal",
  description: "set a stop-condition goal; runs until a judge says it's met",
  source: "command",
  subtask: false,
  get template() {
    return "$ARGUMENTS"  // 用户输入直接作为 prompt
  },
}
2. Goal 状态管理 (packages/opencode/src/session/goal.ts)
- 存储:使用 InstanceState 按 sessionID 存储 goal 状态
- 数据结构:{ condition: string, react: number }
- 核心方法:
- set(sessionID, condition) - 设置 goal
- clear(sessionID) - 清除 goal
- get(sessionID) - 获取当前 goal
- bumpReact(sessionID) - 增加 judge 评估次数
- evaluate(input) - 调用独立 judge 模型评估 goal 是否完成
3. Goal Gate (packages/opencode/src/session/prompt.ts)
在 runLoop 中,当 agent 想要停止时,goalGate 会:
const goalGate = Effect.fn("SessionPrompt.goalGate")(function* (lastUser) {
  // 1. 只在主 agent 上生效
  if ((agentID ?? "main") !== "main") return false
  
  // 2. 检查是否有活跃的 goal
  const active = yield* goal.get(sessionID)
  if (!active) return false
  
  // 3. 使用独立 judge 模型评估(不信任 agent 自我报告)
  const verdict = yield* goal.evaluate({
    condition: active.condition,
    msgs: transcriptMsgs,
    model: lastUser.model,
  })
  
  // 4. 如果 goal 满足或不可能完成,允许停止
  if (verdict.ok || verdict.impossible) {
    yield* goal.clear(sessionID)
    return false  // 允许停止
  }
  
  // 5. 否则注入 judge 的原因作为 synthetic user message,继续执行
  const count = yield* goal.bumpReact(sessionID)
  // ... 注入 reentry message
  return true  // 继续执行
})
4. Judge 评估逻辑
Judge 使用独立的模型调用,评估标准:
- ok: 对话记录中有明确证据表明 condition 已满足
- impossible: condition 本身矛盾、依赖不可用资源、或 agent 已明确表示无法完成
- not ok: 证据不足,需要继续工作
能否通过 OpenCode 插件实现?
插件系统能力(packages/plugin/src/index.ts)
Hook	能力	限制
actor.preStop	控制 subagent 停止	❌ 只对 subagent 生效,不适用于主 agent
actor.postStop	actor 停止后处理	❌ 同上
chat.message	消息到达时处理	❌ 无法控制停止逻辑
chat.params	修改 LLM 参数	❌ 无关
experimental.chat.system.transform	修改系统提示词	❌ 无法强制阻止 agent 停止
结论:无法通过插件完整实现
原因:
1. goalGate 是内部逻辑:goal 评估发生在 prompt.ts 的 runLoop 中,插件无法介入这个流程
2. actor.preStop 只对 subagent 生效:
// prompt.ts 中 goalGate 的检查
if ((agentID ?? "main") !== "main") return false  // 主 agent 直接跳过
3. 无法访问 InstanceState:goal 状态存储在 InstanceState 中,插件没有对应的访问接口
4. 需要独立 judge 模型调用:goal 评估需要调用独立的模型,插件系统没有提供这个能力
如果要实现类似功能,需要的修改
要在插件层面实现类似 goal 的功能,需要:
1. 在 prompt.ts 的 runLoop 中添加插件钩子:
// 在 goalGate 位置添加
if (yield* plugin.trigger("session.stopGate", { sessionID, lastUser }, { shouldStop: true })) {
  continue  // 插件决定继续执行
}
2. 在 plugin Hooks 接口中添加新 hook:
"session.stopGate"?: (
  input: { sessionID: string; lastUser: UserMessage },
  output: { shouldStop: boolean },
) => Promise<void>
3. 提供 goal 状态访问接口给插件
总结
方面	状态
命令注册	✅ 可通过插件自定义命令
Goal 状态管理	❌ 需要修改 InstanceState 访问
Goal Gate(停止控制)	❌ 需要修改 prompt.ts 核心逻辑
Judge 评估	❌ 需要独立模型调用能力
结论:/goal 功能深度耦合在 OpenCode 核心逻辑中,无法通过插件系统实现。如需此功能,需要向 OpenCode 贡献新的插件钩子或修改核心代码。

所以我说小米做都做了能不能合到oc主线去 :rofl:

1 个赞