소스 정보
- 저장소
- oijhl852/seedance-storyboard
- 최근 소스 활동
- 2026년 7월 15일 21:04
- 감지된 SKILL.md 언어
- 중국어
- 스타
- 4
- 포크
- 0
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/oijhl852/seedance-storyboard --skill sd-chip명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
| name | sd-chip |
| description | 资产 chip 管理 — @mention 触发、chip 数据提取、HTML 构建。由 seedance-storyboard 主 skill 调用。 |
| metadata | {"version":"1.1.1","last_updated":"2026-07-16","author":"Takis","repository":"https://github.com/oijhl852/seedance-storyboard"} |
作者:Takis | 仓库:seedance-storyboard
管理 Seedance 面板中资产引用 chip 的创建和数据提取。
<span class="mention-chip" contenteditable="false"
data-id="role:3195"
data-name="秦牧-基础形象"
data-label="秦牧-基础形象"
data-avatar-bg="linear-gradient(135deg, #9077ff, #5965ff)"
data-url="https://..."
data-asset-id="asset-20260427-..."
data-source-kind="role">
<span class="mention-chip-avatar">
<img class="mention-chip-avatar-image" src="..." alt="秦牧-基础形象">
</span>
<span class="mention-chip-label">秦牧-基础形象</span>
</span>
| 属性 | 说明 | 示例 |
|---|---|---|
| data-id | 资产ID(必填,不可为0) | role:3195 |
| data-source-kind | 资产类型 | role / scene / prop / audio |
| data-url | 资产图片URL | https://... |
| data-asset-id | 平台资产ID | asset-20260427-... |
const chips = document.querySelectorAll('.mention-chip');
for (const c of chips) {
const label = c.querySelector('.mention-chip-label')?.textContent || '';
const id = c.dataset.id;
const url = c.dataset.url;
const assetId = c.dataset.assetId;
const kind = c.dataset.sourceKind;
}
const escapeHtml = (value) => String(value ?? '').replace(/[&<>"']/g, (char) => ({
'&': '&', '<': '<', '>': '>', '"': '"', "'": '''
}[char]));
const chipHtml = (asset) => {
const required = ['dataId', 'sourceId', 'name', 'url', 'sourceKind'];
const missing = required.filter((key) => !asset?.[key]);
if (missing.length || /:(0|null|undefined)$/.test(String(asset.dataId))) {
throw new Error(`资产字段不完整或 ID 无效:${missing.join(',')}`);
}
const bg = asset.avatarBg || 'linear-gradient(135deg, #9077ff, #5965ff)';
const text = (key) => escapeHtml(asset[key]);
return `<span class="mention-chip" contenteditable="false" data-id="" data-source-id="" data-name="" data-desc="" data-remark="" data-label="" data-avatar-bg="" data-url="" data-asset-id="" data-asset-type="" data-source-kind=""><span class="mention-chip-avatar"><img class="mention-chip-avatar-image" src="" alt=""></span><span class="mention-chip-label"></span></span>`;
};
标准资产对象至少包含:dataId、sourceId、name、url、sourceKind。
从页面提取的真实字段优先,不能用 role:0、假 URL 或临时名称代替。
1. click 编辑器区域
2. type_text "@角色名"(触发 mention 弹窗)
3. click 目标资产选项
4. chip 自动插入编辑器末尾
⚠️ 绝不使用占位符 ID(如 role:0),会导致 invalid asset uri 错误。
输出 {name, dataId, sourceId, url, assetId, sourceKind} 映射表,并标记每个资产是否已在页面中验证。未验证的资产不能进入 API 注入。
注入前把剧本中的场景名、角色名、道具名与面板显示名称逐项对应。优先使用资产清单中的稳定编号,再用面板提取的真实 data-id、data-url 和 data-asset-id 完成映射。
同名但不同状态的资产必须分开记录,例如“林冲-正常状态”和“林冲-受伤状态”不能只保留一个名称。