Skip to content

zer4tul/bees

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bees 🐝

Dynamic Agent Teams Extension for Antfarm

基于 antfarm 的动态团队协作扩展。

项目结构

bees/
├── antfarm/              # Antfarm upstream (git submodule)
│   └── ... (antfarm 原始代码)
│
├── extensions/           # 我们的扩展
│   ├── dynamic-teams/    # 动态团队 API
│   │   ├── src/
│   │   │   ├── team.ts       # team create/dissolve
│   │   │   ├── mailbox.ts    # 直接通信
│   │   │   └── api.ts        # CLI 命令扩展
│   │   └── package.json
│   │
│   └── teammate-poller/  # Teammate 轮询技能
│       ├── src/
│       └── package.json
│
├── workflows/            # 示例 workflows
│   └── dynamic-team.yml  # 动态团队 workflow 示例
│
└── docs/                 # 文档
    ├── EXTENSIONS.md     # 扩展说明
    └── API.md            # API 文档

核心扩展功能

1. 动态团队创建(vs antfarm 的预定义 workflow)

antfarm 方式(预定义):

# workflow.yml(安装时固定)
id: feature-dev
agents:
  - id: planner
  - id: developer

我们的扩展(运行时动态):

// 运行时创建团队(无需预定义 YAML)
import { createTeam } from '@bees/dynamic-teams'

const team = await createTeam({
  teamId: 'review-pr-142',
  members: [
    { agentId: 'researcher', role: 'researcher_bot' },
    { agentId: 'reviewer', role: 'reviewer_bot' }
  ]
})

2. 直接通信(vs antfarm 的单向传递)

antfarm 方式(单向传递):

planner → developer → tester → reviewer

我们的扩展(直接通信):

// Teammate 可以直接通信(不经过 workflow steps)
import { sendDirectMessage } from '@bees/dynamic-teams'

await sendDirectMessage({
  teamId: 'review-pr-142',
  from: 'researcher',
  to: 'reviewer',
  body: 'Found bug at line 45'
})

3. 动态任务派发

antfarm 方式(预定义 steps):

steps:
  - id: plan
    agent: planner
  - id: implement
    agent: developer

我们的扩展(运行时创建):

// 运行时动态添加任务
import { addTask } from '@bees/dynamic-teams'

await addTask({
  teamId: 'review-pr-142',
  task: 'Review authentication module',
  owner: 'reviewer'
})

与 Antfarm 的关系

依赖关系

  • antfarm: 提供基础设施(SQLite, CLI, Agent provisioning)
  • bees/extensions: 提供动态扩展(团队 API, Mailbox, Poller)

兼容性

  • ✅ 完全兼容 antfarm workflows
  • ✅ 可以同时使用预定义 workflow 和动态团队
  • ✅ 复用 antfarm 的 dashboard 和监控

贡献计划

  1. 短期:在 bees repo 中开发和验证
  2. 中期:与 antfarm 作者讨论合并可能性
  3. 长期:贡献回 antfarm upstream

安装

# Clone bees repo
git clone https://github.com/zer4tul/bees.git
cd bees

# 初始化 antfarm submodule
git submodule init
git submodule update

# 安装依赖
cd extensions/dynamic-teams
npm install
npm run build

使用示例

CLI 扩展命令

# 创建动态团队
antfarm team create --id review-team \
  --members researcher,reviewer,builder

# 派发任务
antfarm task add --team review-team \
  --task "Review PR #142" \
  --assign reviewer

# 查看团队状态
antfarm team status review-team

# 直接消息
antfarm dm --team review-team \
  --from researcher \
  --to reviewer \
  "Found bug at line 45"

# 解散团队
antfarm team dissolve review-team

API 使用

import { createTeam, addTask, sendDirectMessage } from '@bees/dynamic-teams'

// 1. 创建团队
const team = await createTeam({
  teamId: 'ad-hoc-review',
  members: [
    { agentId: 'researcher', role: 'researcher_bot' },
    { agentId: 'reviewer', role: 'reviewer_bot' }
  ]
})

// 2. 派发任务
await addTask({
  teamId: 'ad-hoc-review',
  task: 'Review PR #142',
  owner: 'reviewer'
})

// 3. 监控进度
const status = await getTeamStatus('ad-hoc-review')

// 4. 解散团队
await dissolveTeam('ad-hoc-review')

开发计划

Phase 1: 核心扩展(✅ 已完成)

  • Team API (create, dissolve, status)
  • Mailbox system (JSONL)
  • Task management (SQLite)
  • Teammate poller skill

Phase 2: CLI 集成

  • 扩展 antfarm CLI 命令
  • antfarm team create/dissolve/status
  • antfarm task add/list/update
  • antfarm dm

Phase 3: Dashboard 集成

  • 显示动态团队
  • 实时 mailbox 监控
  • 任务进度可视化

Phase 4: 贡献回 Antfarm

  • 与 antfarm 作者讨论
  • 准备 PR
  • 合并到 upstream

技术栈

  • antfarm: SQLite, YAML workflows, CLI
  • bees extensions: TypeScript, Node.js 22+
  • mailbox: JSONL format
  • locks: proper-lockfile

许可证

MIT(与 antfarm 一致)

参考


Created: 2026-03-03 Status: 🚧 Restructuring to antfarm-based extension

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors