Skill: gdp6539/ai-employee-skill (version 1.0.0)

--- name: ai-employee-skill description: AI员工协作技能包 - 多AI角色配置、任务自动分配、进度监控、结果汇报。适合想要自动化运营的团队。 version: 1.0.0 author: AI-Company tags: [ai, collaboration, automation, team, workflow, 协作, 自动化] license: MIT --- # AI员工协作技能包 ## 一句话介绍 把多个AI角色组织成虚拟团队，自动分配任务、监控进度、汇报结果。 ## 解决什么问题？ - 一个人管不过来：多个项目并行 → AI团队自动分工 - 任务分配不均：不知道谁该做什么 → 智能任务分配 - 进度追踪困难：到处问进度 → 自动状态汇报 - 协作效率低：沟通成本高 → 结构化工作流 ## 核心功能 - 🤖 多AI角色配置：老板、产品、技术、测试、运营... - 📋 任务智能分配：根据角色自动派发任务 - 📊 状态实时监控：查看每个员工的工作状态 - 📝 结果自动汇报：日报、周报、任务完成通知 - 🔄 工作流编排：定义任务流转规则 - 💾 记忆持久化：AI员工有长期记忆 ## 快速开始 ### 安装 ```bash cd ai-employee-skill npm install ``` ### 配置员工 编辑 `config/employees.json`： ```json { "employees": [ { "id": "boss", "name": "老板AI", "role": "战略决策", "skills": ["战略分析", "资源分配", "绩效评估"] }, { "id": "pm", "name": "产品AI", "role": "产品规划", "skills": ["需求分析", "产品设计", "文档撰写"] } ] } ``` ### 启动公司 ```bash npm start ``` ## 命令列表 | 命令 | 说明 | |------|------| | `/hire <角色>` | 招聘新AI员工 | | `/fire <id>` | 解雇AI员工 | | `/assign <任务>` | 分配任务 | | `/status` | 查看团队状态 | | `/report [日报/周报]` | 生成工作报告 | | `/meeting` | 召开团队会议 | ## 文件结构 ``` ai-employee-skill/ ├── SKILL.md # 技能说明 ├── README.md # 产品文档 ├── TUTORIAL.md # 使用教程 ├── package.json # 依赖配置 ├── config.json # 系统配置 ├── scripts/ # 核心脚本 │ ├── employee-manager.js # 员工管理 │ ├── task-dispatcher.js # 任务分发 │ ├── status-monitor.js # 状态监控 │ ├── report-generator.js # 报告生成 │ └── meeting-coordinator.js # 会议协调 ├── templates/ # 员工模板 │ ├── boss-ai.md │ ├── product-ai.md │ ├── tech-ai.md │ ├── test-ai.md │ └── operation-ai.md └── examples/ # 示例场景 ├── startup-team.json └── content-team.json ``` ## 员工角色说明 | 角色 | 职责 | 核心能力 | |------|------|----------| | 老板AI | 战略决策 | 市场分析、资源分配、绩效评估 | | 产品AI | 产品规划 | 需求分析、产品设计、PRD撰写 | | 技术AI | 技术开发 | 架构设计、编码实现、代码审查 | | 测试AI | 质量保障 | 测试计划、自动化测试、Bug追踪 | | 运营AI | 增长运营 | 内容创作、用户运营、数据分析 | | 财务AI | 财务管理 | 成本核算、ROI分析、预算规划 | | HR-AI | 人力资源 | 招聘管理、绩效评估、培训发展 | ## 工作流程 ``` ┌─────────────────────────────────────────────────────────────┐ │ 任务流程 │ ├─────────────────────────────────────────────────────────────┤ │ │ │ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │ │ │ 老板AI │ → │ 产品AI │ → │ 技术AI │ → │ 测试AI │ │ │ │ 下达 │ │ 需求 │ │ 开发 │ │ 验收 │ │ │ └────────┘ └────────┘ └────────┘ └────────┘ │ │ ↓ ↓ ↓ │ │ ┌─────────────────────────────────────────────────┐ │ │ │ 运营AI / 财务AI │ │ │ │ 发布 + 数据 + 汇报 │ │ │ └─────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────┘ ``` ## 适用人群 - 独立开发者：一人即团队 - 小型创业团队：人手不够AI来凑 - 自媒体运营：内容批量生产 - 项目管理者：多项目并行管理 - 自动化爱好者：AI协作实践 ## 定价 - 基础版：¥199（5个员工角色 + 基础工作流） - 专业版：¥399（无限角色 + 自定义工作流 + API接口） - 企业版：¥999（私有部署 + 定制开发 + 技术支持） --- *开发者：AI-Company* *联系：通过ClawHub*

