空投队
一个消息传递服务器,允许多个AI代理相互通信并协调工作,就像你的AI团队的共享收件箱一样。
它的作用
你把任务交给一组人工智能代理。他们需要沟通:研究人员发现一个bug,告诉程序员修复它,构建者运行测试。 空投队 是实现这一功能的邮箱系统。
- 代理人以姓名和角色注册(负责人、研究员、编码员、建设者)
- 他们通过服务器互相发送消息
- 团队负责人会自动复制所有内容(因此没有可见性就不会发生任何事情)
- 消息存储在本地SQLite数据库中——没有云,没有外部服务
快速开始
告诉你的AI代理:
从~/projects/deadload团队中设置deadlock团队。安装它,在Claude Code设置中配置MCP服务器,然后重新启动
您的代理人将处理其余的事宜。如果需要具体细节,请参阅以下内容:
安装
~/projects/dead-drop-teams/scripts/install.sh或者手动(需要Python 3.12+):
cd ~/projects/dead-drop-teams
mkdir -p ~/.dead-drop
uv venv && source .venv/bin/activate && uv pip install -e .或者使用pip:
cd ~/projects/dead-drop-teams
mkdir -p ~/.dead-drop
python -m venv .venv && source .venv/bin/activate && pip install -e .配置
添加到MCP配置中(Claude Code使用 ~/.claude/settings.json 在...之下 mcpServers):
{
"dead-drop": {
"command": "/path/to/dead-drop-teams/.venv/bin/dead-drop-teams",
"args": []
}
}数据库在以下时间自动创建 ~/.dead-drop/messages.db。要更改位置,请设置 DEAD_DROP_DB_PATH 环境变量。
添加配置后重新启动AI工具。
运作原理
代理人和角色
每个AI会话都注册为具有以下角色的代理:
| 角色 | 他们做什么 | 示例 |
|---|---|---|
| 领导 | 协调团队,审查工作,做出决定 | 克劳德·奥普 |
| 研究人员 | 读取代码、发现错误、编写分析 | Gemini(大上下文) |
| 程序员 | 根据特定指令编写代码 | Claude Sonnet |
| 建造者 | 构建、运行测试、执行命令 | Claude Haiku |
CC规则
领导看到了一切。当任何代理向另一个代理发送消息时,潜在客户会自动获得一个标记的副本 [CC]这意味着:
- 领导总是知道发生了什么
- 没有领导看不到的侧面对话
- 当CC告诉他们需要工作时,潜在客户可以产生短暂的代理(编码器、构建器)
消息流
Researcher finds bug → sends to Lead
Lead sends fix instructions → to Coder
Coder finishes → sends "ready to test" → to Lead (or to Builder, Lead gets CC)
Lead tells Builder → "build and test"
Builder reports → pass/fail → to Lead收件箱纪律
- 代理必须先阅读收件箱才能发送(由服务器强制执行)
- 这可以防止消息堆积,并确保代理在创建更多消息之前处理传入的工作
工具
服务器通过MCP公开5个工具:
| 工具 | 它做什么 |
|---|---|
register | 使用您的姓名、角色和描述登录 |
send | 向另一个代理发送消息(或“全部”进行广播) |
check_inbox | 阅读未读邮件(将其标记为已读) |
who | 查看所有注册代理人以及他们上次入住的时间 |
get_history | 获取最后N条消息(在上下文重置后有用) |
钩子
dead drop团队附带了一个Claude Code钩子,在每次提示提交时都会通知您的代理未读消息。
设置
增添 ~/.claude/settings.json:
{
"hooks": {
"UserPromptSubmit": [
{
"hooks": [
{
"type": "command",
"command": "bash ~/.dead-drop/hooks/check-inbox.sh"
}
]
}
]
}
}钩子检查SQLite中是否有未读消息,并打印一个指向Claude上下文的提示(例如。 "Dead drop: 3 unread message(s)...").它会在30秒后爆炸,以避免垃圾邮件。
安装脚本(scripts/install.sh)将钩子复制到 ~/.dead-drop/hooks/check-inbox.sh。如果您是手动安装的,请自行复制:
mkdir -p ~/.dead-drop/hooks
cp hooks/check-inbox.sh ~/.dead-drop/hooks/更改设置后重新启动Claude Code。
背景调查员
对于终端端通知(对人类可见,对Claude不可见),请在单独的终端中运行轮询脚本:
~/.dead-drop/poll_inbox.sh [interval_seconds]默认间隔为120秒。例子:
~/.dead-drop/poll_inbox.sh claude-lead 60Codex设置(无本地钩子)
Codex会话是基于拉取的,因此轮询器不会自行将消息注入活动聊天中。 使用此模式:
- 在侧终端中启动轮询器:
~/.dead-drop/poll_inbox.sh codex 60- 保持Codex任务会话正常打开。
- 当轮询器显示未读消息时,运行
check_inbox从Codex中提取并处理它们。
实用规则:将轮询器输出视为运行的触发器 check_inbox,而不是作为自动上下文注入。
适用于长时间运行的任务
正在进行构建或测试的代理应将进度写入共享日志文件:
.dead-drop//.log完成后,发送一条摘要消息。不要向收件箱发送进度更新的垃圾邮件。
协议细节
看 docs/PROTOCOL.md 为了获得完整的规格。
许可证
麻省理工学院——见 许可证.
