界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
设计与创意 · SKILL.md

develop-timeline-studio-plugin

develop-timeline-studio-plugin

【设计与创意】Design, evaluate, implement, or review image and video generation connectors for Timeline Studio. Use when adding a provider plugin, extracting the generation plugin host or registry, or checking a connector against Timeline Studio's authentication, output, localization, and My assets contract. Do not use for ordinary video editing or Codex plugin pa…

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: develop-timeline-studio-plugin description: Design, evaluate, implement, or review image and video generation connectors for Timeline Studio. Use when adding a provider plugin, extracting the generation plugin host or registry, or checking a connector against Timeline Studio's authentication, output, localization, and My assets contract. Do not use for ordinary video editing or Codex plugin packaging.

Develop Timeline Studio generation plugins

Build a source-integrated generation connector that remains isolated from Timeline Studio's editing core and returns real downloadable media to My assets.

Start with the contract

Read ../../docs/generation-plugin-development.md completely before designing or changing a connector. Treat it as the source of truth for provider eligibility, runtime classes, manifest and adapter shapes, security, localization, output normalization, and completion criteria.

Also read the repository's AGENTS.md and inspect the current implementations in:

  • src/components/GenerationPlugins.jsx
  • src/hooks/useGenerationPlugins.js

Do not assume that an external installable plugin runtime already exists. Current plugins are reviewed source integrations. If the shared registry and host described by the contract are absent, make only the bounded extraction required for the requested provider and preserve existing provider behavior.

Decide before implementing

Use the provider's current official documentation to establish:

  • a stable task/result API or owned browser SDK;
  • automatic retrieval of every generated image or video;
  • authentication and credential ownership;
  • browser and CORS requirements;
  • real job, progress, error, and cancellation semantics;
  • temporary-output lifetime, cost, region, and account constraints.

Reject a generic embed or manual result-URL workflow. Stop when the provider requires a developer secret in browser code or lacks a safe automatic output route. State the exact missing capability rather than simulating it.

Preserve the host boundary

  • Put provider transport and response parsing in an isolated adapter.
  • Register identity and capabilities through one declarative manifest.
  • Let the host own concurrency, cancellation arbitration, media validation, object URLs, notifications, and My assets commits.
  • Never let a provider mutate the timeline or receive broad editor state.
  • Download and decode output bytes before reporting completion.
  • Import all declared outputs, not only the first.
  • Use provider-backed progress or an indeterminate state; never fabricate percentages.
  • Keep authentication, connection, running, cancelled, complete, and error states honest.

Product and security requirements

  • Completed media goes to My assets without automatic timeline insertion.
  • Provider-managed browser sessions may remain inside the provider SDK boundary.
  • Developer-owned secrets require a secure backend connection layer.
  • Loopback plugins accept only localhost, 127.0.0.1, or ::1 and must validate endpoint and CORS before showing connected.
  • Do not recommend LAN exposure or wildcard CORS.
  • Localize provider-specific copy directly in zh, en, ja, ko, es, fr, de, pt, th, vi, and ru.
  • Convert raw transport failures into localized, actionable errors without leaking secrets.

Finish visibly

Exercise the real states the provider supports, then run npm run lint, npm run typecheck, and npm run build. Do not add persistent test harnesses or test media to the product repository. Update maintained README project-update sections only after the connector actually ships.

In the final handoff, report the provider class, authentication boundary, supported modes, cancellation truth, output-download behavior, files changed, and validation results. Call out any capability that remains unavailable instead of presenting it as implemented.

我的收藏