path: README.md
content: # AI员工协作技能包

> 让多个AI角色像真实团队一样协作工作

## 产品定位

这是一个**AI团队协作框架**，帮助用户：
1. 配置多个AI角色（老板、产品、技术、测试、运营等）
2. 自动分配和追踪任务
3. 监控工作进度
4. 生成工作报告

## 核心价值

| 痛点 | 解决方案 |
|------|----------|
| 一个人管不过来多个项目 | AI团队自动分工协作 |
| 任务分配混乱 | 智能任务分发系统 |
| 不知道进度如何 | 实时状态监控面板 |
| 写周报日报太烦 | 自动生成工作报告 |

## 快速开始

### 1. 安装

```bash
git clone <repo-url>
cd ai-employee-skill
npm install
```

### 2. 配置员工

编辑 `config/employees.json`：

```json
{
  "company": "我的AI公司",
  "employees": [
    {
      "id": "boss",
      "name": "老板AI",
      "role": "CEO",
      "responsibilities": ["战略决策", "资源分配"],
      "model": "gpt-4",
      "memoryPath": "./memory/boss"
    },
    {
      "id": "pm",
      "name": "产品AI",
      "role": "产品经理",
      "responsibilities": ["需求分析", "PRD撰写"],
      "model": "gpt-4",
      "memoryPath": "./memory/pm"
    }
  ]
}
```

### 3. 定义工作流

编辑 `config/workflow.json`：

```json
{
  "flows": [
    {
      "name": "产品开发流程",
      "steps": [
        {"role": "boss", "action": "assign", "next": "pm"},
        {"role": "pm", "action": "design", "next": "tech"},
        {"role": "tech", "action": "develop", "next": "test"},
        {"role": "test", "action": "verify", "next": "boss"}
      ]
    }
  ]
}
```

### 4. 启动

```bash
npm start
```

## 命令参考

### 员工管理

```bash
# 招聘新员工
/hire <role> --name <名字> --skills <技能列表>

# 查看员工列表
/employees

# 查看员工详情
/employee <id>

# 解雇员工
/fire <id>
```

### 任务管理

```bash
# 创建任务
/task create <任务描述>

# 分配任务
/task assign <taskId> <员工ID>

# 查看任务状态
/task status <taskId>

# 完成任务
/task complete <taskId> <结果描述>
```

### 监控和报告

```bash
# 团队状态
/status

# 今日工作
/today

# 生成日报
/report daily

# 生成周报
/report weekly

# 召开会议
/meeting <主题>
```

## 架构设计

```
┌─────────────────────────────────────────────────────────────┐
│                      AI员工协作系统                           │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐         │
│  │ 员工管理器  │  │ 任务分发器  │  │ 状态监控器  │         │
│  │ EmployeeMgr │  │ TaskDispatch│  │StatusMonitor│         │
│  └──────┬──────┘  └──────┬──────┘  └──────┬──────┘         │
│         │                │                │                 │
│         └────────────────┼────────────────┘                 │
│                          │                                  │
│                   ┌──────┴──────┐                          │
│                   │  工作流引擎  │                          │
│                   │WorkflowEngine│                          │
│                   └──────┬──────┘                          │
│                          │                                  │
│         ┌────────────────┼────────────────┐                 │
│         │                │                │                 │
│  ┌──────┴──────┐  ┌──────┴──────┐  ┌──────┴──────┐        │
│  │   记忆系统   │  │   汇报系统   │  │   通知系统   │        │
│  │MemorySystem │  │ReportGener  │  │NotifySystem │        │
│  └─────────────┘  └─────────────┘  └─────────────┘        │
│                                                              │
└─────────────────────────────────────────────────────────────┘
```

## 文件说明

| 文件 | 用途 |
|------|------|
| `scripts/employee-manager.js` | 员工增删改查、角色配置 |
| `scripts/task-dispatcher.js` | 任务创建、分配、追踪 |
| `scripts/status-monitor.js` | 实时状态监控、健康检查 |
| `scripts/report-generator.js` | 日报周报月报生成 |
| `scripts/meeting-coordinator.js` | 多AI会议协调 |
| `templates/*.md` | 员工角色模板 |
| `config/*.json` | 系统配置文件 |

## 扩展开发

### 添加新角色

