TinyClaw: 用于 Discord、WhatsApp、Telegram 的多代理 AI 团队
TinyClaw:多智能体 AI 团队框架
1. 什么是 TinyClaw?
TinyClaw 是一款社区驱动、MIT 授权的工具,它将少数 AI 提供商(Claude、OpenAI 等)“打造成”一支 代理团队。每个代理在自己的隔离工作区中运行,保留自己的会话历史,并通过一种基于前缀的简易命令系统,将工作交接给同事。TinyClaw 的名字暗示了一个理念:即使是小规模代码,也能管理复杂协作。
核心概念: - 代理(Agent) – 一个具有明确角色的单一 AI 实例。 - 团队(Team) – 代理的集合,可链式连接或在处理查询时展开。 - 通道(Channel) – 代理接收消息的地方(Discord、WhatsApp、Telegram、heartbeat)。
所有繁重工作都由 CLI 和简易 JSON 配置文件完成,因此你可以在 macOS、Linux 或 WSL‑2 Windows 上运行 TinyClaw。
2. 核心功能
| 功能 | 描述 |
|---|---|
| 多代理(Multi‑agent) | 同时运行数十个代理,每个都有自己的提示词和提供商。 |
| 多团队(Multi‑team) | 将代理组织成团队 – 一个可以是“领导者”,或者你可以向多个团队成员发散。 |
| 多通道(Multi‑channel) | 连接 Discord、WhatsApp 和 Telegram。相同用户可在任何平台与同一代理对话。 |
| 团队观测(Team observation) | 通过实时 TUI 仪表盘可视化代理和团队之间消息流。 |
| 并行处理(Parallel processing) | 代理并发处理接收消息,但每个代理内部保持顺序。 |
| 持久会话(Persistent sessions) | 对话记录到磁盘;重启 TinyClaw 时会从上次停止的地方继续。 |
| 基于文件的队列(File‑based queue) | 原子 JSON 文件消除竞争条件 – 适合多代理系统。 |
| 心跳(Heartbeat) | 为每个代理安排“签到”提示,保持系统活跃并捕获待处理任务。 |
| 动态提供商切换(Dynamic provider selection) | 在不违反使用条款的前提下,在 Anthropic Claude、OpenAI Codex 等提供商之间切换。 |
| 轻松安装(Easy installation) | 一行脚本检测环境并完成所有设置。 |
3. 架构概览
TinyClaw 的架构故意保持简洁,便于调试或扩展:
- 通道 – Bots 监听传入消息,并在
~/.tinyclaw/queue/incoming/写入 JSON 文件。 - 队列处理器 – 监控进程将每个文件移动到
processing/,然后派发给相应代理。 - 代理 – 每个代理在其自己的隔离目录
~/tinyclaw-workspace/<agent_id>/中运行。代理使用配置好的提供商 CLI(Claude 的claude或 OpenAI 的codex)。 - 持久化 – 对话和代理状态保存在工作区目录中。关机时,文件队列被清空,但日志仍保留。
- 可视化 –
tinyclaw team visualize <id>打开一个类 curses UI,显示实时消息历史和代理状态。
这种流程使系统保持确定性,同时实现高吞吐量。
4. 快速入门指南
以下是一步步设置,几分钟即可运行 TinyClaw 实例。
先决条件 – macOS/Linux/WSL2,Node v18+、tmux、jq、Bash 4.0+(macOS:
brew install bash)、Claude Code CLI 和 Codex CLI。
4.1 推荐的一行安装脚本
curl -fsSL https://raw.githubusercontent.com/jlia0/tinyclaw/main/scripts/remote-install.sh | bash
~/.local/bin/。
- 提示你填写可选项目。
4.2 手动源码构建
git clone https://github.com/jlia0/tinyclaw.git
cd tinyclaw
npm install
./scripts/install.sh
4.3 第一次运行 & 启动向导
tinyclaw start # 启动 Tmux 会话并进入交互式向导
完成后,TinyClaw 将启动守护进程,你可以从任何已连接通道进行交互。
5. 配置代理与团队
代理与团队设置存储在 ~/.tinyclaw/settings.json 中。
5.1 示例配置
{
"channels": {
"enabled": ["discord", "telegram", "whatsapp"],
"discord": { "bot_token": "YOUR_DISCORD_TOKEN" },
"telegram": { "bot_token": "YOUR_TELEGRAM_TOKEN" },
"whatsapp": {}
},
"workspace": {
"path": "/Users/me/tinyclaw-workspace",
"name": "tinyclaw-workspace"
},
"agents": {
"assistant": {
"name": "Assistant",
"provider": "anthropic",
"model": "sonnet",
"working_directory": "/Users/me/tinyclaw-workspace/assistant"
},
"coder": {
"name": "Code Assistant",
"provider": "anthropic",
"model": "sonnet",
"working_directory": "/Users/me/tinyclaw-workspace/coder"
}
},
"teams": {
"dev": {
"name": "Development Team",
"agents": ["coder", "reviewer"],
"leader_agent": "coder"
}
},
"monitoring": {
"heartbeat_interval": 3600
}
}
- 每个代理目录包含自己的
.claude/、heartbeat.md与AGENTS.md模板。 - 团队可链式或展开;领导代理收到原始请求。
5.2 添加新代理
tinyclaw agent add
tinyclaw agent list 列出全部代理。
5.3 移除代理与团队
tinyclaw agent remove coder
tinyclaw team remove dev
6. 通道设置指南
- Discord – 在开发者门户创建机器人,启用 Message Content Intent,并粘贴令牌。
- Telegram – 使用 BotFather 创建机器人并获取令牌。
- WhatsApp – 启动后扫描终端出现的二维码。
详见 docs 目录,获取完整截图和详细说明。
7. 使用 CLI
TinyClaw 的 CLI 拥有数十条命令,以下为最常用的:
| 命令 | 目的 |
|------|------|
| tinyclaw start/stop/restart | 控制守护进程。 |
| tinyclaw status | 显示当前进程和代理。 |
| tinyclaw setup | 重新运行向导以更改配置。 |
| tinyclaw logs <type> | 跟踪日志(discord、whatsapp、queue 等)。 |
| tinyclaw attach | 附加到正在运行的 Tmux 会话。 |
| tinyclaw agent list | 查看已配置的代理。 |
| tinyclaw team visualize <id> | 打开实时仪表盘。 |
| tinyclaw update | 从 GitHub 发行版进行自我更新。 |
7.1 聊天内命令
当用户通过通道发送消息时,以下前缀适用:
- @agent_id <msg> – 指向特定代理。
- @team_id <msg> – 转发给团队领导。
- /agent 与 /team – 列出可用的代理或团队。
若无前缀,消息将发送至默认代理。
8. 高级功能
8.1 心跳监控
可在 ~/tinyclaw-workspace/<agent_id>/heartbeat.md 中编辑,安排代理周期性“签到”。默认提示为:
检查:
1. 待处理任务
2. 错误
3. 未读消息
如有需要,采取行动。
8.2 发送者配对
为防止垃圾信息,TinyClaw 在首次收到未知发送者时生成配对码。该码需通过 tinyclaw pairing approve <code> 批准。
8.3 团队可视化
运行 tinyclaw team visualize dev 打开 curses UI,实时显示各代理的待处理消息,便于调试与观测 AI 对话。
9. 用例
- 个人 AI 助手 – 提醒你、管理待办清单并安排事件。
- 代码评审管道 –
@coder修复 Bug,@reviewer检查风格,随后将结果返回给用户。 - 文档生成器 –
@writer从代码注释生成 API 文档。 - 多通道存在感 – 同一对话可在 Discord、WhatsApp 或 Telegram 同时访问。
10. 社区与贡献
TinyClaw 欢迎贡献。主仓库位于 GitHub,已获 2.2k 星标与 318 次 fork。社区通道: - Discord – https://discord.com/invite/jH6AcEChuD - GitHub Issues – 报告 bug 或建议功能。
项目遵循简易 CI 工作流:每次 PR 都会运行测试,发布流程通过 GitHub Actions 自动化。新贡献者可先挑选未完任务或添加文档。
11. 许可证与鸣谢
MIT 许可证。TinyClaw 受 OpenClaw 启发,并利用 Claude Code 与 Codex CLI,以及流行的 Node 库:discord.js、whatsapp-web.js、node-telegram-bot-api。
12. 结束语
TinyClaw 为实验复杂代理编排提供了 即插即用 的环境,无需庞大堆栈的负担。它的极小占用与丰富功能组合,让开发者能构建以聊天为中心的工作流,集成多种 AI 模型,并实时监控代理对话。立即尝试 – 只需一行安装脚本,即可在几分钟内获得跨平台、多团队 AI 助手。祝你玩得开心!