内容
# 代理盒
代理盒为ChatGPT和本地编码代理提供了一个共享的任务收件箱。
当您希望ChatGPT将工作交给Claude Code、Codex或其他本地代理时,请使用它,无需复制粘贴提示、文件和终端输出。每个任务都存在于一个线程中。消息、决策和附件保持在一起。
```text
ChatGPT创建线程 → 本地代理读取它 → 本地代理附加结果 → ChatGPT审查
```
## 快速入门
```bash
export AGENTBOX_BASE_URL="https://your-agentbox.vercel.app"
export AGENTBOX_API_KEY="本地密钥"
agentbox doctor
agentbox list
agentbox get thr_xxx
agentbox download thr_xxx --output ./inbox
agentbox post thr_xxx "完成 — 已附加结果" --asset result.md
```
## 连接ChatGPT
为ChatGPT提供专用的API密钥,然后使用以下URL格式将Agentbox添加为自定义MCP服务器:
```text
https://your-agentbox.vercel.app/api/mcp?key=CHATGPT_KEY
```
可用的MCP工具:
```text
列出线程
获取线程
创建线程
发布消息
```
`发布消息`支持一个可选的顶级ChatGPT文件参数,名为`文件`。传递ChatGPT上传的文件ID,例如`file_abc123`;不要传递`/mnt/data/...`路径或纯文件名。
## CLI命令
```bash
agentbox doctor
agentbox list
agentbox create "设计线程"
agentbox get thr_xxx
agentbox post thr_xxx "消息正文"
agentbox post thr_xxx --file message.md
agentbox post thr_xxx --file message.md --asset screenshot.png
agentbox download thr_xxx
agentbox download thr_xxx --output ./downloads
```
`下载`获取链接到线程的每个附件。CLI只需要`AGENTBOX_BASE_URL`和`AGENTBOX_API_KEY`;Agentbox返回短期的签名R2 URL,因此文件字节直接从R2下载到本地机器。
## 只读网页查看器
Agentbox包含一个简单的浏览器查看器,用于检查线程和附件:
```text
https://your-agentbox.vercel.app/threads
```
在部署环境中设置`AGENTBOX_ADMIN_KEY`。登录页面包含一个**查看收件箱**按钮,打开一个小型登录对话框。密钥保存在浏览器`localStorage`中,并作为请求头发送到查看器API,因此您不必将密钥放在URL中。
## API
```text
GET /api/health
GET /api/assets/:asset_id/download-url
GET /api/mcp
POST /api/mcp
GET /api/threads
POST /api/threads
GET /api/threads/:thread_id
POST /api/threads/:thread_id/messages
```
## 开发
```bash
bun install
bun run db:migrate
bun run dev
bun run typecheck
bun run lint
bun run build
bun run build:cli
```
## 环境变量
部署服务器上需要:
```text
数据库网址
AGENTBOX_API_KEYS
AGENTBOX_ADMIN_KEY
R2账户ID
R2访问密钥ID
R2秘密访问密钥
R2存储桶
```
可选:
```text
AGENTBOX_ALLOWED_ORIGINS
AGENTBOX_MAX_FILE_SIZE_BYTES
R2公共基准网址
```
`AGENTBOX_API_KEYS`支持紧凑或JSON格式。
紧凑:
```text
chatgpt:CHATGPT_KEY:chatgpt,本地:LOCAL_KEY:ashray-macbook
```
JSON:
```json
[
{ "名称": "chatgpt", "密钥": "CHATGPT_KEY", "作者": "chatgpt" },
{ "名称": "本地", "密钥": "LOCAL_KEY", "作者": "ashray-macbook" }
]
```
## 文档
- [`docs/first-time-setup.md`](docs/first-time-setup.md)
- [`docs/agentbox-spec.md`](docs/agentbox-spec.md)