DeepSeek Harness(DSH)是一个基于插件的系统,旨在通过外部 Bundle 扩展其功能。dsh-embedded-codex 插件提供了在 DSH Web Session 中集成官方 Codex App Server 的能力。
插件介绍¶
该插件为 DSH 增加了一个名为“Codex 模式”的 Agent 预设。它允许 DSH Web Session 直接连接并使用官方 Codex App Server 的 Agent Runtime,同时复用当前机器上 ChatGPT Codex 的登录状态。
在运行逻辑上,插件实现了职责分工:Codex 负责 Agent 的模型循环、原生工具调用、沙盒环境、审批流程、历史记录隐藏和压缩;而 DSH 继续负责 Session 管理、Web/API 接口、对话轨迹展示以及持久化存储。其他 DSH 原有的 Agent 预设不受此插件影响。
环境与安装¶
在安装前,请确保环境满足以下要求:
- Node.js:
^22.19.0或>=24.0.0 - pnpm:
11.7.0 - Git: 已安装并初始化 submodule
- ChatGPT Codex: 拥有权限并已登录的账户
安装流程如下:
- 生成安装包
先在插件目录下运行打包命令,生成.tgz文件。
pnpm pack
- 安装插件
使用 DSH CLI 将生成的 tarball 安装到 Web Profile。
dsh plugin --profile web add .\dsh-embedded-codex-0.1.0.tgz
- 启动 Web
安装完成后启动 DeepSeek Harness Web。
dsh web
功能说明¶
-
Agent 模式切换
打开一个新的 DSH Session,在模式选择中切换到“Codex 模式”。该模式下不需要配置DEEPSEEK_API_KEY,而是直接使用 Codex 的凭据。 -
固定版本依赖
插件内部强制锁定使用@openai/codex@0.149.1,不会调用系统 PATH 中其他版本的 Codex CLI。 -
职责分离
- Codex 负责: 模型循环、原生工具、沙盒、审批、历史记录隐藏和压缩。
- DSH 负责: Session 管理、Web/API、对话轨迹、持久化存储。
-
兼容实现
插件提供了四个 Host provider 和两个权限 UI owner 的兼容替代实现,以确保与现有 DSH 环境的集成。
权限模式¶
在 Codex 模式下,DSH 的权限选择器会切换为 Codex 的三种稳定模式。权限选择记录在 Session 中,并在下一个 turn/start 生效。
| UI 模式 | App Server 设置 | 行为 |
|---|---|---|
| 请批准 / Ask for approval | workspaceWrite + on-request + user |
工作区内直接执行;联网或越界时请求用户批准 |
| 帮我批准 / Approve for me | workspaceWrite + on-request + auto_review |
沙盒边界不变,符合条件的越界请求交给自动审核 |
| 完全权限 / Full access | dangerFullAccess + never |
不使用 Codex 文件和网络沙盒,不弹出审批 |
配置项¶
可以通过在 Profile patch 中覆盖 embedded-codex 条目来自定义行为。默认配置如下:
- id: embedded-codex
config:
requireChatgptLogin: true
providerName: codex
providerDisplayName: Codex
defaultModelAlias: default
env: {}
processCwd: 当前进程目录
approvalPolicy: on-request
sandbox: workspace-write
disposeGraceMs: 3000
stderrMaxBytes: 65536
开发与调试¶
如果是开发者,可以使用以下命令进行本地开发:
pnpm dev: 构建、确保本地开发链接并启动隔离的 DSH Web。该命令会创建一个稳定的本地链接,后续修改插件代码只会重新构建,不会重复安装 Codex。pnpm dev:install: 构建、打包并执行一次真实 tarball 安装,用于验证发布边界。pnpm dev:web: 启动已经安装好的隔离 Web,不重新构建。pnpm dev:remove: 从隔离 Web Profile 移除开发插件。pnpm pack: 生成可安装的.tgz文件。
如果需要单独运行测试,可以使用:
pnpm exec vitest run tests/runtime.spec.ts
总结¶
dsh-embedded-codex 插件解决了在 DeepSeek Harness 中直接使用官方 Codex App Server 的集成难题。通过明确的职责划分和兼容性实现,它允许开发者在不改动 DSH 核心代码的前提下,利用 Codex 的 Agent Runtime 能力进行开发与测试。