From 58705e4feabceb02246b7afbfcbb78f18e77a378 Mon Sep 17 00:00:00 2001 From: Codex Date: Thu, 4 Jun 2026 04:46:09 +0000 Subject: [PATCH] docs: record mxcx recovery operation rules --- docs/reference/code-queue-supervision.md | 2 ++ docs/reference/deployment.md | 10 ++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/docs/reference/code-queue-supervision.md b/docs/reference/code-queue-supervision.md index bc9ca20e..6715022b 100644 --- a/docs/reference/code-queue-supervision.md +++ b/docs/reference/code-queue-supervision.md @@ -147,6 +147,8 @@ MiniMax prompt 必须自包含:目标、背景、写入范围、禁止动作 MiniMax 风险控制必须固定包含:禁止 prod/重启/密钥/DB 写入;禁止 release/v1 runtime 修改;禁止 heavy check/E2E/Playwright,除非任务明确改为 GPT-5.5 且用户授权;必须给出可验证证据,包括修改文件、命令、测试输出、commit 和未覆盖风险;完成后保持未读,由指挥官用 `codex task ` 审阅后再单独 `codex read `。 +MiniMax 任务涉及远端文本修改时,prompt 必须显式指定标准写入入口和失败恢复动作:默认使用 workspace-prefixed `trans apply-patch < patch.diff` 或对应业务 CLI 的 `apply-patch` 子命令;若 stderr 报 `failed to find expected lines`,必须重新读取当前目标块,缩小或拆分 `Update File` hunk 后继续 `apply-patch`。不得把上下文过期当作改用 `download`/`upload`、远端 Python/Perl/sed heredoc、`cat >`/`tee` 整文件重写或 `apply-patch-v1` 的理由。指挥官验收 MiniMax trace 时应搜索这些 forbidden command 形态;若出现,优先修 CLI hint/prompt 或拆小任务后复测,而不是把绕行作为合格完成。 + 对 MiniMax 的验收不能看 final response 自述。指挥官至少核验 diff、commit 是否在声明目标分支可 fetch、轻量验证命令是否真实存在、输出是否和任务范围匹配;遇到推测、遗漏、伪造证据或把失败写成成功时,先拆成更小任务或改派 GPT-5.5。 ## GitHub Issue 和 PR 使用 diff --git a/docs/reference/deployment.md b/docs/reference/deployment.md index 6becfed0..30793201 100644 --- a/docs/reference/deployment.md +++ b/docs/reference/deployment.md @@ -34,13 +34,15 @@ Compose v2 安装后仍然必须遵守 UniDesk 的服务控制入口:全栈生 ## Host Codex Profiles -主 server 上的 `codex`、`mycx` 和 `mxcx` 都是人工/Codex 运维入口,不属于 UniDesk Compose 服务、Code Queue runner、AgentRun runtime 或发布流水线。`mxcx` 只用于快速以 MiniMax-M3 provider 启动同一套 Codex CLI;它必须复用系统 `codex` 二进制,不安装第二套 Codex,不替换 `/usr/bin/codex`,也不改变 `mycx` 指向的默认 Codex 启动方式。 +主 server 上的 `codex`、`mycx` 和 `mxcx` 都是人工/Codex 运维入口,不属于 UniDesk Compose 服务、Code Queue runner、AgentRun runtime 或发布流水线。`mxcx` 只用于快速以 MiniMax-M3 provider 启动同一套 Codex CLI;它必须复用系统 `codex` 二进制,不安装第二套 Codex,不替换 `/usr/bin/codex`,也不改变 `mycx` 指向的默认 Codex 启动方式。`mxcx` 的长期运维细节以 `/root/docs/reference/master-server-ops.md` 为准;UniDesk 仓库文档只记录部署边界和与服务运行面相关的约束。 -MiniMax-M3 配置必须保持 profile/provider 级隔离。当前 `mxcx` 的稳定上游形态应与 AgentRun `minimax-m3` profile 对齐:`model=MiniMax-M3`、`model_provider=minimax`、`base_url=https://api.minimaxi.com/v1`、`wire_api=responses`,并通过 `OPENAI_API_KEY`/`MINIMAX_API_KEY` 环境或本机只读配置文件注入凭据。密钥文件只能保存在 root 用户可读的本机路径,权限应为 `0600` 或更严;不得提交到 Git、写入 `AGENTS.md`/`docs/reference`、进入 Docker image、Compose env、GitOps manifest、issue/PR 评论、CLI 输出或任务 trace。 +MiniMax-M3 配置必须保持 profile/provider 级隔离。当前 `mxcx` 的稳定形态是 `CODEX_HOME=/root/.codex-minimax-m3`、`model=MiniMax-M3`、`model_provider=minimax`、`wire_api=responses`,通过本机 Moon Bridge loopback endpoint 转换到 MiniMax 上游;profile config 中的 Codex `base_url` 应指向本机 bridge,Moon Bridge runtime config 再持有 MiniMax upstream `https://api.minimaxi.com`。密钥通过 profile `auth.json` 或环境中的 `OPENAI_API_KEY`/`MINIMAX_API_KEY` 注入,文件只能由 root 读取,权限应为 `0600` 或更严;不得提交到 Git、写入 `AGENTS.md`/`docs/reference`、进入 Docker image、Compose env、GitOps manifest、issue/PR 评论、CLI 输出或任务 trace。 -`mxcx` 的验收以真实 Codex CLI 行为为准:`mxcx --version` 必须显示与 `codex --version` 相同的 binary 版本;`mxcx doctor --json` 或等价命令必须显示 `model=MiniMax-M3` 与 `model provider=minimax`;最小真实调用可使用 `mxcx exec 'Reply exactly: MXCX_OK'`,但该调用会消耗 MiniMax token,不应放入默认健康检查、CI/CD 或循环监控。MiniMax `/v1/models` 探测只能作为网络/凭据诊断,不能替代 Codex CLI profile 验收。 +`mxcx` 的验收以真实 Codex CLI 行为为准:`mxcx --version` 必须显示与 `codex --version` 相同的 binary 版本;`mxcx doctor` 或等价命令必须显示 `model=MiniMax-M3`、Responses wire API、profile-local Moon Bridge endpoint 和 bridge reachable;最小真实调用可使用 `mxcx exec 'Reply exactly: MXCX_OK'`,但该调用会消耗 MiniMax token,不应放入默认健康检查、CI/CD 或循环监控。MiniMax `/v1/models` 或 Moon Bridge `/models` 探测只能作为网络/凭据诊断,不能替代 Codex CLI profile 验收。 -如果 `mxcx` 需要本机转发服务,必须优先复用 AgentRun 已采用的 provider/profile 方案或同款转发组件;不得在 UniDesk master server 上临时自造一套长期维护的 MiniMax 协议转换服务。确需部署转发时只允许作为本机轻量 Docker 运维组件,固定绑定 loopback、固定端口、日志可见、密钥不进镜像,并记录启动/停止/健康检查入口;不得接入 UniDesk CI/CD、GitOps、provider-gateway 自动升级或生产 Compose 主服务生命周期,除非后续专门把它产品化为受控服务。 +如果 `mxcx` 需要本机转发服务,必须优先复用 AgentRun 已采用的 provider/profile 方案或同款转发组件;不得在 UniDesk master server 上临时自造一套长期维护的 MiniMax 协议转换服务。确需部署转发时只允许作为本机轻量运维组件,固定绑定 loopback、固定端口、日志可见、密钥不进镜像,并记录启动/停止/健康检查入口;不得接入 UniDesk CI/CD、GitOps、provider-gateway 自动升级或生产 Compose 主服务生命周期,除非后续专门把它产品化为受控服务。 + +`mxcx session-clean` 只属于主机 profile 的会话恢复工具,范围限定为修复非法 TOOLJSON / schema-invalid tool arguments 和匹配的 stale parse-failure output。它不得 compact、summarize、truncate、删除、重排或改写非工具历史;pre-sampling compact 或 token-window 问题必须走 Codex 上游 compaction 或 Codex/Moon Bridge 配置,不得在 wrapper 里新增手工压缩。修改 `mxcx` 后的最小验收包括 `bash -n /root/.local/bin/mxcx`、`mxcx doctor`、`session-clean` 双跑幂等和一个 bounded `mxcx exec` smoke。 ## Main Server Swap