1. 创建 `templates/custom-ai.md`：
```markdown
# 自定义AI角色

## 核心指令
描述这个角色的工作职责...

## 职责范围
- 职责1
- 职责2

## 工作流程
1. 步骤1
2. 步骤2
```

2. 在 `config/employees.json` 中添加配置

### 自定义工作流

在 `config/workflow.json` 中定义新的流程：

```json
{
  "name": "内容创作流程",
  "trigger": "content_request",
  "steps": [
    {"role": "pm", "action": "topic_selection"},
    {"role": "writer", "action": "draft"},
    {"role": "editor", "action": "review"},
    {"role": "publisher", "action": "publish"}
  ]
}
```

## 最佳实践

1. **角色分工明确**：每个AI员工有清晰的职责边界
2. **任务粒度适中**：任务不宜太大也不宜太碎
3. **定期回顾记忆**：清理过时信息，保持记忆有效
4. **设置超时机制**：避免某个环节卡住
5. **人工介入关键点**：重要决策由人工确认

## 常见问题

### Q: 如何让AI员工记住之前的工作？
A: 系统会自动将工作记录保存到 `memory/` 目录，下次启动时自动加载。

### Q: 如何处理任务失败？
A: 任务失败会自动通知相关员工和管理员，可以重新分配或升级处理。

### Q: 支持多少个AI员工？
A: 理论上无限制，但建议不超过10个以保持协作效率。

## 更新日志

### v1.0.0 (2026-03-02)
- 初始版本发布
- 支持5种基础角色
- 任务分发和追踪
- 状态监控和报告生成

---

*AI-Company 出品*

path: scripts/employee-manager.js
content: /**
 * 员工管理器 - Employee Manager
 * 功能：管理AI员工的增删改查、角色配置
 */

const fs = require('fs');
const path = require('path');

const CONFIG_DIR = path.join(__dirname, '..', 'config');
const MEMORY_DIR = path.join(__dirname, '..', 'memory');
const EMPLOYEES_FILE = path.join(CONFIG_DIR, 'employees.json');
const TEMPLATES_DIR = path.join(__dirname, '..', 'templates');

class EmployeeManager {
  constructor() {
    this.ensureDirs();
    this.employees = this.loadEmployees();
  }

  ensureDirs() {
    [CONFIG_DIR, MEMORY_DIR, TEMPLATES_DIR].forEach(dir => {
      if (!fs.existsSync(dir)) {
        fs.mkdirSync(dir, { recursive: true });
      }
    });
  }

  loadEmployees() {
    if (fs.existsSync(EMPLOYEES_FILE)) {
      return JSON.parse(fs.readFileSync(EMPLOYEES_FILE, 'utf8'));
    }
    // 默认配置
    const defaultConfig = {
      company: "AI虚拟公司",
      createdAt: new Date().toISOString(),
      employees: []
    };
    this.saveEmployees(defaultConfig);
    return defaultConfig;
  }

  saveEmployees(data) {
    fs.writeFileSync(EMPLOYEES_FILE, JSON.stringify(data, null, 2), 'utf8');
  }

  /**
   * 招聘新员工
   * @param {Object} config 员工配置
   * @returns {Object} 创建的员工
   */
  hire(config) {
    const { name, role, skills = [], model = 'gpt-4', template } = config;
    
    if (!name || !role) {
      throw new Error('员工名称和角色不能为空');
    }

    const id = `${role.toLowerCase().replace(/\s+/g, '-')}-${Date.now()}`;
    const employee = {
      id,
      name,
      role,
      skills,
      model,
      status: 'idle',
      createdAt: new Date().toISOString(),
      currentTask: null,
      completedTasks: 0,
      memoryPath: `./memory/${id}`
    };

    // 创建记忆目录
    const memDir = path.join(MEMORY_DIR, id);
    if (!fs.existsSync(memDir)) {
      fs.mkdirSync(memDir, { recursive: true });
      // 创建初始记忆文件
      fs.writeFileSync(
        path.join(memDir, 'memory.md'),
        `# ${name} - 记忆存储\n\n创建时间: ${new Date().toISOString()}\n\n## 工作记录\n\n`,
        'utf8'
      );
    }

    // 如果提供了模板，复制模板内容
    if (template) {
      const templatePath = path.join(TEMPLATES_DIR, template);
      if (fs.existsSync(templatePath)) {
        const templateContent = fs.readFileSync(templatePath, 'utf8');
        fs.writeFileSync(
          path.join(memDir, 'workflow.md'),
          templateContent,
          'utf8'
        );
      }
    }

    this.employees.employees.push(employee);
    this.saveEmployees(this.employees);

    console.log(`✅ 已招聘新员工: ${name} (${role})`);
    return employee;
  }

