150 lines
5.2 KiB
Bash
150 lines
5.2 KiB
Bash
#!/bin/bash
|
|
|
|
# AI Agent Team CLI - 快捷命令调用工具
|
|
# 使用方法: ./cli.sh [agent] [task]
|
|
|
|
set -e
|
|
|
|
# 颜色定义
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
BLUE='\033[0;34m'
|
|
PURPLE='\033[0;35m'
|
|
CYAN='\033[0;36m'
|
|
NC='\033[0m' # No Color
|
|
|
|
# Agent映射
|
|
declare -A AGENTS=(
|
|
["pm"]="product_manager"
|
|
["product"]="product_manager"
|
|
["产品"]="product_manager"
|
|
["fe"]="frontend_dev"
|
|
["frontend"]="frontend_dev"
|
|
["前端"]="frontend_dev"
|
|
["be"]="backend_dev"
|
|
["backend"]="backend_dev"
|
|
["后端"]="backend_dev"
|
|
["qa"]="qa_engineer"
|
|
["test"]="qa_engineer"
|
|
["测试"]="qa_engineer"
|
|
["ops"]="devops_engineer"
|
|
["devops"]="devops_engineer"
|
|
["运维"]="devops_engineer"
|
|
)
|
|
|
|
# 显示帮助信息
|
|
show_help() {
|
|
echo -e "${CYAN}🤖 AI Agent Team CLI${NC}"
|
|
echo -e "${CYAN}===================${NC}"
|
|
echo
|
|
echo -e "${YELLOW}使用方法:${NC}"
|
|
echo -e " ./cli.sh [agent] [task]"
|
|
echo
|
|
echo -e "${YELLOW}可用Agent:${NC}"
|
|
echo -e " ${GREEN}pm | product | 产品${NC} - 产品经理"
|
|
echo -e " ${GREEN}fe | frontend | 前端${NC} - 前端开发"
|
|
echo -e " ${GREEN}be | backend | 后端${NC} - 后端开发"
|
|
echo -e " ${GREEN}qa | test | 测试${NC} - 测试工程师"
|
|
echo -e " ${GREEN}ops | devops | 运维${NC} - DevOps工程师"
|
|
echo
|
|
echo -e "${YELLOW}示例:${NC}"
|
|
echo -e " ./cli.sh pm \"设计用户认证系统\""
|
|
echo -e " ./cli.sh 前端 \"创建登录页面\""
|
|
echo -e " ./cli.sh backend \"实现JWT认证API\""
|
|
echo -e " ./cli.sh 测试 \"测试登录功能\""
|
|
echo -e " ./cli.sh 运维 \"部署到生产环境\""
|
|
echo
|
|
echo -e "${YELLOW}工作流示例:${NC}"
|
|
echo -e " # 完整的产品开发流程"
|
|
echo -e " ./cli.sh 产品 \"设计用户登录功能\""
|
|
echo -e " ./cli.sh 后端 \"实现登录API接口\""
|
|
echo -e " ./cli.sh 前端 \"创建登录页面UI\""
|
|
echo -e " ./cli.sh 测试 \"测试完整登录流程\""
|
|
echo -e " ./cli.sh 运维 \"部署登录功能到生产环境\""
|
|
}
|
|
|
|
# 检查参数
|
|
if [ $# -lt 2 ]; then
|
|
show_help
|
|
exit 1
|
|
fi
|
|
|
|
AGENT_ALIAS=$1
|
|
TASK_DESCRIPTION="$2"
|
|
|
|
# 检查agent是否存在
|
|
if [[ -z "${AGENTS[$AGENT_ALIAS]}" ]]; then
|
|
echo -e "${RED}❌ 未知的agent: $AGENT_ALIAS${NC}"
|
|
echo -e "${YELLOW}可用agent:${NC} pm, fe, be, qa, ops"
|
|
exit 1
|
|
fi
|
|
|
|
AGENT_NAME="${AGENTS[$AGENT_ALIAS]}"
|
|
|
|
# 显示调用信息
|
|
echo -e "${CYAN}🤖 AI Agent Team CLI${NC}"
|
|
echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
echo -e "${YELLOW}Agent:${NC} ${GREEN}$AGENT_ALIAS${NC} (${AGENT_NAME})"
|
|
echo -e "${YELLOW}任务:${NC} $TASK_DESCRIPTION"
|
|
echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
echo
|
|
|
|
# 构建agent命令
|
|
AGENT_CMD="/agent $AGENT_NAME \"$TASK_DESCRIPTION\""
|
|
|
|
# 显示实际执行的命令(调试用)
|
|
if [[ "${DEBUG:-false}" == "true" ]]; then
|
|
echo -e "${PURPLE}[DEBUG] 执行命令: $AGENT_CMD${NC}"
|
|
echo
|
|
fi
|
|
|
|
# 执行agent命令
|
|
echo -e "${CYAN}正在调用agent...${NC}"
|
|
echo
|
|
|
|
# 使用claude执行agent命令
|
|
if command -v claude > /dev/null 2>&1; then
|
|
claude -p "$AGENT_CMD"
|
|
else
|
|
echo -e "${RED}❌ Claude Code 未安装或未配置${NC}"
|
|
echo -e "${YELLOW}请确保已安装Claude Code并正确配置${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
# 显示完成信息
|
|
echo
|
|
echo -e "${GREEN}✅ Agent任务完成${NC}"
|
|
echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
|
|
# 提供下一步建议
|
|
case $AGENT_ALIAS in
|
|
"pm"|"product"|"产品")
|
|
echo -e "${CYAN}💡 建议下一步:${NC}"
|
|
echo -e " - 使用 '${GREEN}./cli.sh 后端${NC}' 开发API接口"
|
|
echo -e " - 使用 '${GREEN}./cli.sh 前端${NC}' 创建用户界面"
|
|
;;
|
|
"be"|"backend"|"后端")
|
|
echo -e "${CYAN}💡 建议下一步:${NC}"
|
|
echo -e " - 使用 '${GREEN}./cli.sh 前端${NC}' 开发用户界面"
|
|
echo -e " - 使用 '${GREEN}./cli.sh 测试${NC}' 进行API测试"
|
|
;;
|
|
"fe"|"frontend"|"前端")
|
|
echo -e "${CYAN}💡 建议下一步:${NC}"
|
|
echo -e " - 使用 '${GREEN}./cli.sh 测试${NC}' 进行功能测试"
|
|
echo -e " - 使用 '${GREEN}./cli.sh 运维${NC}' 部署到服务器"
|
|
;;
|
|
"qa"|"test"|"测试")
|
|
echo -e "${CYAN}💡 建议下一步:${NC}"
|
|
echo -e " - 使用 '${GREEN}./cli.sh 运维${NC}' 部署到测试环境"
|
|
echo -e " - 修复发现的问题后重新测试"
|
|
;;
|
|
"ops"|"devops"|"运维")
|
|
echo -e "${CYAN}💡 建议下一步:${NC}"
|
|
echo -e " - 监控部署后的系统状态"
|
|
echo -e " - 使用 '${GREEN}./cli.sh 测试${NC}' 进行生产环境验证"
|
|
;;
|
|
esac
|
|
|
|
echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
echo -e "${PURPLE}🎯 使用 '${GREEN}./cli.sh 状态${NC}' 查看团队整体状态${NC}" |