mixagents:在 Codex 与 Pi 里接入 DeepSeek V4 的两条路径

前言

DeepSeek Harness(简称 DSH)把模型、工具、会话和界面都做成插件,理念是「一切皆插件」。实际干活时,很多人并不是只待在 DSH 里:有人主战场在 Codex,希望主任务继续走 OpenAI,只把检索、日志和大量文本整理交给更便宜的 DeepSeek;也有人已经在 Pi 里用 deepseek-v4-pro,希望第一次请求能贴近 DSH Minimal 的工程轨迹,但后面仍用 Pi 的 read/edit/write 和现有插件。

mixagents 就是为这两种组合准备的。它由 Utopia-V 维护,MIT 许可,GitHub 仓库地址是 https://github.com/Utopia-V/mixagents 。社区插件目录把它归在「模型与提供方」,当前 GitHub 星标为 169。需要先说清楚:这个社区目录是独立站点,与 DeepSeek / 幻方没有官方从属关系;仓库自己也写明,项目与 OpenAI、DeepSeek、Pi、OpenCode 均无隶属或官方背书。

mixagents 是什么

mixagents 不是单一的 Cordis 运行时插件,而是同一仓库里两套彼此独立的组件:

组件 作用 当前状态
Codex DeepSeek Subagent Codex 主任务继续使用 OpenAI,把适合的文本、日志和搜索工作交给 deepseek-v4-flash child Windows 与 POSIX 的 plaintext handoff 已完成协议验证
Pi DSH Mimic(pi-dsh-mimic 在 Pi 的第一次模型请求中复现 DSH Minimal,激活 V4 Pro 的高能力轨迹;随后恢复 Pi 完整工具目录与插件生态 版本 0.1.1,已发布到 npm

仓库曾名为 Utopia-V/codex-deepseek-subagent,后来改名为 mixagents。旧名称会保持空置,以便已有网页、Git remote 和 raw prompt 链接继续重定向。

目录页给出的通用安装命令是:

dsh plugin add github:Utopia-V/mixagents

如需可复现安装,目录页建议固定 commit。当前 main 最新提交(2026-08-17)为:

dsh plugin add github:Utopia-V/mixagents#925ba7d5e7a07c4bb34a8d03784016283bff8acf

这条命令以目录页原文为准。对照仓库源码后需要注意:仓库根目录没有 package.json,也没有 dsh.bundle 声明。README 里真正写清楚的安装路径,是 Codex 安装提示词,以及 Pi 侧的 pi install npm:pi-dsh-mimic。若目标是「把 DeepSeek Flash 接到 Codex」或「在 Pi 里复现 DSH Minimal 首请求」,应按下面两节的官方步骤操作,不要默认 dsh plugin add 会自动变成可用的 DSH 运行时层。

插件(以及 Pi 扩展)会以当前进程权限运行,安装时可能执行代码。安装前应检查源代码仓库和许可证。

Codex DeepSeek Subagent:主 Agent 不动,Flash 做子任务

这一组件的定位很窄:主任务继续使用现有 GPT / OpenAI 模型和 ChatGPT 登录,DeepSeek 只出现在独立的 v4_flash_worker child 里。它不是 MCP Server,不是另一套 Codex CLI,也不需要 CC Switch 去切换全局 provider。Codex 仍负责 child 的创建、权限、取消和 callback;仓库只补了一层受信任的 SubagentStart Hook,用来跨过当前 OpenAI parent → 非 OpenAI child 的任务投递问题。

高级说明里写过原因:Multi-agent V2 在跨 provider 时,child 可能只看到无法解释的 encrypted_content,真正任务传不过去。仓库用一次性 plaintext handoff:父 Agent 把完整 assignment 短暂写到本地用户状态,Hook 在 v4_flash_worker 启动时领取并注入。这是传输兼容层,不是加密通道。

已测试基线(来自组件高级说明):

  • Windows Codex Desktop:26.727.6591.0
  • Codex CLI:0.146.0
  • DeepSeek 模型别名:deepseek-v4-flash(文档标注版本 DeepSeek-V4-Flash-0731
  • macOS 的 Python/POSIX 路径已在 Codex 0.146.0 上通过原生 callback smoke 和 27 项协议测试;Linux 使用同一 POSIX 实现

三步安装

1. 设置 DEEPSEEK_API_KEY

在 DeepSeek 创建 key,保存为环境变量 DEEPSEEK_API_KEY。不要把 key 发进 Codex 聊天、Issue、截图或仓库。

  • Windows:在用户环境变量中新建 DEEPSEEK_API_KEY,然后完全退出并重新启动 Codex Desktop。
  • macOS / Linux:在启动 Codex 的 shell 或 secret manager 中设置该变量,再启动 Codex。

macOS 另有 Keychain 认证模板,只有明确选择时才会使用,已有配置不会自动迁移。

2. 把下面这段交给 Codex

请读取并严格执行
https://raw.githubusercontent.com/Utopia-V/mixagents/main/packages/codex-deepseek-subagent/prompts/install-with-codex.md
为我安装其中的 DeepSeek V4 Flash subagent。保留当前主模型、provider 和 ChatGPT
登录,不得索要或输出 API key;完成无付费调用的本地验证后停止,暂不运行 smoke
test。

安装过程会下载并合并 Agent、skill、Hook 与两条 AGENTS.md 索引,不会调用 DeepSeek,也不会改掉主模型。

3. 信任 Hook,再新开任务做 smoke

在 Codex 输入 /hooks,确认它只匹配 v4_flash_worker,命令指向刚安装的 plaintext-handoff 脚本,然后选择信任。已经在跑的旧任务不保证重新加载 Hook,需要新开一个任务。把下面一句复制进去:

请读取并严格执行
https://raw.githubusercontent.com/Utopia-V/mixagents/main/packages/codex-deepseek-subagent/prompts/quick-smoke-test.md
测试刚安装的 v4_flash_worker。不得使用替代 provider、直接 API 或另一个 Codex
CLI。

quick smoke 不要求 clone 仓库,但会产生一次很小的 DeepSeek API 调用。成功时应同时看到:出现独立 child,agent type 为 v4_flash_worker;child 返回父 Agent 随机生成的 marker,并得到 arithmetic=323;一次性 pending handoff 已被消费;主任务仍使用原来的 OpenAI 模型。

安装完成后,父 Agent 会在适合的任务上按需加载 $use-v4-flash-worker,并不强迫每个任务都走 Flash。README 建议把边界明确、以文本为主、会产生大量原始材料而只需少量结论的搜索、日志、枚举和阅读交给 Flash;紧密耦合的推理、决策、验证和最终整合留在父 Agent。

Pi DSH Mimic:只借 DSH 的第一次请求

pi-dsh-mimic 解决的是另一件事。Pi 已经能调用 deepseek-v4-proopencode-go/deepseek-v4-pro,但默认首请求带着完整 Pi prompt 和一整套工具。该组件只在新 session 的第一次模型请求里复现 DSH Minimal:persona 使用 You are a helpful software engineer assistant.,对外只暴露 bashstr_replace_editor。第一次有效 assistant 响应或 durable tool call 之后,请求 #2 立刻回到 Pi 原生 payload 和当下完整工具目录,其他插件工具会自然出现。Minimal persona 在整个 session 保持,Pi 较长的自动 system prompt 不会作为额外 user message 重放。

用户不必安装或运行完整 DSH harness。真正执行任务、管理 session、组合插件的仍然是 Pi。扩展不增加身份 warm-up,不复制原任务,不注入 We need,也不代理 API。

安装和使用

要求:Node.js 22.19 或更新、Pi 0.84.2 或更新,并已配置 DeepSeek 官方 API 或 OpenCode Go。Pi 0.84.2 已内置这两条 provider 路径。

用户级安装:

pi install npm:pi-dsh-mimic

项目级安装:

pi install -l npm:pi-dsh-mimic

直接试用当前 checkout:

pi -e ./packages/pi-dsh-mimic \
  --provider deepseek \
  --model deepseek-v4-pro

使用 OpenCode Go 时,把 key 放在 Pi 期望的 OPENCODE_API_KEY 环境变量中,并把 provider 改为 opencode-go。先选择 V4 Pro,再新建 session。在已有对话中途切到 V4 Pro,不会伪造一次新的 bootstrap。

Project2 分数怎么读

README 给出的对照来自维护者个人、自托管的长程代码维护评测 Project2 V4.1b:模型接手一个故意保留缺陷的多模块 Python 后端与 ESP32-S3 固件仓库。它不是跨项目通用 benchmark,分数只描述这套冻结任务。

默认 Pi baseline 为 92。同一 one-shot 请求流程的四次最终结果为 98、96、96、98,并均保持 F3 16/16。维护者据此认为:DSH Minimal 首请求可以在 Pi 中稳定建立高能力轨迹,恢复完整工具目录也不会自动破坏它。实验文档还记录了若干被否决的设计,例如额外身份轮、只减少工具数量、全程模拟 DSH wire、恢复后重放完整 Pi system context,这些路径的分数都低于「首请求 Minimal,随后回到 Pi」这条线。

离线侧,TypeScript typecheck 已通过,13 项自动化测试全部通过。package 行为测试覆盖首请求字段顺序、请求 #2 恢复完整目录、图片、API error 重试、session resume 和 crash-stale 恢复等。Provider error 或 aborted response 不消耗 bootstrap。

怎样选择

  • 想保留 Codex 的 OpenAI 主 Agent,同时用更便宜的 DeepSeek child 处理边界清楚的文本工作,安装 Codex DeepSeek Subagent
  • 已经在 Pi 中使用 deepseek-v4-proopencode-go/deepseek-v4-pro,希望从已验证的 DSH Minimal 轨迹起步,同时继续使用 Pi 的读写工具和其他插件,安装 Pi DSH Mimic
  • 两条组件互不依赖,按自己的运行时选一套即可。

适用场景与注意事项

适合已经在用 Codex 或 Pi、并且接受把任务内容发给 DeepSeek / OpenCode 的人。不适合把 mixagents 理解成「装进 DSH Web UI 就能换模型」的 Cordis 插件;仓库公开文档没有这条路径。

安全和费用边界以仓库 SECURITY.md 为准,这里只列已经写明的几点:

  1. 两个组件都会把任务内容发送给用户配置的第三方 provider。本地 sandbox 限制的是文件系统改写,不是保密边界。
  2. Codex 组件会在本地用户状态中短暂保存明文 assignment。默认位置:Windows 为 %LOCALAPPDATA%\Codex\plaintext-subagent-handoff;macOS/Linux 为 $XDG_STATE_HOME/codex/plaintext-subagent-handoff~/.local/state/codex/plaintext-subagent-handoff。安装后必须在 /hooks 里审查并信任 Hook,不要为了非交互安装去伪造 trust hash。
  3. Pi 组件以 Pi 进程的文件系统权限运行,提供的 str_replace_editor 可以创建和修改文件。它不读取、保存或传输 API key,也不增加额外模型轮次。
  4. DeepSeek 与 OpenCode 的费用独立于 ChatGPT / OpenAI 订阅。安装和离线测试不应调用模型;quick smoke 和完整模型运行会按对应账户计费。
  5. 仓库明确要求:不要把 API key、完整请求头或未脱敏配置发进 Issue 或聊天。

Windows 用户若刚改过环境变量,需要完整重启 Codex,否则 child 可能读不到 DEEPSEEK_API_KEY。高级说明还提到:User/HKCU command auth 可能跑在 sandbox identity 下,这不是默认 env_key 路径。PowerShell 加固实现已通过本地协议、并发与恢复测试,仓库写明尚待一次更新后的 live smoke。

小结

mixagents 把两件已经有文档和测试的事放进同一个仓库:Codex 继续用 OpenAI 主模型,把 Flash 做成原生 subagent;Pi 只在第一次请求里借用 DSH Minimal,随后回到自己的工具和插件。社区目录可以用来发现它,真正能跑起来的步骤在 GitHub README 里。

目录页:https://deepseek-harness-plugin.com/zh-CN/plugins/mixagents/

GitHub:https://github.com/Utopia-V/mixagents

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