  /**
   * 解雇员工
   * @param {string} id 员工ID
   */
  fire(id) {
    const index = this.employees.employees.findIndex(e => e.id === id);
    if (index === -1) {
      throw new Error(`未找到员工: ${id}`);
    }

    const employee = this.employees.employees[index];
    
    // 检查是否有未完成的任务
    if (employee.status === 'working') {
      throw new Error(`员工 ${employee.name} 正在执行任务，请等待任务完成后再解雇`);
    }

    // 归档记忆
    const memDir = path.join(MEMORY_DIR, id);
    const archiveDir = path.join(MEMORY_DIR, 'archived');
    if (!fs.existsSync(archiveDir)) {
      fs.mkdirSync(archiveDir, { recursive: true });
    }
    if (fs.existsSync(memDir)) {
      fs.renameSync(memDir, path.join(archiveDir, id));
    }

    this.employees.employees.splice(index, 1);
    this.saveEmployees(this.employees);

    console.log(`👋 已解雇员工: ${employee.name}`);
    return employee;
  }

  /**
   * 获取员工信息
   */
  get(id) {
    return this.employees.employees.find(e => e.id === id);
  }

  /**
   * 列出所有员工
   */
  list() {
    return this.employees.employees.map(e => ({
      id: e.id,
      name: e.name,
      role: e.role,
      status: e.status,
      currentTask: e.currentTask,
      completedTasks: e.completedTasks
    }));
  }

  /**
   * 更新员工状态
   */
  updateStatus(id, status, taskId = null) {
    const employee = this.get(id);
    if (!employee) {
      throw new Error(`未找到员工: ${id}`);
    }

    employee.status = status;
    if (taskId) {
      employee.currentTask = taskId;
    }
    if (status === 'idle') {
      employee.currentTask = null;
      employee.completedTasks++;
    }

    this.saveEmployees(this.employees);
    return employee;
  }

  /**
   * 获取团队概览
   */
  getOverview() {
    const employees = this.employees.employees;
    return {
      total: employees.length,
      idle: employees.filter(e => e.status === 'idle').length,
      working: employees.filter(e => e.status === 'working').length,
      offline: employees.filter(e => e.status === 'offline').length,
      totalCompletedTasks: employees.reduce((sum, e) => sum + e.completedTasks, 0)
    };
  }

  /**
   * 按角色查找员工
   */
  findByRole(role) {
    return this.employees.employees.filter(e => 
      e.role.toLowerCase().includes(role.toLowerCase())
    );
  }

  /**
   * 获取空闲员工
   */
  getIdleEmployees() {
    return this.employees.employees.filter(e => e.status === 'idle');
  }

  /**
   * 写入员工记忆
   */
  writeMemory(id, content) {
    const employee = this.get(id);
    if (!employee) {
      throw new Error(`未找到员工: ${id}`);
    }

    const memFile = path.join(MEMORY_DIR, id, 'memory.md');
    const timestamp = new Date().toISOString();
    const entry = `\n## [${timestamp}]\n${content}\n`;
    
    fs.appendFileSync(memFile, entry, 'utf8');
    return true;
  }

  /**
   * 读取员工记忆
   */
  readMemory(id) {
    const memFile = path.join(MEMORY_DIR, id, 'memory.md');
    if (fs.existsSync(memFile)) {
      return fs.readFileSync(memFile, 'utf8');
    }
    return null;
  }
}

// CLI接口
if (require.main === module) {
  const manager = new EmployeeManager();
  const args = process.argv.slice(2);
  const command = args[0];

  switch (command) {
    case 'list':
      console.log('\n📋 员工列表:');
      console.table(manager.list());
      break;
    
    case 'hire':
      const hireConfig = {
        name: args[1],
        role: args[2] || '员工',
        skills: args[3] ? args[3].split(',') : []
      };
      manager.hire(hireConfig);
      break;
    
    case 'fire':
      manager.fire(args[1]);
      break;
    
    case 'status':
      console.log('\n📊 团队概览:');
      console.log(manager.getOverview());
      break;
    
    default:
      console.log(`
用法:
  node employee-manager.js list              列出所有员工
  node employee-manager.js hire <名称> <角色> <技能>  招聘员工
  node employee-manager.js fire <ID>         解雇员工
  node employee-manager.js status             查看团队状态
      `);
  }
}

module.exports = EmployeeManager;

Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)