运行时依赖
安装命令
点击复制技能文档
类别:服务 AI 员工网站构建(零号员工建站) 验证 mkdir -p output/alibabacloud-wxz-website-builder for f in skills/ai/service/alibabacloud-wxz-website-builder/scripts/*.py; do python3 -m py_compile "$f" done echo "py_compile_ok" > output/alibabacloud-wxz-website-builder/validate.txt 通过标准:命令退出 0 且 output/alibabacloud-wxz-website-builder/validate.txt 被生成。 输出和证据 保存 output/alibabacloud-wxz-website-builder/ 下的列表/摘要输出。保留每个证据文件中的会话 ID 和事件摘要。 先决条件 pip install alibabacloud_tea_openapi>=0.4.4 alibabacloud_tea_util>=0.3.14 凭证通过默认凭证链解析(无需显式 AK/SK)。 身份验证 此技能依赖于阿里云默认凭证链。不要显式设置 AK/SK。SDK 自动按以下顺序解析凭证: 环境变量:ALIBABACLOUD_ACCESS_KEY_ID / ALIBABACLOUD_ACCESS_KEY_SECRET 共享配置文件:~/.alibabacloud/credentials RAM 角色 / ECS 元数据服务(在阿里云实例上运行时) 区域:ALIBABACLOUD_REGION_ID 默认为 cn-hangzhou。 如何获取 AccessKey(如果用户没有) 如果用户没有 AccessKey,引导他们完成以下步骤(请参阅 references/ak-setup-guide.md 获取详细信息): 登录:打开 https://www.aliyun.com 并登录(或注册) 创建 RAM 用户:前往 https://ram.console.aliyun.com/users → “创建用户” → 勾选 “OpenAPI Access” → 立即保存 AK/SK(密钥仅显示一次!) 授予权限:添加自定义策略,包含以下操作(最小权限): zero2staff:CreateAIStaffConversation zero2staff:CreateAIStaffChat zero2staff:ListAIStaffChatEvents zero2staff:ListAIStaffChatMessages 配置:写入 ~/.alibabacloud/credentials 或设置环境变量 CRITICAL:在引导用户时,请提醒他们: 不要使用根账户 AccessKey — 始终使用 RAM 子用户 保存 AccessKey 密钥立即 — 只在创建时显示一次 永远不要将 AccessKey 提交到 git 如果用户遇到身份验证错误,请参阅 references/ak-setup-guide.md 中的故障排除表。 应用生命周期 整个流程有 3 个阶段。按照顺序进行。 重要 — 代理驱动的轮询:聊天命令触发请求并立即返回。代理然后通过轮询命令驱动轮询循环。在每个轮询之间,代理必须向用户显示进度消息,以便他们知道发生了什么(使用 progressDetail 进行丰富的消息)。 第 1 阶段:创建会话 ↓ 第 2 阶段:触发需求聊天 → 轮询 → HITL → 触发简历 → 轮询 → ... → PRD 准备就绪 ↓ 第 3 阶段:触发代码生成 → 显示链接 → 轮询循环与进度 → 站点准备就绪 第 0 阶段:身份验证设置 确保阿里云凭证通过默认凭证链配置(请参阅上面的身份验证部分)。 第 1 阶段:创建会话 必须在任何聊天操作之前创建会话: CONV=$(python scripts/aistaff_api.py create-conversation --text "做个 popmart 首页") CONV_ID=$(echo $CONV | jq -r '.ConversationId') CHAT_ID=$(echo $CONV | jq -r '.ChatId') SITE_ID=$(echo $CONV | jq -r '.SiteId') 返回平面 JSON:{ConversationId, SiteId, ChatId, SectionId, BotId, Title}。 第 2 阶段:需求收集 + PRD 此阶段收集需求并生成 PRD。平台可能会要求多个 HITL 回合(基本信息 → 功能 → 语言等)。为了保持快速: 只显示第一个 HITL 回合给用户(基本项目信息)。 所有后续 HITL 回合必须使用表单的默认/预选值自动填充并立即恢复 — 不要询问用户。 步骤 1:触发需求收集 python scripts/aistaff_api.py chat \ --text "做个 popmart 首页" \ --conversation-id $CONV_ID \ --biz-id $SITE_ID 告诉用户:“正在分析您的需求,请稍候...” 步骤 2:轮询,直到第一个 HITL 表单到达 每 5 秒调用一次轮询,直到阶段等待输入: python scripts/aistaff_api.py poll \ --conversation-id $CONV_ID \ --biz-id $SITE_ID \ --last-event-id 0 在每个轮询之间,根据阶段向用户显示进度消息: processing → “需求分析进行中...” fetching_reference → “正在获取参考网站信息...” waiting_for_input → 第一个 HITL 表单到达,继续到步骤 3。 步骤 3:第一个 HITL — 从用户收集答案 从消息工具事件的 metaData.arguments 中提取问题,其中名称为 “AskUserQuestion”。 通过 AskUserQuestion 工具向用户呈现这些问题(通常:应用名称、业务描述、目标用户、参考网站)。 步骤 4:触发简历,使用 --phase generate_prd CRITICAL:在第一个 HITL 简历中,始终传递 --phase generate_prd --user-navigation generate_prd。 python scripts/aistaff_api.py chat \ --text '{"应用名称": "POP MART 官网", "主营服务": "潮流玩具", "目标用户": "Z 世代潮流青年", "参考网站": "无"}' \ --conversation-id $CONV_ID \ --biz-id $SITE_ID \ --chat-id $CHAT_ID \ --chat-status interrupt \ --phase generate_prd \ --user-navigation generate_prd ...(省略后续内容)