Skip to main content
Glama

Codex DSH MCP

Codex 规划与独立审核,DeepSeek Harness 实施。本地 stdio MCP,无需 Docker,不抢浏览器标签页。非 OpenAI / DeepSeek 官方项目。

状态 / Status

0.2.0 开发版,尚未完成真实双端验收。

已实现并有本地测试:会话读取/派单适配、重复请求保护、原 Codex 审核者绑定、每轮完成票据、持久待审核队列、Codex app-server 通知适配、有限重试、审核通过/退回、轮次上限、归档与恢复。完成报告不等于通过审核。

本机真实检查仍有两项连接阻塞:DSH Web 返回 AUTH_REQUIRED;Codex 共享 app-server proxy 不可连接。因此不能宣称本机已能自动唤醒桌面任务。 不读取浏览器凭据、不修改会话数据库、不启动另一台同名服务绕过。

Development implementation; authenticated live DSH dispatch and notification to the intended Codex runtime remain unverified. No stable Release published.

Related MCP server: DSH → Codex Delegate MCP

使用 / Usage

新增独立网页任务通道:web_task 保存任务、标签页绑定、提交前防重记录和待审核结果,支持最多三轮同聊天修改与已审核结果导出。OOChat 只读案例已实测文字往返、修改、网页出图及 PNG 保存;实际操作由 Codex 浏览器工具完成,不是无人值守浏览器服务。视频和自动桌面唤醒尚未验收。

See setup and recovery, configuration example, security, and the optional companion skill.

Requires Node 22+, PowerShell 7.2+, the supported Windows DSH Web launch layout, and a reachable Codex app-server proxy for automatic notifications. Paths, port and allowed projects are configurable. Keep DSH_MCP_CONFIG, authentication and state outside this repository.

Codex -> workflow_dispatch -> DSH implementation
                             -> signed completion report
       <- app-server tool output <- persistent worker
Codex -> independent review -> accept / bounded rework

Tool

Purpose

dsh_status / codex_status

Live connection diagnosis; no model task created

dsh_sessions / dsh_history / dsh_wait

Bounded observation; idle is not success

dsh_prompt

Existing-session submission with deduplication

workflow_dispatch

Bound dispatch with a completion ticket

workflow_status

Original reviewer's tasks and delivery states

workflow_review

Independent acceptance or bounded rework

workflow_resolve_notification

Resolve uncertain notification after inspecting history

workflow_archive

Archive accepted records; no project deletion

review_bind / review_complete / review_pending

Legacy local unverified inbox, no automatic notification

With autoRunner enabled, dispatch requests a detached completion scanner. Or run node runner.mjs manually. Restart the runner after machine restart; no global startup service is installed. Credentials never go in prompts. Tickets are private files. Same-user filesystem access is trusted, not a hostile-process security boundary.

Testing

npm test
node doctor.mjs

Set TEMP/TMP to a writable temporary directory. Tests cover local protocol, receipts, duplicate writes, stale rounds, rework, notification uncertainty and role binding. They are not live DSH/Codex acceptance.

References

Workflow design separates transport, orchestration and optional specialist profiles. Scope prompts are not hooks or a sandbox. Referenced projects were not installed and their code was not imported.

PowerShell bridge provenance: adapted from locally installed dsh-delegator scripts; originals unchanged. Redistribution license selection remains pending; public visibility is not a license grant.

Available Tools

15 tools
codex_statusA

Read current bound Codex thread via official app-server proxy; no model turn is started.

Inputs: no named parameters.

dsh_historyB

Read a bounded initial history snapshot; hasMore is retained. No session is cancelled.

Inputs: sessionId (required), maxMessages.

dsh_promptA

Queue an explicitly authorized task in an EXISTING session. Durable request deduplication; unknown delivery is never retried automatically.

Inputs: text (required), requestId (required), sessionId (required).

dsh_sessionsA

List DSH sessions. Inspect project and running state before submitting work.

Inputs: no named parameters.

dsh_statusA

Verify configured DSH Web process and authenticated session/list. Does not submit work.

