内容
# 需要一个通话
为您的编码代理自托管语音通话。从 Codex 启动会话,在您的办公桌或手机上讨论一个想法,并让 Codex 线程在后台读取已确定的文字记录。
需要 Node.js 24+ 以通过 Portless 获得稳定的本地 URL。
## 1. 克隆和链接
```bash
git clone https://github.com/jacobparis/this-needs-a-call
cd this-needs-a-call
npm install
vercel link
DEV_MCP_SHARED_SECRET="$(openssl rand -hex 32)"
vercel env add MCP_SHARED_SECRET development --value "$DEV_MCP_SHARED_SECRET" --yes --force
```
## 2. 安装本地插件
```bash
vercel env pull
vercel env run -- npm run install:codex-plugin -- \
--app-url https://this-needs-a-call.localhost
```
## 3. 本地运行
```bash
vercel env run -- npm run dev:portless
```
Portless 提供本地开发的相同稳定 URL,每次都是:`https://this-needs-a-call.localhost`.
## 4. 部署用于手机交接
使用单独的生产环境密钥。不要重用开发环境密钥。
```bash
vercel integration add upstash/upstash-kv
PROD_MCP_SHARED_SECRET="$(openssl rand -hex 32)"
vercel env add MCP_SHARED_SECRET production --value "$PROD_MCP_SHARED_SECRET" --yes --force
DEPLOYMENT_URL="$(vercel deploy --prod --yes)"
vercel env run -e production -- npm run install:codex-plugin -- \
--app-url "$DEPLOYMENT_URL"
```
Upstash 市场产品是 Redis 兼容的存储。生产环境失败时需要 `UPSTASH_REDIS_REST_URL` 和 `UPSTASH_REDIS_REST_TOKEN`。
## 5. 开始通话
在 Codex 中:
```text
/this-needs-a-call
```
该技能在 `/sessions/<sessionId>` 处创建会话 URL,启动监视器,并打开语音通话页面。使用页面内的分享链接或二维码将同一会话转移到另一台设备。
## 安全
`MCP_SHARED_SECRET` 保护会话创建和 `/mcp` 端点。神奇链接是单个通话会话的凭证:任何拥有该链接的人都可以认领该会话,这就是启用手机交接的原因。请仅与您信任的设备分享它们。