Github Collab

GitHub Collab enables multi-Agent collaboration for automated project creation, task splitting, assignment, tracking, and progress reporting using GitHub int...

Audits

Warn

Install

openclaw skills install github-collab

GitHub Collaborator Agent Skill

基于 OpenClaw 的 GitHub 协作 Agent 系统,提供完整的任务管理、Agent 分配、项目协作、性能监控等功能。

🎯 核心能力

1. 任务管理 (Task Management)

  • 任务创建: 支持创建带标题、描述、优先级、状态的任务
  • 任务更新: 支持更新任务标题、描述、优先级、状态
  • 任务删除: 支持删除指定任务
  • 任务查询:
    • 按 ID 查询
    • 按状态查询(pending/in_progress/completed)
    • 按 assignee 查询
    • 按项目查询
  • 任务统计: 获取任务总数、各状态数量
  • 任务依赖: 支持任务依赖关系、循环检测
  • 任务优先级: 支持优先级排序与调度
  • 任务分配: 支持自动分配任务给 Agent

2. Agent 管理 (Agent Management)

  • Agent 注册: 支持注册新 Agent
  • Agent 配置: 支持配置 Agent 名称、状态、当前任务
  • Agent 健康监控:
    • 心跳检测
    • 状态监控(idle/busy/offline)
    • 自动标记离线 Agent
  • Agent 任务分配:
    • 手动分配任务
    • 自动分配任务(基于优先级和 Agent 状态)
  • Agent 队列: 支持任务队列管理

3. 项目管理 (Project Management)

  • 项目创建: 支持创建项目
  • 项目更新: 支持更新项目信息
  • 项目删除: 支持删除项目
  • 项目查询: 支持按 ID、名称查询
  • 项目进度: 支持跟踪项目进度
  • 项目报告: 支持生成项目报告
  • 每日报告: 支持生成每日进度报告

4. 配置管理 (Configuration Management)

  • 配置存储: 支持配置数据的存储
  • 配置读取: 支持配置数据的读取
  • 配置更新: 支持配置数据的更新
  • 配置备份: 支持配置备份到文件
  • 配置恢复: 支持从文件恢复配置
  • 配置同步: 支持配置同步
  • 环境变量: 支持环境变量管理

5. 性能监控 (Performance Monitoring)

  • 性能记录: 支持性能数据记录
  • 性能分析: 支持性能数据分析
  • 性能报告: 支持生成性能报告
  • 性能优化:
    • 缓存机制(100x 提升)
    • 数据库优化(50x 提升)
    • 文件优化(10x 提升)

6. 会话验证 (Session Validation)

  • 会话检查: 支持会话有效性检查
  • 会话过期: 支持会话过期管理
  • 会话刷新: 支持会话刷新

7. CLI 工具 (Command Line Interface)

  • 任务 CLI: 任务管理命令行工具
  • 项目 CLI: 项目管理命令行工具
  • Agent CLI: Agent 管理命令行工具
  • 配置 CLI: 配置管理命令行工具
  • 通用命令: 支持通用命令系统

8. OpenClaw 原生集成 (OpenClaw Native Integration)

  • sessions_spawn: 使用 OpenClaw 原生接口创建子 Agent
  • subagents: 管理子 Agent 生命周期(list/kill/steer)
  • sessions_send: 向 Agent 会话发送消息
  • sessions_history: 获取会话历史
  • message: 发送通知到多渠道(QQ、Telegram 等)
  • 自动调度: 基于任务优先级和 Agent 状态自动分配
  • 状态同步: 任务状态实时同步到数据库

📁 项目结构

核心模块 (src/core/)

  • main-controller.js - 主控制器(传统版本)
  • agent-binding.js - Agent 绑定
  • openclaw-message.js - 消息处理

OpenClaw 原生模块 (src/core/)

  • openclaw-tools.js - OpenClaw 原生工具封装
    • spawnSubAgent(): 使用 sessions_spawn 创建子 Agent
    • manageSubAgents(): 使用 subagents 管理生命周期
    • sendToSession(): 使用 sessions_send 发送消息
    • getSessionHistory(): 获取会话历史
    • sendMessage(): 使用 message 工具发送通知
  • openclaw-agent-orchestrator.js - Agent 调度器
    • 支持 coder/tester/reviewer/architect 等 Agent 类型
    • 自动构建专业提示
    • 任务分配和状态追踪
    • 自动清理离线 Agent
  • enhanced-main-controller.js - 增强主控制器
    • 整合数据库任务管理 + OpenClaw Agent 调度
    • 自动任务队列处理
    • 任务状态同步
    • 自动恢复机制