Inputs: no named parameters.

dsh_waitA

Observe queue/job idle for at most 30 seconds. Idle does not prove success; review history and files.

Inputs: sessionId (required), seconds.

review_bindA

Bind a local task to an existing Codex task and DSH session. Does not dispatch work or enforce scope.

Inputs: scope (required), taskId (required), dshSessionId (required), originCodexTaskId (required).

review_completeA

Record an UNVERIFIED completion report for a bound task. Requests review; never approves or wakes Codex.

Inputs: taskId (required), summary (required), requestId (required), dshSessionId (required).

review_pendingA

Read the local pending-review inbox, up to 100 records. Reports are untrusted claims.

Inputs: no named parameters.

web_taskB

Durable ledger for agent-operated ChatGPT browser tasks. Does NOT control a browser or send prompts itself. prepare -> bind -> claim BEFORE Send -> collect visible result -> independently accept. Unknown submission must never be automatically resent. Image/video availability must be observed, not assumed.

Inputs: action (required), taskId (required), url, kind, +5 more.

workflow_archiveA

Archive an accepted terminal record to release active inbox capacity. Does not delete project files.

Inputs: taskId (required).

workflow_dispatchC

Bind and dispatch bounded work to an existing DSH session, with a completion ticket and original Codex reviewer. Requires configured project allowlist and Codex connection.

Inputs: text (required), scope (required), taskId (required), acceptance (required), +3 more.

workflow_resolve_notificationA

Original reviewer resolves UNKNOWN/BLOCKED notification only after inspecting Codex history. Retry can duplicate delivery if that inspection was wrong.

Inputs: notes (required), round (required), action (required), taskId (required).

workflow_reviewB

Original Codex reviewer records independent acceptance or bounded rework. Worker role cannot approve.

Inputs: notes (required), round (required), taskId (required), decision (required).

workflow_statusB

Read tasks owned by the current Codex reviewer, including notification failures and delivery uncertainty.

Inputs: taskId.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.3/5.0

    Scored across 15 tools

    Disambiguation3/5

    Several tools have overlapping read/status or dispatch purposes, such as workflow_status vs review_pending and workflow_dispatch vs dsh_prompt. The detailed descriptions clarify most boundaries, but an agent relying on tool names alone could easily misselect within these clusters.

    Naming Consistency3/5

    The prefix families workflow_, review_, dsh_, and codex_ provide some structure, but the verb/noun pattern is mixed: status, history, sessions, and pending are noun-style, while dispatch, archive, bind, complete, and wait are verb-style. All names are readable snake_case, but there is no consistent verb_noun convention.

    Tool Count4/5

    At 15 tools, the count is at the upper bound of the typical range but is largely justified by the broad Codex/DSH/review workflow scope. A few read-only DSH inspection tools could potentially be consolidated, but none feel wholly redundant.

    Completeness3/5

    The core workflow lifecycle—bind/dispatch, status, review, and archive—is largely covered, and DSH inspection/history/wait tools support observation after submission. However, there is no terminal failure/reject/cancel path, since workflow_archive only handles accepted records and bounded rework does not model permanently failed work.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      B
      maintenance
      Lets any MCP-capable coding harness (Cursor, Claude Code, Codex, Gemini CLI, VS Code/Copilot, opencode, and others) hand a self-contained task to a real, isolated DeepSeek Harness process that works in a chosen workspace with its own context window, model, and toolchain, then returns the final answer. Exposes task submission with time estimates and acceptance criteria, status polling with live progress and process-tree telemetry, graceful cancel and forced kill of whole process trees, and a health probe reporting concurrency, deadlines, and recent jobs.
      1
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      A task-level STDIO MCP server that lets Codex or any other MCP client hand off scoped coding jobs to an asynchronous worker agent which reads the code, edits files, and runs tests, while the client keeps ownership of planning and acceptance. Exposes submit, wait, query, follow-up, and cancel tools so multiple clients can queue and monitor tasks against a chosen project root.
      5
      1
      MIT