cd-connect
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
cd-connect
在 Codex 中规划和审查,让 DSH Desktop 执行阶段任务。
cd-connect 通过 MCP 连接规划与审查端和现有的 DeepSeek Harness Desktop。你定义目标、范围和验收条件,DSH 使用原有模型、工具权限和人工审批执行;执行结束后,由人或用户授权的审查 Agent 检查当前运行的证据和实际产物,决定通过或返工。
项目名中的 c 代表 ChatGPT,d 代表 DeepSeek Harness。目前实测客户端为 Codex 桌面会话,面向同一台 Linux 电脑上的单用户使用。
核心能力
明确交接任务:提交目标、工作目录、允许范围、排除事项、约束和验收条件,创建普通 DSH 原生会话;返工沿用该会话。
按证据审查:读取本轮助手消息、工具调用和结果,核对实际文件。执行结束与审查通过分别记录。
中断后可核对:持久保存请求编号、运行记录和派发回执。结果不明时先查原生日志,不自动重发。
保留原生控制:不更换模型、不扩大工具权限、不代替人工审批;续写与取消都检查当前运行和版本。
Related MCP server: Codex DSH MCP
工作方式
插件运行在已有 DSH Desktop Host 内;本地 stdio 适配器只转发 Host 实际提供的工具。桥接保存任务记录,DSH 保存原生日志;完成时的目录见证记录文件内容、权限、目录结构与符号链接目标文本的摘要,供审查时核对变化。组件职责 · 图表源文件与维护
一次任务按以下顺序推进:
提交:先检查
bridge_health,再用task_submit提交明确规格,保存任务编号、运行编号、版本和事件游标。等待:用
task_wait消费事件页;超时只表示本次没有新事件。遇到waiting_approval,由人在 DSH 中核对并批准或拒绝。审查:进入
awaiting_review后,读取当前运行的全部task_evidence页,检查实际产物,再用task_review记录决定。返工或通过:需要修正时先记录
changes_requested,再用task_continue在同一会话继续;新运行完成后重新审查。通过时才记录accepted。
支持范围
项目 | 当前支持 |
版本与系统 | cd-connect |
执行端 | DSH Desktop |
规划与审查端 | 已实测 Codex 桌面会话通过本地 stdio MCP 调用 |
Node.js |
|
安装 | 从完整源码目录安装;不提供 npm 包, |
CI | Linux 上的 Node.js |
尚未验证 | Windows/macOS、其他 ChatGPT 客户端、网页与隧道路径 |
本项目不提供跨机器执行、多租户隔离、无人值守自动恢复或外部副作用恰好一次的保证。
快速开始
需要可用的 DSH Desktop、符合上表的 Node.js,以及支持本地 stdio MCP 的客户端。以下 /absolute/path/to/... 和 /tmp/... 均为示例路径,请替换为实际路径。升级、卸载、Desktop CLI 替代安装和故障处理见安装与维护。
1. 获取源码并检查环境
git clone https://github.com/M1racleShih/cd-connect.git
cd cd-connect
npm ci --ignore-scripts
npm test
npm run check项目是直接运行的 ESM JavaScript,无构建步骤。默认测试使用隔离夹具,会跳过需要 DSH 源码的原生组件测试;check 递归检查 src/、scripts/、test/ 的 JavaScript 语法,不做类型检查。CI 覆盖基础安装和这两项检查,并运行双语文档检查;验证范围见贡献指南。
2. 在 DSH 中启用插件
打开 DSH 的“插件”页面,安装源码根目录的绝对路径,启用 cd-connect bundle。加载成功后,插件会:
在
http://127.0.0.1:48763/mcp提供 MCP 服务;可用原生port配置改端口。在实际 DSH home 下写入
cd-connect/connection.json,保存本次加载的随机凭据,权限为0600。在
cd-connect/ledger/tasks.json持久保存任务记录。
本地脚本默认查找 ${DSH_HOME:-~/.dsh-linux}/cd-connect。实际位置不同时,设置 CD_CONNECT_STATE_DIR 指向对应的 cd-connect 目录。
3. 连接 Codex 并确认工具可用
从源码根目录运行,替换示例路径:
npm run health
codex mcp add cd-connect -- "$(command -v node)" /absolute/path/to/cd-connect/src/stdio.js刷新客户端的 MCP 连接后,让目标 Codex 会话直接调用 bridge_health。确认连接的是预期实例,且返回:
profile: "desktop"、bridge.version: "0.5.0"、bridge.phase: 3;storage.healthy: true、capabilities.task_execution: true;capabilities.task_storage: "durable_snapshot_v1",capabilities.tools恰好包含九个工具。
npm run health 与可选的 npm run verify:native 只验证本地 SDK/HTTP/stdio 路径。目标会话是否能发现和调用工具,要在该会话中确认。插件升级后需重新加载插件并刷新客户端连接。
4. 完成一个小任务
创建一次性空工作目录,记下输出的绝对路径:
workspace=$(mktemp -d /tmp/cd-connect-hello.XXXXXX)
printf '%s\n' "$workspace"将下文的 <workspace> 换成该实际路径,再向规划端提出请求:
请通过 cd-connect 提交阶段任务。workspace 为
<workspace>;goal 是创建greeting.txt,内容恰为hello加一个换行;scope 仅允许修改该文件;out_of_scope 为其他文件、外部服务与发布;constraints 为使用现有模型和原生权限、不使用子 agent;acceptance 为重新读取文件得到 6 字节hello\n,并报告校验命令、退出状态和 SHA-256。
按上文流程等待并审查。读取证据时,从当前 run.id 的游标 0 开始消费全部页;调用 task_review 时携带当前 expected_revision、run_id、新 request_id、具体说明及本轮 evidence_ids。
若文件写成了 hello world 加换行,先记录具体的 changes_requested,再要求同会话修正并重新读取验证;只审查新运行的证据。成功标志是产物符合规格、任务出现在对应 DSH 会话中,且审查后状态为 accepted。完整字段与恢复步骤
为什么这样设计
转发提示词只能证明消息已发送。cd-connect 还要回答:执行的是哪项任务、哪些记录属于本轮、文件在审查时是否变化,以及中断后的请求是否已经执行。
为此,桥接保存结构化规格和稳定请求编号,用固定 Markdown 模板向 DSH 逐项传达要求;每次运行单独编号,证据与审查绑定该运行;派发前后分别保存意图和回执。无法确定执行结果时,先核对快照与原生日志。
这些文字要求不会变成额外的工具权限。执行方负责实现和验证,审查方根据证据决定是否通过,DSH 按原生策略保留人工审批。架构与设计细节
使用边界
审批在 DSH 中完成:
waiting_approval展示工具、调用编号和原因;完整命令需在 DSH 界面核对。桥接没有批准接口。完成后仍需审查:
execution_completed和awaiting_review都不是accepted。执行失败、取消、阻塞、token 上限、权限拒绝或证据不足时不能按成功验收。取消需等待确认:取消请求的
accepted仅表示收到请求;匹配轮次以aborted结束并空闲后才是confirmed。取消不回滚修改,不自动释放目录占用。未知结果先核对:重启、超时或回执缺失时,先
task_get,再task_recover+inspect。只有记录证明尚未尝试的意图才可用dispatch_prepared显式派发。文件检查有范围:同一桥接存储中,未验收任务占用同目录及父子目录;这不是系统级写锁。目录见证排除
.git,不跟随符号链接,上限为 20000 个条目、128 MiB。它不能阻止并发写入、归属其他进程的修改,或证明外部服务、链接目标内容及修改后又恢复的历史。会话按工作目录归组:新任务按规范目录创建或复用 DSH 侧栏工作区,通过
workspaceId关联会话并确定 cwd。保留已有名称;不按父目录或显示名称匹配。关联失败会停止派发并要求人工核对;旧会话不自动迁移。私有数据留在本机:
connection.json含凭据,tasks.json含任务正文、会话映射和部分工具证据。不要提交或公开;删除任务记录会丢失去重和恢复依据。回环监听、Bearer 认证和文件权限不构成多租户沙箱,不要向互联网暴露服务。
实验性事件协调器
可显式启动独立本地程序,由它调用 task_wait 等待任务。仅当绑定的实例、任务、运行和版本进入 awaiting_review 时,最多尝试一次唤醒专用 Codex 审查聊天;普通进度和审批等待不启动模型。
它使用实验性 Codex app-server stdio,保留原生模型与权限策略,只给出审查建议,不自动接受、续写、取消或恢复任务。CLI 提供 init/run/status/stop/rearm/reconcile,不安装常驻服务或定时模型轮询,也不保证账号零用量。专用聊天所有权、停止、游标和不确定发送的处理见事件协调器指南。普通 MCP 客户端继续使用原有等待流程。
文档
所有项目指南均提供中英文版本;每页顶部可切换语言。
主题 | 中文 | English |
版本更新与兼容说明 | ||
安装、连接、升级与故障处理 | ||
组件、协议身份与控制边界 | ||
提交、证据、审查、取消与恢复 | ||
可选的本地审查唤醒 | ||
图表源文件、配色与重绘 | ||
开发、检查与文档同步 | ||
私有数据与漏洞报告 | ||
Agent 工作约定 |
贡献前请阅读贡献指南,并按变更范围运行检查。CI 配置覆盖基础安装、默认测试、递归语法检查与双语文档检查;原生组件测试和真实桌面验收需单独执行。
相关项目
DeepSeek Harness:上游执行框架。
DSH Linux:第一版接入目标。
dsh-chatgpt-bridge:相关桥接实现参考。
codex-bridge:多执行器桥接实现参考。
许可
MIT,版权 © 2026 Han-Qing Shi。第三方依赖保留各自许可。cd-connect 是独立项目,与 OpenAI 或 DeepSeek 不存在官方隶属或背书关系。
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Persistent memory, hybrid search and a goal graph for AI agents, over stdio or remote HTTP.
Project management MCP for AI agents with safe task reads and writes.
Human-input bridge for AI agents with voice-first answer links, MCP tools, and HTTP APIs.
Remote MCP server for supportsheep: run AI interviews and manage support content for your blog.
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP bridge that exposes DeepSeek Harness (DSH) web UI's cordis RPC API as stdio tools, enabling any MCP client to manage workspaces, create/resume sessions, send messages, and fetch session stats.51MIT
- FlicenseBqualityBmaintenanceEnables local, stdio-based task dispatch from Codex to DeepSeek Harness with independent review, bounded rework, persistent queues, and completion tracking.15-
- AlicenseNot gradedqualityBmaintenanceLets 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.1MIT
- AlicenseNot gradedqualityBmaintenanceEnables any MCP-capable client (Claude Code, Cursor, VS Code, and others) to deliver messages into a local DeepSeek Harness over stdio or Streamable HTTP. It also exposes a pull-based task queue so producers can publish work that clients claim, complete, or list.MIT