运行时依赖
安装命令
点击复制技能文档
AI 智能图表生成 根据用户提供的数据,生成图表配置并创建可视化项目。
强制规则 以下规则必须严格执行,不得跳过、变通或使用替代方案:
认证优先:在执行任何操作之前,必须先检查凭证状态。认证未通过时,禁止执行任何后续步骤。 按顺序执行:工作流程的 5 个步骤必须按顺序执行,禁止跳步。 费用确认前禁止调用生成接口:必须成功查询配额、计算费用、并获得用户明确确认后,才能调用创建接口。 仅通过 API 创建图表:禁止使用本地工具(Chart.js、ECharts、matplotlib、D3.js、Plotly 等)生成图表。无论 API 因何种原因失败,都绝对禁止使用本地工具,没有任何例外。API 失败时正确做法是停止并告知用户,不是寻找替代方案。 401/403 立即停止:任何步骤中收到 HTTP 401/403(CLI exit 1),立即停止并引导用户前往 API Key 管理页面检查或重新创建 API Key。401/403 不是超时,禁止重试。 超时/500 不自动重试创建接口:创建接口不可重试(可能重复扣费)。告知用户失败原因,由用户决定是否重新发起。
以下想法是错误的,如果你发现自己在这样想,请立即停止: "API 不可用,我可以用本地工具生成图表作为替代" → 违反规则 4 "至少让用户看到一些可视化结果" → 本技能唯一输出方式是 aitubiao API "401 可能是暂时性的,重试几次" → 401 是认证失败,重试无意义,按规则 5 处理
认证 在调用任何 API 之前,先检查凭证状态。 检查凭证 bash scripts/aitubiao-cli.sh check-auth Exit 0 → 认证通过 Exit 1 → 凭证问题,按 stderr 提示处理: 文件不存在/API_KEY 为空 → 执行下方"配置凭证"流程 API_KEY 格式无效 → 告知用户"当前 API Key 已失效,请前往 API Key 管理页面重新创建一个 API Key" BASE_URL 与当前技能包环境不一致 → 说明凭证中残留了旧环境地址;向用户索要当前仍有效的 API Key,并执行下方"配置凭证"流程重写凭证(通常不需要重新创建 API Key)
配置凭证 向用户索要 API Key(格式:sk_v1_...)。如果没有,引导用户前往 API Key 管理页面创建一个新的 API Key,然后将创建好的 Key 粘贴回来。 保存凭证: bash scripts/aitubiao-cli.sh auth <用户提供的key> 验证: 再次运行 bash scripts/aitubiao-cli.sh check-auth 确认配置成功。 凭证保存在 ~/.aitubiao/credentials,跨会话持久生效。
Windows / Git Bash 注意事项(仅 Windows 用户需要关注) 在 Windows 上通过 Git Bash 运行本 CLI 时,禁止把含中文等非 ASCII 字符的 JSON 直接写在 heredoc 里——MSYS 会按 Windows 系统代码页(常为 GBK/CP936)转换 argv 字节,传到后端就是乱码。 正确做法: 先用 Write 工具把完整 UTF-8 JSON 写到一个临时文件,然后用 --body-file 让 CLI 从文件读取(绕过任何 argv/控制台编码转换): # 第一步:用 Write 工具把请求体写到 /tmp/aitubiao-payload.json(内容必须是 UTF-8) # 第二步:用 --body-file 调用 CLI bash scripts/aitubiao-cli.sh --body-file /tmp/aitubiao-payload.json create-chart --body-file 可用于所有读取 stdin JSON 的命令:create-chart / create-ppt / create-sankey / create-3d / download-project。CLI 会自动剥离 UTF-8 BOM 和 CRLF。 macOS / Linux 上无需改动,仍然可以使用 heredoc。
工作流程 每一步必须在前一步完成后才能开始。禁止跳步。
第一步:认证(前置条件:无) 运行检查凭证流程。认证未通过时按"认证"章节流程处理。 认证未通过时,停止。不要读取用户数据,不要做任何分析。
第二步:识别和确认数据(前置条件:第一步认证通过) 判断用户如何提供数据: 直接粘贴文本:自行解析为 Markdown 表格。 本地文件(CSV/TXT):用 Read 工具读取,然后解析为 Markdown 表格。 Excel 文件(.xlsx/.xls):使用 xlsx skill 或 Read 工具读取,禁止手动编写 Python 脚本解析 XML。 向用户展示解析后的 Markdown 表格,并询问: 数据是否正确? 有没有特别的要求?
第三步:检查配额并确认费用(前置条件:第二步数据已确认) 在创建图表前,必须检查用户的 AI贝余额和项目配额,并向用户确认费用后才能继续。 3.1 查询配额 bash scripts/aitubiao-cli.sh quota --skill chart CLI 返回配额 JSON(含 shellBalance、projectsUsed/projectsLimit/projectsRemaining、feature 等字段)。 3.2 计算总费用 图表项目按"次"计费:每次创建一个图表项目固定扣 .feature.cost 个 AI贝,与图表中包含的子图表数量无关(一次创建里有 1 个还是 5 个子图,都只扣这一份费用)。 总费用 = .feature.cost 3.3 向用户确认费用 必须在调用生成接口前向用户展示费用确认信息,并等待用户确认后才能继续: 本次操作将消耗 {totalCost} 个 AI贝({label},{billingModel}计费) 当前余额: {shellBalance} 个 AI贝 操作后余额: {shellBalance - totalCost} 个 AI贝 项目数: 已用 {projectsUsed}/{projectsLimit} 是否继续? 如果 shellBalance < totalCost:告知用户当前 AI贝余额不足,需前往 aitubiao 网站购买会员或充值后再继续,不要继续 如果 projectsRemaining <= 0:告知用户当前项目数已满,需前往 aitubiao 网站升级会员,或在网站中删除旧项目后再继续,不要继续
第四步:创建图表项目(前置条件:第三步用户已确认费用) 只有用户明确确认费用后才能执行此步骤。 bash scripts/aitubiao-cli.sh create-chart <<'EOF' { "markdownTable": "", "projectName": "<项目名称>", "requirement": "<用户的特殊要求,如配色、图表类型偏好>" } EOF 请求体字段说明: 字段 类型 必填 说明 markdownTable string 是 Markdown 格式表格数据 projectName string 否 项目名称,默认"AI图表" requirement string 否 用户需求(配色、图表类型偏好、关注点等) 检查 CLI 退出码: Exit 0:成功。解析 stdout JSON 获取项目信息。 Exit 1:认证失败。引导用户前往 API Key 管理页面。 Exit 2:业务错误(如 AI贝不足、项目数已满)。向用户展示错误详情。 Exit 3:网络/超时错误。告知用户稍后重试。 响应字段说明详见下方"响应字段参考"。
第五步:返回结果(前置条件:第四步创建成功) 向用户提供: 项目 URL(从 project.projectUrl 获取) 项目 ID(从 project.id 获取) 摘要:图表数量、类型、标题 截图链接(如果 charts[].screenshotSuccess 为 true) 资源消耗:本次消耗 AI贝数、剩余 AI贝、已用项目数/上限 下载已创建项目(可选后续操作) 如果用户在项目创建成功后要求“帮我下载或者导出这个项目”,使用统一 CLI 下载命令: bash scripts/aitubiao-cli.sh download-project <本地保存路径> <<'EOF' { "projectId": "", "format": "png" } EOF 规则: projectId 使用上一步返回的 project.id format 按用户需求填写:PPT 项目可用 ppt/pdf/png,图表/桑基图项目可用 png/jpg/pdf/ppt 格式 费用:png/jpg/pdf 任何用户均可免费导出;ppt 需要 PPT 导出权限(付费会员);其它特殊格式(svg/gif/mp4/mov/透明 PNG/2x 及以上倍率)也需对应会员权益。如果用户尝试受限格式但权益不足,CLI 会返回 exit 2 并附服务端错误,应告知用户升级会员或改用免费格式 本地保存路径处理: