Agent Skillsanymouschina/TapCanvas › tapcanvas-api

tapcanvas-api

GitHub

TapCanvas项目统一API调用入口,管理chat/draw/vision等公共接口。通过脚本和配置文件发起请求,禁止分散调用或静默降级,确保配置与调用标准化。

apps/agents-cli/skills/tapcanvas-api/SKILL.md anymouschina/TapCanvas

Trigger Scenarios

需要调用TapCanvas的chat、draw、vision、video、tasks/result或flows接口 涉及TapCanvas公共API的配置读取与请求组装

Install

npx skills add anymouschina/TapCanvas --skill tapcanvas-api -g -y
More Options

Non-standard path

npx skills add https://github.com/anymouschina/TapCanvas/tree/main/apps/agents-cli/skills/tapcanvas-api -g -y

Use without installing

npx skills use anymouschina/TapCanvas@tapcanvas-api

指定 Agent (Claude Code)

npx skills add anymouschina/TapCanvas --skill tapcanvas-api -a claude-code -g -y

安装 repo 全部 skill

npx skills add anymouschina/TapCanvas --all -g -y

预览 repo 内 skill

npx skills add anymouschina/TapCanvas --list

SKILL.md

Frontmatter
{
    "name": "tapcanvas-api",
    "description": "统一的 TapCanvas API skill。凡是要通过 TapCanvas 项目的 `\/public\/*` 接口完成 chat、draw、vision、video、tasks\/result、flows 读写时,都必须使用这个 skill,而不是再使用分散的 tapcanvas-vision、tapcanvas-public-chat-ui-code 或其他平行 API skill。此 skill 通过同目录 `config.json` 配置 `apiBaseUrl` 和 `apiKey`,并通过脚本统一发起请求。"
}

TapCanvas API

这是 TapCanvas 项目对外 API 的唯一 skill。

目标:

  • 为 TapCanvas 项目的公共接口提供唯一调用入口。
  • 用一个统一配置文件管理 apiBaseUrlapiKey
  • 明确失败,不做静默降级、不猜测默认接口、不切换到旧 skill。

唯一路径

涉及以下任一场景时,只能使用本 skill:

  • 调用 /public/agents/chat
  • 调用 /public/draw
  • 调用 /public/vision
  • 调用 /public/video
  • 调用 /public/tasks/result
  • 调用 /public/flows 相关接口

禁止:

  • 再使用分散的 TapCanvas API skill
  • 在不同 skill 里各自维护一套 apiKey / apiBaseUrl
  • 未经确认地改用其他 endpoint 或本地伪造结果

配置

必须读取同目录下的 config.json

{
  "apiBaseUrl": "http://localhost:8788",
  "apiKey": "tc_sk_xxx"
}

字段说明:

  • apiBaseUrl: TapCanvas API 域名或本地开发地址,不带尾部斜杠更清晰
  • apiKey: 当前用户生成的 API Key

优先级:

  1. 脚本参数显式传入
  2. config.json
  3. 环境变量 TAPCANVAS_API_BASE_URL / TAPCANVAS_API_KEY

如果最终缺少 apiBaseUrlapiKey,必须直接失败。

执行方式

统一使用脚本:

node apps/agents-cli/skills/tapcanvas-api/scripts/call.mjs \
  --endpoint chat \
  --payload '{"vendor":"auto","prompt":"你好"}'

也支持 payload 文件:

node apps/agents-cli/skills/tapcanvas-api/scripts/call.mjs \
  --endpoint draw \
  --payloadFile /abs/path/request.json

Endpoint 规则

可用 endpoint:

  • chat -> POST /public/agents/chat
  • draw -> POST /public/draw
  • vision -> POST /public/vision
  • video -> POST /public/video
  • taskResult -> POST /public/tasks/result
  • flows -> GET /public/projects/:projectId/flows
  • flowGet -> GET /public/flows/:id
  • flowPatch -> POST /public/flows/:id/patch

规则:

  • chat/draw/vision/video/taskResult 必须传 payload
  • flows 必须传 --projectId
  • flowGet 必须传 --flowId
  • flowPatch 必须同时传 --flowIdpayload
  • 当前公开接口没有“列出当前用户全部 projects / flows”的 discovery endpoint;要验证或操作真实用户画布数据,调用方必须先提供真实 projectIdflowId

