🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

Codex 对话后端 yangbobo2021/relay-dsh-plugin-codex

DeepSeek Harnessv0.2.4
yangbobo202145 天前有提交已提供中文文档扫描:含敏感能力

适用于 DeepSeek Harness 的 Codex 对话

41.4/100
综合分
12
GitHub 星标
145
npm 周下载
—/5
用户评分

数据截至 2026/9/23 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add relay-dsh-plugin-codex
npm 源 · relay-dsh-plugin-codex 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · model
装得上吗
静态安装检查通过
未做真实安装
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 45 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包relay-dsh-plugin-codex @ 0.2.4
✓Node 引擎要求 >=22.13 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/1 00:46:20

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 45 处,展示前 24 条)
  • 读取本地文件
    lib/host-plugin.js:451
    if (!stat(canonical).isFile()) throw executableInvalidError(path, "the path is not a regular file");
  • 执行外部命令来自配置/变量
    lib/host-plugin.js:621
    const child = spawn(this.command, this.args, {
  • 发起网络请求
    lib/host-plugin.js:650
    await this.request("initialize", {
  • 发起网络请求
    lib/host-plugin.js:655
    const models = await this.request("model/list", {
  • 发起网络请求
    lib/host-plugin.js:928
    this.client.initialModels ?? this.client.request("model/list", {
  • 发起网络请求
    lib/host-plugin.js:932
    this.client.request("account/read", { refreshToken: false }).catch((error) => {
  • 发起网络请求
    lib/host-plugin.js:967
    const result = await this.client.request("thread/list", {
  • 发起网络请求
    lib/host-plugin.js:997
    const result = await this.client.request("thread/read", {
  • 读取本地文件
    lib/host-plugin.js:1793
    return await realpath(absolute);
  • 读取本地文件
    lib/host-plugin.js:2214
    const data = await readFile(target);
  • 读取本地文件
    lib/host-plugin.js:2325
    const target = await realpath(resolve(path));
  • 读取本地文件
    lib/host-plugin.js:2326
    if (!(await Promise.all(roots.map((root) => realpath(resolve(root)).catch(() => null)))).some((root) => root && (target === root || target.startsWith(
  • 写入本地文件
    lib/host-plugin.js:2374
    await mkdir(root, {
  • 写入本地文件
    lib/host-plugin.js:2378
    await chmod(root, 448);
  • 写入本地文件
    lib/host-plugin.js:2382
    await writeFile(temporary, data, {
  • 读取本地文件
    lib/host-plugin.js:2391
    const existingStat = await lstat(path);
  • 写入本地文件
    lib/host-plugin.js:2396
    await chmod(path, 384);
  • 删除本地文件
    lib/host-plugin.js:2398
    await unlink(temporary).catch((error) => {
  • 读取密钥环境变量
    lib/host-plugin.js:4297
    token: process.env.RELAY_CODEX_IMPORT_TOKEN,
  • 读取密钥环境变量
    lib/host-plugin.js:4451
    token: process.env.RELAY_CODEX_IMPORT_TOKEN,
  • 写入本地文件
    lib/host-plugin.js:4514
    mkdirSync(dirname(this.path), { recursive: true });
  • 写入本地文件
    lib/host-plugin.js:4517
    writeFileSync(temporary, `${JSON.stringify({
  • 读取密钥环境变量
    lib/host-plugin.js:5466
    token: config.codexImportToken ?? process.env.RELAY_CODEX_IMPORT_TOKEN
  • 读取密钥环境变量
    lib/host-plugin.js:5470
    token: config.codexImportToken ?? process.env.RELAY_CODEX_IMPORT_TOKEN
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/dsh-llm@deepseek-ai/dsh-session@deepseek-ai/dsh-typert-protocol
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

界面预览

1 张 · 点击查看大图

功能亮点

  • 驱动原生对话
  • 支持工作区与终端
  • 支持审批与工具

DeepSeek Harness 的 Codex 集成插件,由 Codex App Server 驱动原生 Codex 对话,支持工作区、终端、审批和 DSH 工具。

v0.1.6-rc.12026-08-31预发布
这个预发布版提升了 DSH 的执行可靠性,并保留 Codex 原生设置。它并不声称与 Codex Desktop 完全对齐。 改动: · 在线程生命周期操作中保留原生服务层级和已确认的设置。 · 在所属轮次被中断后,停止该轮次之后宣布的命令,不波及更早的服务或新轮次。 · 迟到条目、计划、差异或输出到达时,保留中断状态。 · 中止轮次所属的 DSH 工具,拒绝过期回复,并在 App Server 退出时结算活跃轮次。 · 保留动态工具的内容和失败状态;只声明已实现的能力。 · 提供可选的有界执行指引和原生对比模式。 默认捆绑运行时仍为 @openai/codex@0.149.0。无需 Desktop 可执行文件,也不重新分发。 发布前验证: · 243 个单元测试和 121 个组件测试,类型检查、构建,以及受跟踪产物的可复现性。 · 在 Linux、macOS 和 Windows CI 上做真实的免凭据捆绑 App Server 协议检查。这些是协议检查,不是所有平台上的完整模型任务验证。 · 干净安装到官方 DSH 0.1.1-rc.2,并实际加载浏览器模块。 · 在捆绑默认运行时上跑 16 个真实模型用例 / 36 轮:修复、CSV、错误输出、有界 HTTP 失败处理、重启、需求变更配合原生压缩、取消/恢复,以及两种模式下的批准接受/拒绝。 · 15 项 Relay 仓库边界检查。官方不可变兼容参考:b150a551b8d465e31e418e1b2eaf5e79bbb7d28e。 已知限制仍在:偶发的原生命令事件可能漏掉已到达模型的输出,macOS 区域设置问题可能影响 shasum 等工具。后续重复通过并不能证明这些问题已修复。不声称具备完整的 Desktop 专属宿主能力,也不声称整体延迟对齐。 发布后验证:注册表 tarball 的 21 文件清单和源码/构建内容与受测候选一致(包元数据按语义比较)。第二个干净的官方配置档安装了确切的 npm 版本,并通过另外四个真实模型用例 / 六轮:修复、错误输出、重启/召回、取消/恢复。注册表检查确认 next=0.1.6-rc.1,latest=0.1.5。 安装这个确切的预发布版: npx @deepseek-ai/dsh@0.1.1-rc.2 plugin --profile web add relay-dsh-plugin-codex@0.1.6-rc.1 本次发布只面向 npm next;latest 仍为 0.1.5。升级前先停止 DSH。回滚时,重新安装 relay-dsh-plugin-codex@0.1.5,恢复你改动过的配置档设置,然后重启 DSH。发布过程不会修改任何生产配置档或全局 Codex 设置。
v0.1.52026-08-30
· Codex 执行展示与历史兼容性 这个稳定版包含 PR #28 中已接受的修复。它兼容未修改的官方 DSH 构建,无需 DSH 分支。 · 变更 · 把连续的工具活动归并成紧凑、可展开的摘要,用助手评注分隔。命令、文件编辑和图片查看使用语义标签和图标。 · 命令输出放进有边界的纯文本面板,不再当作助手 Markdown 解析。活动折叠时仍保留可读的最终回答和图片。 · 通过 DSH 原生事件持久化展示,重载和冷启动后历史仍可读。附带一个先试运行的修复工具,处理旧版活动事件。 · 取消时保留已收到的命令输出,正确显示失败状态,完成的文件编辑用 DSH 原生文件打开器打开。 · DSH 原生渲染与 Claude 渲染相互隔离,不支持或不完整的历史回退到原生渲染。 · 验证 · 232 个单元测试和 121 个组件测试,类型检查,可复现的生产构建。 · 在 Linux、macOS 和 Windows 上做运行时检查;通过 GitHub Actions OIDC 带来源信息发布到 npm。 · 官方 DSH 兼容性参考:0.1.1-rc.2,commit b150a551b8d465e31e418e1b2eaf5e79bbb7d28e。 · 验收记录覆盖真实 Sol High 执行、取消、重载、冷启动、文件打开、图片查看、响应式布局和跨后端隔离。 · 升级 停止 DSH Web,安装稳定版,然后重启: npx @deepseek-ai/dsh@0.1.1-rc.2 plugin --profile web add relay-dsh-plugin-codex@0.1.5 npx @deepseek-ai/dsh@0.1.1-rc.2 web latest 指向这个稳定版。next 是独立通道,本次发布不会推进它。 · 兼容性说明 · 已有的 Codex Thread 保留身份和模型上下文。固定版本的 Codex 运行时无法在旧 Thread 上启用首次产出原始通知;要完整捕获首次产出,需新建 DSH 会话。升级不会悄悄替换旧 Thread。 · 取消前尚未到达插件的输出无法重建。 · 分组交互并不宣称与 Codex App 的每项功能逐像素一致。生成图片完成是用协议测试夹具验证的,不是真实图片生成服务。
v0.1.1-rc.32026-08-24预发布
为官方 DeepSeek Harness 提供 Codex 对话后端,底层由 Codex App Server 驱动。 亮点: · Codex 会出现在 DSH 的新会话模式菜单里。 · 一个 DSH 会话绑定一个可恢复的 Codex 线程。 · 支持模型与推理强度选择、审批、提问、图片、中断、DSH 工具,还内置不依赖 PATH 的 Codex 运行时。 · 已在 macOS、Linux 和 Windows CI 上针对官方 DSH 0.1.1-rc.2 验证通过。 安装: pnpm dlx @deepseek-ai/dsh@0.1.1-rc.2 plugin --profile web add relay-dsh-plugin-codex@next npm 包 | 官方 DSH 在线演示
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
适用于 DeepSeek Harness 的 Codex 对话 稳定版 0.2.4 已在官方 DSH 0.1.5-rc.2 和 0.1.6-alpha.1 上验证通过。 运行时变更后,它会刷新 Codex 模型;当 DSH 提供带 mcp__ 前缀的工具时,增强模式依然可用,同时保留 0.2.3 的兼容性保证。从 npm 安装 · 兼容性证据。 发布通道: latest → 0.2.4;next → 0.2.5-rc.1。 npx @deepseek-ai/dsh@0.1.6-alpha.1 plugin --profile web add relay-dsh-plugin-codex@latest npx @deepseek-ai/dsh@0.1.6-alpha.1 web npm 包: relay-dsh-plugin-codex · 所有 Relay DSH 插件 在官方 DeepSeek Harness 里运行 Codex,不用切换界面,也不用维护 DSH 分支。 relay-dsh-plugin-codex 把 Codex 作为原生对话后端接入官方 DeepSeek Harness(DSH)Web UI。你继续用 DSH 的工作区、对话历史、输入框、审批和工具,而每个 DSH 会话对应一个 Codex App Server Thread。
展开完整文档(README 剩余 1 节)
适用于 DeepSeek Harness 的 Codex 对话

稳定版 0.2.4 已在官方 DSH 0.1.5-rc.2 和 0.1.6-alpha.1 上验证通过。 运行时变更后,它会刷新 Codex 模型;当 DSH 提供带 mcp__ 前缀的工具时,增强模式依然可用,同时保留 0.2.3 的兼容性保证。从 npm 安装 · 兼容性证据。

发布通道: latest → 0.2.4;next → 0.2.5-rc.1。

npx @deepseek-ai/dsh@0.1.6-alpha.1 plugin --profile web add relay-dsh-plugin-codex@latest
npx @deepseek-ai/dsh@0.1.6-alpha.1 web

npm 包: relay-dsh-plugin-codex
· 所有 Relay DSH 插件

在官方 DeepSeek Harness 里运行 Codex,不用切换界面,也不用维护 DSH 分支。

relay-dsh-plugin-codex 把 Codex 作为原生对话后端接入官方 DeepSeek Harness(DSH)Web UI。你继续用 DSH 的工作区、对话历史、输入框、审批和工具,而每个 DSH 会话对应一个 Codex App Server Thread。插件独立安装,不需要检出 Relay。

在官方 DSH 上试用

首次会话之前,先用官方 Codex 客户端完成认证。Codex CLI 用户可以运行:

codex login

安装需要 Node.js 22.13 或更高版本,并且 PATH 中有 pnpm。先停掉 DSH Web,安装稳定版插件,再重启 DSH:

npx @deepseek-ai/dsh@0.1.2-rc.1 plugin --profile web add relay-dsh-plugin-codex@latest
npx @deepseek-ai/dsh@0.1.2-rc.1 web
打开 New Session,选一个工作区,在模式菜单里选 Codex,然后发一条消息。

DSH New Session 模式菜单里的 Codex 和 Claude Code

截图来自官方 DSH 0.1.1-rc.2,已安装 Codex 和 Claude 插件。如果你只装这个插件,菜单里只会多出 Codex。

看 Plugin Manager 在 40 秒内找到并安装这个包
· 查看所有 Relay DSH 插件

如果这个插件帮你省掉了 DSH 工作流里的一次界面切换,欢迎 给插件点个 star,并 分享你的 DSH 版本或安装反馈。
这些信息能帮其他 DSH 用户找到一个经过验证的 Codex 后端。

我需要这个插件吗?

以下情况可以安装:

- 想在 DSH 里直接用 Codex,不用切到单独的 Codex 界面;
- 想保留 DSH 原生的对话历史、输入框、审批和提问;
- 想让同一个 DSH 会话跨多轮延续同一个 Codex App Server Thread;
- 想在同一段对话里使用 Codex 模型、推理强度、图片、中断,以及 DSH 贡献的工具。

如果你只是用 DSH 的标准智能体,那不需要它。它也不会添加 Relay Events、文件浏览或终端面板,那些是另外的可选插件。

完整安装步骤与兼容性

以下步骤已在下列环境验证:

- DeepSeek Harness 0.1.1-rc.2,commit b150a551
- Node.js 22.13 或更新版本
- PATH 中有 pnpm

DSH 目前还是开发者预览版,可能引入破坏兼容性的改动。本仓库会跟进官方发布,并在这里记录已验证的版本。

1. 准备 Codex 认证

插件会安装固定版本的官方 @openai/codex 运行时,并以 App Server 模式启动它。默认情况下,DSH 先探测本地 ChatGPT/Codex App 可执行文件和 PATH 中的候选程序,找不到再回退到内置的官方 @openai/codex 运行时。内置运行时包含 macOS、Windows、Linux 上 x64 和 arm64 的原生二进制文件,所以 DSH 不要求全局安装 codex 命令。

Codex 认证仍然必需。开始第一个 DSH Codex 会话之前,先安装或打开官方 Codex 客户端并完成认证。用命令行时,可以这样确认共享的本地凭据:

codex --version
codex login

安装和登录方式见官方 Codex CLI 指南和认证文档。凭据保存在 Codex 常规的本地认证机制下,本插件不会收集它们。安装这个插件自带 App Server 运行时,但不会添加全局 codex shell 命令。

2. 选择包来源并安装

更换 Profile bundle 之前,先停掉正在运行的 DSH Web 进程。从下面几个来源中选一个。

npm 稳定版

已发布的 npm 包名是 relay-dsh-plugin-codex。
用 @latest 安装当前稳定版:

npx @deepseek-ai/dsh@0.1.2-rc.1 plugin --profile web add relay-dsh-plugin-codex@latest

撰写本文时,latest 指向稳定版 0.2.4。当前版本以链接的 npm 页面为准。

npm 预发布版(DSH 预览期间推荐)

用 @next 试用最新候选版本,它已通过仓库的 CI 发布流程和官方 DSH 兼容性检查。当前候选版还包含跨平台 App Server 运行时,因此 DSH 不依赖全局 codex 可执行文件:

npx @deepseek-ai/dsh@0.1.6-alpha.1 plugin --profile web add relay-dsh-plugin-codex@next

next 标签指向 0.2.5-rc.1;latest 指向 0.2.4。
安装前请到 npm registry 查一下当前发布的 dist-tag。

这个预发布版保留了原生 service-tier 和 resumed-thread 设置,会停掉已取消轮次中迟到的命令,拒绝过期的交互回复,并保留 dynamic-tool 错误。新会话会收到有边界的执行指引;设置 codexExecutionGuidance: false 可关闭,或设置 codexExecutionMode: native 在不使用 DSH dynamic tools 和指引的情况下做对比。默认模式是 enhanced。
宿主自称 DSH,不会声明未实现的 Desktop attestation 或 MCP App HTML 渲染。依赖发现会报告已有路径。

自带的运行时是 @openai/codex@0.155.1;Desktop 的实验性二进制文件既不再分发,也不再需要。这不等于完整的 Desktop 对等实现。已知限制包括:即使模型收到了错误,原生命令事件输出偶尔为空;以及 macOS locale 问题会影响 shasum 等工具。这些问题尚未宣布修复。要回滚,先停掉 DSH,重新安装 relay-dsh-plugin-codex@0.2.0,恢复改动过的 profile 配置,然后重启。

GitHub 开发版

测试未发布的改动时,安装当前的 main 分支:

npx @deepseek-ai/dsh@0.1.6-alpha.1 plugin --profile web add github:yangbobo2021/relay-dsh-plugin-codex#main

main 随时可能变化。想要可复现的 GitHub 安装,请改为固定 Tag 或完整 Commit SHA。例如:

npx @deepseek-ai/dsh@0.1.6-alpha.1 plugin --profile web add github:yangbobo2021/relay-dsh-plugin-codex#v0.2.5-rc.1

官方 DSH CLI 会在 web Profile 不存在时初始化它,让 pnpm 安装选定的包,并添加插件的 bundle 层。没有需要中继结账。如果你已经安装了 dsh 命令,请把上面任何预览命令里的 npx @deepseek-ai/dsh@0.1.6-alpha.1 前缀替换成 dsh。

3. 启动或重启 DSH Web

npx @deepseek-ai/dsh@0.1.2-rc.1 web

如果你用的是已安装的命令,改跑 dsh web。启动时会读取捆绑包成员,所以安装、更新或移除之后都必须重启。

4. 开始 Codex 对话

1. 打开终端里打印的 DSH URL。默认是 http://127.0.0.1:3080。
2. 首次启动时,阅读 DSH 测试须知,然后选择 Continue。
3. 在左侧边栏选择 Add workspace,挑一个 Codex 可以工作的项目目录。
4. 选择 New Session。
5. 打开标着 Standard mode 的模式菜单,选择 Codex。
6. 输入消息并发送。要在第一条消息之前选好后端;已有会话会保留创建时用的后端。

没有单独的激活命令。安装成功加上重启 DSH,就会激活捆绑包,并自动注册托管的 Codex 模式。

5. 为 Workspace 导入已有 Codex 会话

1. 选择 Workspace 列表下方、Settings 上方的紧凑 Codex 导入图标。
2. 在对话框里确认或修改可见的 Target Workspace,然后选择 Scan sessions。当前 Session owner 或最近 Workspace 只是初始选择;确认之前绝不会开始扫描。
3. 查看每个符合条件的 Codex Thread 的完整 ID、标题、源路径、最近活动,以及 ready 或 recoverable 状态。选一个、几个或全部 Thread。
4. 选择 Import selected。
5. 确认导入的行已经显示各自的 Codex 标题和源活动顺序,然后打开任意 Session 继续聊天。

只显示明确选中的 Workspace 里符合条件的 Thread。已绑定的 Thread 和来自其他 Workspace 的 Thread 无法选中。打开 Session 之前就能看到标题和最近时间;批量执行时间不会替代 Codex 清单的 thread/list.updatedAt 顺序。
Codex App Server 仍然是模型上下文、工具状态和压缩的权威来源。DSH 存储原生 user/assistant 展示历史和持久的一对一绑定;它不复制 Codex 私有的运行时记录。每次打开导入的 Session,插件都会读取那个 Codex Thread 一次,把缺失的终端 user/assistant Turn 追加到 DSH 的展示历史,包括带可见消息的中断或失败 Turn。只有 inProgress Turn 会等下一次打开。它不会在后台轮询,不会在 Session 保持打开时同步,也不会加手动刷新操作。

能用的功能

- 每个 DSH Session 对应一个持久的 Codex App Server Thread
- 模型和推理强度选择
- 在原生 DSH 对话里流式输出回答和推理
- 新建会话中长时间运行的 Codex shell 命令实时输出,保留在 DSH 历史记录中
- DSH 审批与用户提问流程
- 图片、中断与继续
- 通用 DSH 工具,暴露在 Codex App Server 的 dsh 命名空间下
- 可选终端传输,需配合独立的 Relay terminal 插件使用

工具通过所属智能体的 DSH 工具运行时执行,仍受 DSH 权限与 Codex 审批行为约束。

名称以 Codex 保留前缀 mcp__ 开头的 DSH MCP 工具,在增强模式注册期间会获得稳定的 relay_mcp__ 传输别名。调用会映射回原始 DSH 名称,因此 MCP 能力仍然可用。普通 DSH 工具名称不变;原生模式继续省略 DSH 工具。

可靠性与 App Server 生命周期

DSH Host 插件负责管理 Codex App Server 进程。插件激活时启动一个子进程,在模型发现之前执行 initialize 和 model/list 预检,并在 DSH 或插件关闭时停止该进程。默认选择为 auto:按顺序尝试有效的本地 ChatGPT/Codex App 路径,然后使用内置的官方 @openai/codex 运行时。本地运行时若预检失败,会被停止,并用内置运行时重试一次。保存的运行时设置可以在不重启 DSH 的情况下替换当前运行时;替换项必须先通过预检才能生效,且允许正在进行的 Turn 先完成。

可以在 Settings → Plugins → Plugin configuration → Codex runtime 中配置运行时。选择 Automatic discovery、Bundled @openai/codex 或 Custom executable,然后保存。当前运行时会替换,模型列表会刷新,无需重启 DSH。托管部署也可以通过 codexCommand bundle 属性使用同一设置。

codexCommand 设置优先于 RELAY_CODEX_COMMAND。两者都可以是 auto、bundled 或绝对可执行文件路径。空值会被忽略;显式路径会被规范化,且必须是存在的常规可执行文件。显式无效路径会报出明确错误,不会静默回退。替换失败时,之前的运行时和模型列表保持生效。

设置诊断信息包含实际运行时来源(local 或 bundled)、规范化路径和模型数量。所选 App Server 的 model/list 结果具有权威性,因此新可用的模型 id 会被保留,无需插件允许列表。

打开 Settings → Advanced,查看 Codex 处于 Connected、Not started、Starting、Connection failed 还是 Codex unavailable。继承 Codex 历史但缺少安全一对一绑定的分叉会话,会在会话标题栏显示 Rebind required。安装和连接错误会包含稳定的错误码和下一步操作;spawn codex ENOENT 这类原始错误不会作为用户指引显示。

在空白的新建会话中,在 Standard、Codex 和 Claude 之间切换会选择匹配后端的模型分组和默认推理强度。延迟的 Codex 模型发现会重试,旧的异步结果无法覆盖较新的后端选择。

Fork 使用 Codex App Server 的 thread/fork 方法。子 DSH Session 发送继承的父 Thread id 和已完成的 lastTurnId;返回的子 Thread 获得新的持久化一对一绑定。如果来源信息不完整、源 Thread 没有所属的 DSH Session,或 App Server 拒绝 fork,操作会失败关闭:Relay 绝不回退到 thread/start。resume 失败时,已持久化的绑定也会保留。待处理的审批只有在重连后其 DSH Session、Codex Thread、Turn、Item、request 和绑定代次仍然匹配时才会被应答;否则会以诊断来源信息拒绝。

参见可靠性规范和可执行验收矩阵。审批和结构化问题的组合由 DSH 交互桥规范定义。

插件边界与 Relay

本仓库在 Relay 中完成设计和兼容性测试。Relay 是一个开源项目,面向长时间运行的智能体工作、外部事件投递和多种对话后端。

插件可独立安装。它唯一的 Relay 包依赖是服务商中立的会话导入中心,包管理器会自动安装。它不依赖 Relay 应用、Relay Events 或其他功能插件运行时。它不替换官方 DSH 布局,也不安装工作区 UI 替代品。Workbench、Files 和 Terminal 已退役;当前 DSH 官方提供这些能力。这种分离让你只安装 Codex,而更广泛的 Relay 项目在需要时组合 Codex、Claude、事件、等待和监控。

探索或 star Relay 以跟进更广泛的工作: <https://github.com/yangbobo2021/Relay>。

更新、检查或移除

更改 bundle 前先停止 DSH Web,之后重启。

Show why the plugin is installed
dsh plugin --profile web why relay-dsh-plugin-codex

Update the npm dependency
dsh plugin --profile web update relay-dsh-plugin-codex

Remove it
dsh plugin --profile web remove relay-dsh-plugin-codex

如果没有常驻的 DSH 命令,请使用 npx @deepseek-ai/dsh@0.1.2-rc.1 前缀代替 dsh。

故障排查

模式菜单中缺少 Codex

重启 DSH Web。然后运行 dsh plugin --profile web why relay-dsh-plugin-codex。如果 pnpm 找不到包,请重复 npm 安装命令并阅读其最终错误。

第一条消息报告认证或可执行文件错误

在启动 DSH 的同一操作系统用户下,用官方 Codex 客户端运行 codex login,然后重启 DSH。插件通常会探测本地 ChatGPT/Codex App 优先,本地发现或预检不可用时,使用它自带的官方 @openai/codex 运行时。

如果报错说自带运行时缺失,更新或重装插件,让包管理器恢复平台相关的可选依赖。托管部署可以显式指定另一个原生 Codex 可执行文件:

macOS or Linux
RELAY_CODEX_COMMAND=/absolute/path/to/codex dsh web

Windows PowerShell
$env:RELAY_CODEX_COMMAND = 'C:\absolute\path\to\codex.exe'
dsh web

DSH bundle 配置属性 codexCommand 的优先级高于 RELAY_CODEX_COMMAND。用 auto 请求发现,用 bundled 强制使用插件测试过的运行时,或用原生可执行文件的绝对路径显式指定一个。两者都不设置时使用 auto。本地发现失败可能回退到 bundled;显式指定的无效路径不会回退。

如果 Settings 显示 CODEX_EXECUTABLE_NOT_FOUND,移除无效的 codexCommand/RELAY_CODEX_COMMAND 覆盖,或换成绝对路径。CODEX_EXECUTABLE_INVALID 表示配置的路径不是绝对路径的常规可执行文件。CODEX_RUNTIME_MISSING 表示必须重装插件来恢复平台可选依赖。CODEX_MODEL_LIST_EMPTY 或 CODEX_MODEL_LIST_INVALID 表示选中的 App Server 没有暴露可用的模型目录。Connection failed 则表示 App Server 初始化失败,或它的进程失败。

分叉的会话提示 Rebind required

正常分叉会调用 App Server 的 thread/fork,并绑定返回的子 Thread。这个状态表示源 Thread/Turn 无法授权或完成该操作——比如 Turn 仍在运行、来源信息不完整,或源绑定已不存在。回到原来的 DSH 会话,修复报告的问题,然后重试 Fork。插件有意不回退到新建的替代 Thread。

编辑器被禁用

DSH 需要先有工作区,才能开始编码对话。选择 Add workspace,选一个目录,然后回到 New Session。

导入的会话提示 Codex thread 已在另一个客户端打开

Codex 只允许一个 App Server 写入者持有 Thread。在 Codex Desktop 里切换到另一个 Thread,可能让写入者仍被那个 App Server 进程持有。完全退出或重启持有它的 Codex 应用、命令行或 App Server 进程,然后在 DSH 里重试发送消息。插件保留原来的一对一绑定,绝不创建替代 Thread。App Server 协议里没有安全的强制接管操作。打开会话仍可通过 thread/read 同步终端展示历史;只有继续对话被写入者所有权阻止。

安装时提示缺少 pnpm

按照 official installation guide 安装 pnpm,并在同一个终端里确认 pnpm --version 能正常工作。

DSH 变了,插件无法启动

DSH 目前是开发者预览版。请把 dsh --version 的输出、插件源码版本号,以及启动报错一并写进 GitHub issue。

开发

git clone https://github.com/yangbobo2021/relay-dsh-plugin-codex.git
cd relay-dsh-plugin-codex
npm install
DSH_ROOT=/path/to/deepseek-harness npm run verify
npm pack

npm run verify 会跑类型检查、测试和生产构建。边界测试会拦截对 Relay 或其他功能插件的意外运行时依赖。

反馈

发现 bug 或有功能需求,请到本仓库的 issue tracker 提。

已发布的稳定版安装

稳定版 0.2.4 支持官方 DSH 0.1.5-rc.2 和 0.1.6-alpha.1;从 npm latest 或 Git tag v0.2.4 安装。

npx @deepseek-ai/dsh@0.1.6-alpha.1 plugin --profile web add relay-dsh-plugin-codex@latest
Git tag alternative, after publication:
npx @deepseek-ai/dsh@0.1.6-alpha.1 plugin --profile web add github:yangbobo2021/relay-dsh-plugin-codex#v0.2.4
预览分享卡片长什么样 ↓yangbobo2021/relay-dsh-plugin-codex
分享 · DeepSeek Harness Hub
yangbobo2021/relay-dsh-plugin-codex

适用于 DeepSeek Harness 的 Codex 对话

这是你的仓库?认领条目

回到顶部