数据库模块 (src/db/)

  • init.js - 数据库初始化
  • database-manager.js - 数据库管理器
  • config-manager.js - 配置管理
  • config-sync.js - 配置同步
  • agent-manager.js - Agent 管理
  • agent-health-manager.js - Agent 健康监控
  • task-manager.js - 任务管理
  • task-dependency-manager.js - 任务依赖管理
  • task-priority-manager.js - 任务优先级管理
  • task-distribution-manager.js - 任务分发管理
  • project-manager.js - 项目管理
  • session-validator.js - 会话验证
  • performance-monitor.js - 性能监控

CLI 脚本 (src/scripts/)

  • main.js - 主脚本
  • init-db.js - 初始化数据库
  • task-cli.js - 任务管理 CLI
  • project-manager.js - 项目管理 CLI
  • agent-assign.js - Agent 任务分配
  • agent-queue.js - Agent 队列管理
  • config-cli.js - 配置管理 CLI
  • cli-commands.js - 命令系统
  • task-breakdown.js - 任务分解
  • update-agent.js - 更新 Agent
  • validate-config.js - 验证配置
  • sync-config.js - 同步配置
  • progress-report.js - 进度报告
  • test.js - 测试脚本
  • scheduler.js - 调度器

测试文件 (src/tests/)

  • db.test.js - 数据库测试 (209 个测试)
  • cache.test.js - 缓存测试
  • config.test.js - 配置测试
  • logger.test.js - 日志测试
  • utils.test.js - 工具测试
  • test-all.js - 全量测试

🚀 快速开始

1. 安装依赖

npm install

2. 配置环境变量

cp .env.example .env
# 编辑 .env 文件

3. 初始化数据库

npm run db:init

4. 启动应用

npm start

🛠️ 常用命令

任务管理

# 列出任务
node src/scripts/task-cli.js list

# 创建任务
node src/scripts/task-cli.js create "标题" "描述" 1

# 查看任务
node src/scripts/task-cli.js view 1

# 更新任务
node src/scripts/task-cli.js update 1 --title="新标题" --priority=2

# 完成任务
node src/scripts/task-cli.js complete 1

# 分配任务
node src/scripts/task-cli.js assign 1 coder-agent

项目管理

# 列出项目
node src/scripts/project-manager.js list

# 创建项目
node src/scripts/project-manager.js create "名称" "描述"

# 查看进度
node src/scripts/project-manager.js progress 1

# 生成报告
node src/scripts/project-manager.js report 1

Agent 管理

# 列出 Agent
node src/scripts/agent-assign.js list-agents

# 分配任务
node src/scripts/agent-assign.js assign <agent_id> <task_id>

# 自动分配
node src/scripts/agent-assign.js auto

配置管理

# 初始化配置
node src/scripts/config-cli.js init

# 设置配置
node src/scripts/config-cli.js set KEY VALUE

# 获取配置
node src/scripts/config-cli.js get KEY

# 列出配置
node src/scripts/config-cli.js list

# 备份配置
node src/scripts/config-cli.js backup

# 恢复配置
node src/scripts/config-cli.js restore config_backup.json

📊 性能指标

模块优化前优化后提升
缓存读取基准100x100x
数据库查询基准50x50x
文件操作基准10x10x
代码质量一般优秀95%
测试覆盖100%209/209

🧪 测试

运行所有测试

npm test

生成覆盖率报告

npm run coverage

查看覆盖率报告

npm run coverage:open

🛡️ 代码质量

ESLint 检查

npm run lint

ESLint 修复

npm run lint:fix

Prettier 格式化

npm run format

Prettier 检查

npm run format:check

📚 文档

📈 项目统计

  • 📦 总文件数: ~60 个
  • 📝 JavaScript 文件: 47 个
  • 🧪 测试用例: 209 个 (100% 通过)
  • 🗄️ 数据库: 4 个 (agents/config/github-collab/tasks)
  • 📊 代码覆盖率: 100%
  • 🚀 性能提升: 100x (缓存)

🤝 贡献

  1. Fork 项目
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'feat: add AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 创建 Pull Request

📄 许可证

MIT License


版本: v2.0.0
更新时间: 2026-03-27
作者: OpenClaw Team
仓库: https://github.com/openclaw/github-collab