推荐请求模板

chat

{
  "vendor": "auto",
  "prompt": "请帮我完成当前任务",
  "temperature": 0.2
}

draw

{
  "vendor": "auto",
  "prompt": "一个极简风格的白色产品海报",
  "extras": {
    "modelAlias": "nano-banana-pro",
    "aspectRatio": "1:1"
  }
}

vision

{
  "vendor": "auto",
  "imageUrl": "https://example.com/demo.png",
  "prompt": "请分析这张图片并给出可复现英文提示词",
  "modelAlias": "gemini-3.1-flash-image-preview",
  "temperature": 0.2
}

video

{
  "vendor": "auto",
  "prompt": "一只白猫在雨夜霓虹街头慢慢走过",
  "durationSeconds": 10,
  "extras": {
    "modelAlias": "veo-3.1"
  }
}

taskResult

{
  "taskId": "your-task-id",
  "taskKind": "text_to_video"
}

工作流

  1. 先判定用户目标属于哪个 endpoint。
  2. config.json 读取 apiBaseUrlapiKey
  3. 组装最小必要 payload。
  4. 调用统一脚本。
  5. 原样检查接口结果。
  6. 若返回错误,直接暴露错误与 endpoint,不做吞错。

画布数据验证前提

  • 若目标是验证或读取真实用户画布数据,优先走:
    • 已知 projectId:先调用 flows
    • 已知 flowId:直接调用 flowGet
  • 若既没有 projectId 也没有 flowId,必须直接说明“当前公开 API 不具备 discovery 能力”,而不是猜测、扫描本地状态、或绕过本 skill 走其他数据路径。

失败策略

  • 缺少配置:直接失败。
  • payload 非法:直接失败。
  • 网络错误:直接报具体 URL 和系统错误。
  • 后端返回 4xx/5xx:保留原始响应摘要并失败。
  • 禁止自动切换到旧 skill、旧 endpoint 或匿名模式。

评审标准

一个合格的调用必须满足:

  • 使用了本 skill,而不是平行 skill
  • 配置来自 config.json 或显式覆盖
  • endpoint 与 payload 对应正确
  • 返回结果来自真实接口
  • 所有失败都能定位到真实原因

Version History

  • 1.0.0 Current 2026-07-24 20:45

Same Skill Collection

apps/agents-cli/skills/aesthetic-audit/SKILL.md
apps/agents-cli/skills/agent-builder/SKILL.md
apps/agents-cli/skills/agents-team-book-metadata/SKILL.md
apps/agents-cli/skills/agents-team/SKILL.md
apps/agents-cli/skills/code-review/SKILL.md
apps/agents-cli/skills/cognitive-memory/SKILL.md
apps/agents-cli/skills/evolver/SKILL.md
apps/agents-cli/skills/generate-media/SKILL.md
apps/agents-cli/skills/khazix-writer/SKILL.md
apps/agents-cli/skills/long-running-app-harness/SKILL.md
apps/agents-cli/skills/mcp-builder/SKILL.md
apps/agents-cli/skills/pdf/SKILL.md
apps/agents-cli/skills/skill-creator/SKILL.md
apps/agents-cli/skills/tapcanvas-collage-local/SKILL.md
apps/agents-cli/skills/tapcanvas-continuity/SKILL.md
apps/agents-cli/skills/tapcanvas-demo-patterns/SKILL.md
apps/agents-cli/skills/tapcanvas-design-to-web/SKILL.md
apps/agents-cli/skills/tapcanvas-prompt-specialists/SKILL.md
apps/agents-cli/skills/tapcanvas-public-chat/SKILL.md
apps/agents-cli/skills/tapcanvas-storyboard-expert/SKILL.md
apps/agents-cli/skills/tapcanvas-video-prompting/SKILL.md
apps/agents-cli/skills/tapcanvas-visual-focus/SKILL.md
apps/agents-cli/skills/tapcanvas-workflow-orchestrator/SKILL.md
apps/agents-cli/skills/tapcanvas-replicate/SKILL.md

Metadata

Files
0
Version
1.0.0
Hash
f9734893
Indexed
2026-07-24 20:45

Главная - Вики-сайт
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-22 07:42
浙ICP备14020137号-1 $Гость$