Cheap Labor
摘要
Cheap Labor 的存在是因为 Codex 的使用量是一个有限的额度池——而编码智能体所做的大部分工作其实不是写代码。读取文件、探索仓库、规划和审查 diff 都会消耗 Codex 的额度,却从未写过一行代码。
后来我们有了一个关键发现:ChatGPT 和 Codex 的使用量是分开计算的——两个独立的额度。于是我们决定分工:ChatGPT 用自己的额度完成所有思考工作,而 Codex 只被用于真正的实现。
这就是全部构想——一个通过 Secure MCP Tunnel 连接的本地 MCP 服务器:网页版 ChatGPT 驱动你机器上的 Codex CLI,在你的本地仓库上工作,只需一个 @cheap-labor 触发词。
技术栈
Cheap Labor 采用一套刻意精简的跨平台技术栈构建:
运行时: Node.js(>= 20)——桥接服务器运行时
语言: TypeScript——所有桥接代码
协议: MCP SDK(
@modelcontextprotocol/sdk)——stdio MCP 服务器 + 客户端校验: zod——工具参数模式
执行器: Codex CLI(
codex mcp-server)——作为子进程 MCP 客户端,用于探索和实现连接: Secure MCP Tunnel(
tunnel-client)——ChatGPT 网页版与本地服务器之间的私有、仅出站连接
Related MCP server: Kontrol
前置条件
macOS 或 Linux,已安装 Node.js >= 20 和 npm
git
已开启开发者模式的付费 ChatGPT 账户
Codex CLI,已登录(
codex login)tunnel-client——安装过程中自动安装:macOS 通过 Homebrew;Linux 通过 GitHub releases 二进制文件(linux-amd64/arm64)并加入 PATH来自 OpenAI 平台的 Secure MCP Tunnel + 运行时 API 密钥(安装程序会引导你到相应页面)
安装
克隆仓库并进入目录:
git clone https://github.com/psrisuphan/cheap-labor.git cd cheap-labor运行安装程序——它会安装依赖、构建桥接器、写入你的隧道配置文件、验证全部 23 个工具,并引导你将应用连接到 ChatGPT 网页版:
./scripts/install.sh
使用方法
启动隧道——使用 cheap-labor 期间保持其运行:
./scripts/tunnel.sh start # stop: ./scripts/tunnel.sh stop打开一个新的 ChatGPT 对话,输入
@cheap-labor——即你从工具菜单中添加的应用名称——然后提及项目。确认项目目录(被询问时)——会话即已武装。
卸载
./scripts/uninstall.sh清理脚本能触及的所有内容:旧的 MCP 注册、隧道守护进程、每个已初始化项目中的 .codex-bridge/ 状态、隧道配置文件和存储的 API 密钥,以及构建产物。三个提示(按 Enter 接受推荐答案,输入 n 保留)。之后会打印一份手动清理指南,涵盖只有你能触及的部分:ChatGPT 应用连接、Platform 隧道、运行时 API 密钥和项目文件夹。
工作原理
桥接器在武装之前处于休眠状态。休眠期间,服务器只在 instructions 中提供一条两行的"忽略这些工具"提示,因此无关的提示词会在完全不考虑桥接器的情况下得到回答。完整的工作流规则位于 init 工具的返回负载中,只有在武装之后才会进入对话。
触发机制就是调用本身——没有提示词监控、没有标签语法、没有短语扫描:
用户输入
@cheap-labor来调用 cheap-labor。这是唯一的触发方式。ChatGPT 询问你想使用哪个项目,解析项目(
find_projects用于模糊名称匹配,create_project用于新目录),与你确认确切路径,然后武装会话——init(project)(对于全新目录则直接使用create_project)并接收一个session_token。所有其他工具在没有有效
session_token时拒绝运行——这是一道硬性兜底,同时也能阻止工作流之外的意外使用。
工作流程
武装会话——
@cheap-labor+ 确认项目 →init返回令牌。理解——
git_status、list_tree、read_file、grep(全部免费)。详细规划——ChatGPT 通过
plan_write将PLAN.md/SPEC.md/TASKS.md写入仓库的.codex-bridge/文件夹。计划是精确的分步指令:要创建/编辑哪些文件、每项变更应该是什么、要运行哪些命令、以及如何验证。小改动,直接完成——
write_file/edit_file免费处理单文件变更。委派繁重工作——
implement将计划交给 Codex,后者逐字执行步骤、运行构建/测试、修复出错的地方,并返回IMPLEMENTATION COMPLETE。审查——ChatGPT 读取返回的
git diff,并通过同一循环发送有针对性的修正。
功能特性
单触发激活: 在任何 ChatGPT 对话中输入
@cheap-labor是唯一的触发方式;桥接器在被调用前保持休眠(零模型注意力)——没有提示词监控、没有标签语法、没有短语扫描。风险门控执行: 命令被分类为只读 vs. 高风险;高风险工作通过 Codex 自动审查和你的否决权。
内置安全护栏: 项目路径范围限定、密钥脱敏、每次繁重运行前的检查点,以及仅本地提交、绝不推送。
跨平台: macOS 和 Linux,无公网端口,仅出站隧道。
工具参考
免费桥接工具(确定性本地 I/O,不消耗 Codex 额度):
工具 | 用途 |
| 为项目武装会话(唯一入口);返回 |
| 目录结构,深度受限 |
| 文件内容,行范围限定、大小上限、密钥脱敏 |
| 支持包含/排除 glob 的正则搜索 |
| 仓库状态 + 审查循环(未跟踪文件会被列出) |
| 风险门控的验证命令(测试、构建) |
| 直接创建新文件(拒绝覆盖) |
| 对现有文件进行精确匹配编辑(基于内容的过期保护) |
| 批量编辑/写入,全有或全无(无部分状态) |
| 为回滚快照 HEAD + 工作树( |
| 恢复到检查点(需用户确认;本身可撤销) |
| 本地暂存并提交,提交信息需用户批准(绝不推送) |
| 列出已记录的检查点 |
| 将模糊名称解析为候选路径(浅层、常见位置) |
| 创建新的项目目录(不执行 git init);返回 |
| 管理 |
Codex 支持的工具(消耗 Codex 额度):
工具 | 用途 |
| 用于免费工具无法回答的问题的只读 Codex 会话 |
| 基于当前计划的工作区写入 Codex;返回摘要 + |
| 通过线程 ID 继续会话(审批否决循环、后续跟进) |
安全模型
implement/deep_explore始终传递显式沙箱(workspace-write/read-only)——绝不使用danger-full-access。固定 Codex 模型 — 每次 Codex 调用都固定使用
gpt-5.6-luna,采用medium推理级别并关闭 Fast Mode,以每次调用的覆盖参数传递。桥接器从不写入~/.codex/config.toml。唯一例外:deep_explore接受更强的模型,但前提是你在聊天中确认更改。自动安全审批 — Codex shell 审批以 MCP 征询的形式呈现:只读命令自动批准;任何有风险的操作(写入、网络、git 变更)都会被拒绝并记录,以便 ChatGPT 转达给你进行否决。否决通过
codex_reply执行。run_command直接运行可执行文件(不经过 shell)。有风险的命令交由 Codex 自动审查——绝不授予完全访问权限,任何有风险的操作都不会未经提示而运行。write_file仅创建新文件;edit_file仅通过精确匹配替换来编辑现有文件(过期/模糊匹配不写入任何内容);edit_pack以全有或全无的方式批量处理。所有操作都有大小上限并拒绝二进制文件。发布模式 —
checkpoint快照 HEAD + 工作树(每次implement前自动执行);rollback恢复检查点(其本身可撤销);git_commit使用用户批准的消息在本地提交。push/pull/reset/rebase/checkout 从不暴露。桥接工具拒绝会话批准的项目目录之外的路径。
read_file/git_diff默认对已知的机密模式进行脱敏处理。
项目结构
cheap-labor/
├── assets/ # Logo / icons
├── scripts/ # Installer, uninstaller, tunnel control, setup
│ ├── install.sh # All-in-one installer
│ ├── uninstall.sh # Clean uninstaller
│ ├── tunnel-setup.sh # Writes the tunnel-client profile
│ ├── tunnel.sh # start / stop / restart / status / logs the tunnel daemon
│ └── setup.mjs # Prerequisite check
├── src/ # Bridge MCP server
│ ├── index.ts # Server entry, tool registration, server instructions
│ ├── safety.ts # Project scoping, redaction, risk classification
│ ├── projects.ts # Session approvals, ledger, find/create
│ ├── planstore.ts # .codex-bridge/ I/O
│ ├── approvals.ts # Auto-safe policy
│ └── tools/ # context, command, codexCommand, codex, deepExplore,
│ # implement, edit, plans, ship
├── tests/ # Node test suite
├── dist/ # Build output (gitignored)
└── package.json测试
要运行单元测试套件:
npm run typecheck # tsc --noEmit
npm test # node --test (tsx)本地数据与日志
Cheap Labor 将其隧道配置文件、运行时 API 密钥和守护进程日志存储在项目目录之外的本地位置:
macOS / Linux:
~/.config/tunnel-client/
在此目录中你将找到:
cheap-labor.yaml—tunnel-client配置文件(包含隧道 ID)。cheap-labor.key— 运行时 API 密钥,权限为 chmod 600,绝不提交。cheap-labor.log— 隧道守护进程日志。
计划和交接文件在运行时写入每个项目的 .codex-bridge/ 文件夹(已加入 gitignore)。Codex 自身的配置和认证位于 ~/.codex/。
许可证
本项目采用 MIT 许可证授权。完整许可证文本请参阅 LICENSE 文件。
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityAmaintenanceAn MCP server that provides AI coding agents with AST-accurate, context-budget-aware codebase querying, safety gates, and team policy integration via structured tools and a local plugin layer.5724MIT
- Alicense-qualityBmaintenanceA self-hosted MCP server that enables AI coding agents to read, edit, search, and run code in local projects with human review loops and policy controls.MIT
- AlicenseAqualityAmaintenanceMCP server that enables a coordinator AI agent to spawn, control, and supervise local coding agents with interactive gating for high-risk operations.10381MIT
- Alicense-qualityCmaintenanceLocal MCP server enabling Codex and ChatGPT to read/write files, execute commands, manage processes, use Git, and inspect images on the user's machine with full privileges.Apache 2.0
Related MCP Connectors
A paid remote MCP for OpenAI Codex agent coordination MCP, built to return verdicts, receipts, usage
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
An MCP server that gives your AI access to the source code and docs of all public github repos
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/psrisuphan/cheap-labor'
If you have feedback or need assistance with the MCP directory API, please join our Discord server