Skip to main content
Glama
README.md
# GPT↔DSH Bridge

> ChatGPT 网页驱动 DeepSeek Harness(DSH)自动化执行任务的桥梁。
>
> GPT 是指挥者,DSH 是执行者。一条 MCP 协议把它们串起来。

[English](README.md) · 中文 | [MIT License](LICENSE)

---

## 快速开始

```bash
git clone https://github.com/baochaofan0404/gpt-dsh-bridge.git
cd gpt-dsh-bridge
pnpm install
pnpm build
pnpm start
```

然后通过 ChatGPT 开发者模式(Connectors → 添加 MCP)连接暴露的 `https://<tunnel>/mcp` 端点,即可在对话中用 `dsh_task_submit` 等工具驱动 DSH 执行任务。

---

## 架构

```
┌─────────────────┐     HTTPS MCP       ┌──────────────────────────┐     ACP      ┌──────────┐
│  ChatGPT Web    │ ─────────────────►  │  Bridge Orchestrator      │ ───────────► │  DSH     │
│  (MCP Host)     │                     │  (Node · Windows/WSL)     │   stdio RPC  │ (WSL)    │
└─────────────────┘                     │                           │              └──────────┘
     ▲                                   │  · 13 MCP 工具            │
     │ 结果回投(模型自然写入对话)         │  · 任务状态机             │
     │                                   │  · conversation↔session   │
     └───────────────────────────────────┘    映射 + 持久化           │
```

**核心设计原则:**
- DSH 不动:复用现有 ACP 服务器,零侵入
- Bridge 是薄层:只做任务编排、状态管理和协议适配
- ChatGPT 侧通过原生开发者模式 MCP 接入(已在 `E:\mcpgpt` 验证过通道)

---

## MCP 工具契约(当前 13 个)

| 工具 | 用途 |
|------|------|
| `dsh_task_submit` | 提交新任务,返回 taskId |
| `dsh_task_status` | 查询任务状态 |
| `dsh_task_result` | 获取任务最终结果 |
| `dsh_task_cancel` | 取消运行中任务 |
| `dsh_task_revise` | 基于当前结果修订并重新执行 |
| `dsh_task_approve` | 人工审批 HUMAN_REQUIRED 任务 |
| `dsh_task_review` | 人工评审任务结果 |
| `dsh_task_list` | 列出项目下所有任务 |
| `dsh_project_create` | 创建/切换工作区项目 |
| `dsh_project_status` | 查看项目状态 |
| `dsh_session_list` | 列出 DSH sessions |
| `dsh_session_archive` | 归档完成 session |
| `dsh_session_rotate` | 轮换 DSH session(上下文过长时) |

---

## 任务状态机

```
CREATED → SUBMITTED → RUNNING → SUCCESS → COMPLETED
                           ↘ FAILED
                           ↘ TIMEOUT
                           ↘ CRASHED
                           ↘ CANCELLED
                           ↘ HUMAN_REQUIRED → (approve) → RUNNING
                                            → (reject) → CANCELLED
```

完整状态机定义见 [designs/state-machine.md](designs/state-machine.md)。

---

## 目录结构

```
gpt-dsh-bridge/
├── src/
│   ├── mcp/           # MCP server + 13 个工具实现
│   ├── task/          # TaskManager + TaskStore(SQLite)
│   ├── workspace/     # 项目/工作区管理
│   ├── errors.ts      # BridgeError + error codes
│   └── config.ts      # 配置加载
├── designs/           # 架构设计文档
├── docs/              # 用户文档
├── scripts/           # 启动/隧道脚本
└── recon/             # 侦察报告(原始研究材料)
```

---

## 依赖

- Node.js ≥ 22
- DeepSeek Harness(DSH)已安装并运行(`pnpm dsh --profile web`)
- [OpenAI MCP Tunnel](https://github.com/openai/tunnel-client) 或 [cloudflared](https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/)(HTTPS 隧道)
- ChatGPT Developer Mode(Pro/Plus/Enterprise)

---

## License

MIT © 2026 baochaofan0404

---

## 自主执行循环(核心特性)



这是项目的核心卖点:**ChatGPT 是指挥官,DSH 是执行者,Bridge 是神经中枢。**

### 完整流水线



### 关键能力

| 能力 | 工具 | 说明 |
|------|------|------|
| **MCP 接入** | 13 个工具 | 完整 MCP 协议支持 |
| **任务提交** |  | 返回 taskId |
| **状态查询** |  | 轮询检查进度 |
| **结果获取** |  | 最终输出 |
| **任务修订** |  | 失败后自动修订重试 |
| **审批流程** |  | HUMAN_REQUIRED 状态处理 |
| **后台 Worker** | 自动启动 | 独立进程,Hermes 压缩不死 |
| **任务队列** | TaskManager | 有序执行,不重叠 |
| **任务锁** | store.ts | 防止并发冲突 |
| **心跳检测** | manager.ts | 自动清理僵死任务 |
| **断点恢复** |  | 崩溃后可恢复 |
| **会话管理** |  | 上下文轮换、归档 |
| **Review 循环** | 模型自然调用 | ChatGPT 自动审查结果 |