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 的架构故意保持简洁,便于调试或扩展:

  1. 通道 – Bots 监听传入消息,并在 ~/.tinyclaw/queue/incoming/ 写入 JSON 文件。
  2. 队列处理器 – 监控进程将每个文件移动到 processing/,然后派发给相应代理。
  3. 代理 – 每个代理在其自己的隔离目录 ~/tinyclaw-workspace/<agent_id>/ 中运行。代理使用配置好的提供商 CLI(Claude 的 claude 或 OpenAI 的 codex)。
  4. 持久化 – 对话和代理状态保存在工作区目录中。关机时,文件队列被清空,但日志仍保留。
  5. 可视化tinyclaw team visualize <id> 打开一个类 curses UI,显示实时消息历史和代理状态。

这种流程使系统保持确定性,同时实现高吞吐量。

4. 快速入门指南

以下是一步步设置,几分钟即可运行 TinyClaw 实例。

先决条件 – macOS/Linux/WSL2,Node v18+tmuxjqBash 4.0+(macOS: brew install bash)、Claude Code CLICodex CLI

4.1 推荐的一行安装脚本

curl -fsSL https://raw.githubusercontent.com/jlia0/tinyclaw/main/scripts/remote-install.sh | bash
脚本将执行: - 检测你的操作系统。 - 安装缺失的依赖。 - 克隆仓库,安装 npm 包,并将二进制脚本复制到 ~/.local/bin/。 - 提示你填写可选项目。

4.2 手动源码构建

git clone https://github.com/jlia0/tinyclaw.git
cd tinyclaw
npm install
./scripts/install.sh

4.3 第一次运行 & 启动向导

tinyclaw start   # 启动 Tmux 会话并进入交互式向导
向导将引导你完成: - 通道选择 – 启用 Discord、WhatsApp 或 Telegram。 - BOT 令牌 – 复制各启用通道的令牌。 - 工作区创建 – 命名根目录。 - 代理定义 – 选择主助手名称、提供商和模型。 - 心跳 – 设置代理多久 ping 一次新任务。

完成后,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.mdAGENTS.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> | 跟踪日志(discordwhatsappqueue 等)。 | | 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. 用例

  1. 个人 AI 助手 – 提醒你、管理待办清单并安排事件。
  2. 代码评审管道@coder 修复 Bug,@reviewer 检查风格,随后将结果返回给用户。
  3. 文档生成器@writer 从代码注释生成 API 文档。
  4. 多通道存在感 – 同一对话可在 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.jswhatsapp-web.jsnode-telegram-bot-api

12. 结束语

TinyClaw 为实验复杂代理编排提供了 即插即用 的环境,无需庞大堆栈的负担。它的极小占用与丰富功能组合,让开发者能构建以聊天为中心的工作流,集成多种 AI 模型,并实时监控代理对话。立即尝试 – 只需一行安装脚本,即可在几分钟内获得跨平台、多团队 AI 助手。祝你玩得开心!

原创文章: 查看原文

分享本文