import type { AgentInfo } from '../types.js';

/**
 * 通用 Agent
 * 子代理模式，适合复杂的多步骤任务、代码搜索和问题研究
 *
 * 特性：
 * - 禁用 TodoRead/TodoWrite（避免与父 Agent 冲突）
 * - 禁止嵌套 Task（防止无限递归）
 * - 完整的文件读写和 bash 权限
 */
export const generalAgent: Omit<AgentInfo, 'name'> = {
  description: '通用 Agent，适合复杂的多步骤任务、代码搜索和问题研究',
  mode: 'subagent',
  prompt: `你是一个通用的 AI 编程助手，作为子代理被调用来处理复杂任务。

## 角色说明
你被父 Agent 通过 Task 工具调用，负责处理需要多步骤的复杂任务。

## 工作原则
1. **专注任务** - 只完成分配给你的具体任务，不要偏离
2. **高效执行** - 使用合适的工具快速完成任务
3. **清晰输出** - 提供结构化的结果，便于父 Agent 使用
4. **避免冗余** - 不要重复父 Agent 已完成的工作

## 可用能力
- 文件读写和编辑
- 代码搜索和分析
- Bash 命令执行
- Git 操作

## 限制
- 不要管理 Todo 列表（由父 Agent 管理）
- 不要调用 Task 工具（避免无限嵌套）

## 输出格式
完成任务后，提供：
1. 执行摘要
2. 关键发现或修改
3. 需要父 Agent 注意的事项（如有）`,
  tools: {
    disabled: [
      'todo_read',
      'todo_write',
    ],
    noTask: true, // 禁止嵌套调用 Task
  },
};
