闲社服务运行正常AI智能体自动化平台
a

阿里云故事板

技能标识:alibabacloud-yike-storyboard

|

作者:admin | 来源记录:ClawHub
登记来源
ClawHub
版本
V 0.0.1
检测标记
后台标记通过
免费
免费获取
0
收藏
来源与检测标记为平台登记信息,并不代表已展示可复核的检测报告。使用前请核对版本、依赖和所需权限,建议先在隔离环境中运行。
概述
安装方式
版本历史

阿里云故事板

Yike 分镜创作技能

通过对话界面帮助用户完成从小说/剧本到分镜的 AI 视频创作工作流。



前置条件

1. 阿里云 CLI 检查

预检查:需要阿里云 CLI >= 3.3.1

bash
aliyun version

确认版本 >= 3.3.1。如果未安装或版本过低,请参考 references/cli-installation-guide.md。

然后 [必须] 运行以下命令配置 CLI:
bash

启用自动插件安装


aliyun configure set --auto-plugin-install true

设置地域为 cn-shanghai(ICE 服务必需)

aliyun configure set --region cn-shanghai

2. ICE 插件安装

预检查:需要 ICE CLI 插件
bash
aliyun plugin install --names ice

确认插件已安装:
bash
aliyun ice --help


服务开通

1. 开通 IMS(智能媒体服务)

开通链接: https://ice.console.aliyun.com/guide/default
使用阿里云账号登录并开通 ICE 智能媒体服务。

2. 登录 yikeai 平台

平台链接: https://www.yikeai.com/#/home
访问产品网站并使用阿里云账号授权登录。
目前万镜·易刻处于邀测阶段。点击 申请体验 提交申请。


凭证验证

预检查:需要阿里云凭证
安全规则:

  • - 禁止 读取、打印或输出 AK/SK 值
  • 仅使用 aliyun configure list 检查凭证状态

bash
aliyun configure list

如果没有有效配置文件,请停止并:

  1. 1. 从 阿里云控制台 获取凭证
  2. 运行 aliyun configure 设置凭证


RAM 权限

本技能需要 ICE 权限:ice:CreateYikeAssetUpload、ice:SubmitYikeStoryboardJob、ice:GetYikeStoryboardJob。

完整权限策略请参见 references/ram-policies.md。

[必须] 权限错误处理: 当任何命令因权限错误失败时,请阅读 references/ram-policies.md 了解所需权限。


参数确认

在文件上传前通过自然对话与用户确认关键参数。

参数必填描述默认值
file_path✅文本文件路径(txt/docx,≤5MB,≤30K 字符)用户提供
title
✅ | 分镜标题 | 从文本中提取 | | source-type | ✅ | Novel 或 Script | 基于内容分析 | | style | ✅ | 视觉风格 ID | 基于题材 | | voice | ✅ | 旁白音色 ID | 基于主角 | | shot-split-mode | ✅ | 镜头拆分模式 | 基于叙事风格 | | ratio | 可选 | 16:9、9:16、4:3、3:4 | 9:16 | | resolution | 可选 | 720P、1K、2K、4K | 720P |

推荐指南请参见 任务 0:参数确认。



文本类型分类


类型值描述
小说Novel以叙事、描写、心理活动为主,供阅读
剧本
Script | 以场景、对话、动作描述为主,供表演/拍摄 |

分类指南:

评估以下特征判断文本是小说还是剧本(不要仅凭对话存在判断——小说也可能有大量对话):

特征剧本小说
场景标记✅ 有场次编号、时间、地点、内/外景❌ 无明确场景标记
结构
✅ 角色名 + 对话 占主导 | ❌ 叙事文本占主导 |
| 动作提示 | ✅ 有舞台指示、镜头方向 | ❌ 无可表演特征 |
| 文学表达 | ❌ 较少 | ✅ 丰富的环境描写、心理活动、情感 |

分类规则:

  1. 1. 剧本:以场景、对话、动作描述为主
  2. 小说:以叙述、描写、心理活动为主
  3. 混合内容:判断主导特征,输出更像剧本或更像小说

重要:分类后,与用户确认文本类型,或让用户直接指定。


核心工作流

任务 0:参数确认

在上传前,分析文本并与用户确认关键参数。

步骤 1:分析文本内容

bash
head -c 1000

确定:题材、叙事风格(第一/第三人称)、主角特征。

步骤 2:推荐并确认参数

基于分析结果,通过自然对话向用户推荐并确认参数。

推荐指南:

参数依据示例
style题材现代都市 → CinematicRealism;古装剧 → RealisticGuzhuangPro;奇幻 → RealisticXianxia;动漫 → Ghibli
voice
主角 | 年轻女性 → sysClassicYoungWoman;年轻男性 → sysGentleYoungMan;成熟男性 → sys_CalmDeepMale |
| shot-split-mode | 叙事方式 | 第三人称 → thirdPersonNarration;第一人称 → firstPersonNarration;对话密集的剧本 → dialogue |
| ratio | 平台 | 抖音/快手 → 9:16;YouTube → 16:9 |
| resolution | 质量 | 默认 720P;更高质量 1K/2K/4K |

默认值: 9:16、720P(竖屏高清,适合移动端)

⚠️ 约束: dialogue 模式仅适用于 Script 类型,不适用于 Novel。

确认对话示例:

根据您的现代都市爱情小说,我推荐:

  • - 风格:CinematicRealism(电影质感,适合情感场景)
  • 音色:sys_ClassicYoungWoman(匹配您的年轻女性主角)
  • 镜头模式:thirdPersonNarration(第三人称叙事)
  • 格式:9:16、720P(竖屏高清,适合移动平台)
  • 标题:雨夜归途

这样设置可以吗?或者您想调整什么?

如果用户没有偏好,使用推荐的默认值。完整选项请参见 风格映射表 和 音色映射表。

在用户确认前,不要进入任务 1。



任务 1:上传文本文件到 OSS

前置条件: 必须完成任务 0(参数确认)。

使用辅助脚本自动获取凭证并上传:

bash
bash scripts/uploadtooss.sh

返回: FileURL(用于后续任务提交)

任务 2:提交分镜任务

bash
aliyun ice submit-yike-storyboard-job \
--file-url \
--source-type \
--style-id \
--narration-voice-id \
--aspect-ratio 9:16 \
--resolution 720P \
--shot-split-mode \
--shot-prompt-mode multi \
--video-model wan2.6-r2v-flash \
--exec-mode StoryboardOnly \
--title \<br> --region cn-shanghai \<br> --user-agent AlibabaCloud-Agent-Skills</p> <blockquote><p>完整参数参考请参见 <a href="references/related-commands.md#3-submit-storyboard-job" target="_blank" rel="noopener">references/related-commands.md</a>。</p></blockquote> <h3>任务 3:查询任务状态</h3> <p>bash<br> aliyun ice get-yike-storyboard-job \<br> --job-id <JobId> \<br> --region cn</p></div> </div> <div class="tags"> <h4>标签</h4> <span class="tag">skill</span> <span class="tag">ai</span> </div> </div> </div> <div class="tab-content" id="tab-install"> <div class="install-panel"> <h3>通过对话安装</h3> <p>以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:</p> <div class="platform-list"> <span class="platform-tag">OpenClaw</span> <span class="platform-tag">WorkBuddy</span> <span class="platform-tag">QClaw</span> <span class="platform-tag">Kimi</span> <span class="platform-tag">Claude</span> </div> <div class="install-method"> <h4>方式一:安装 SkillHub 和技能</h4> <div class="code-block"> <button class="copy-btn" onclick="copyToClipboard('帮我安装 SkillHub 和 alibabacloud-yike-storyboard-1775889986 技能', this)">复制</button> <code>帮我安装 SkillHub 和 alibabacloud-yike-storyboard-1775889986 技能</code> </div> </div> <div class="install-method"> <h4>方式二:设置 SkillHub 为优先技能安装源</h4> <div class="code-block"> <button class="copy-btn" onclick="copyToClipboard('设置 SkillHub 为我的优先技能安装源,然后帮我安装 alibabacloud-yike-storyboard-1775889986 技能', this)">复制</button> <code>设置 SkillHub 为我的优先技能安装源,然后帮我安装 alibabacloud-yike-storyboard-1775889986 技能</code> </div> </div> <h3 style="margin-top: 30px;">通过命令行安装</h3> <div class="install-method"> <div class="code-block"> <button class="copy-btn" onclick="copyToClipboard('skillhub install alibabacloud-yike-storyboard-1775889986', this)">复制</button> <code>skillhub install alibabacloud-yike-storyboard-1775889986</code> </div> </div> <h3 style="margin-top: 30px;">下载</h3> <a href="plugin.php?id=hl_skillhub&mod=download&version_id=415&token=6684bb4359fe796041128216e7a768ec" class="download-btn"> ⬇ 下载 alibabacloud-yike-storyboard v0.0.1(免费) </a> <p class="download-info"> 文件大小: 18.29 KB | 发布时间: 2026-4-12 08:53 </p> </div> </div> <div class="tab-content" id="tab-versions"> <div class="version-list"> <div class="version-item"> <div class="version-header"> <span class="version-number">v0.0.1</span> <span class="latest-tag">最新</span> <span class="version-date">2026-4-12 08:53</span> </div> <div class="changelog"> Yike Storyboard Creation Skill – Initial Release<br /> <br /> - Introduces an end-to-end AI video creation workflow from novel/script to storyboard via conversational interface.<br /> - Guides users through prerequisites: Aliyun CLI, ICE plugin, service activation, RAM permissions, and login to yikeai platform.<br /> - Provides detailed steps for credential verification and parameter confirmation before file upload.<br /> - Includes text type classification (novel vs script) and workflow customization based on genre, narrative style, and user preferences.<br /> - Outlines the core workflow: parameter confirmation, file upload, storyboard job submission, and job status querying.<br /> - Offers troubleshooting and permission error handling tips with instructional references. </div> </div> </div> </div> <!-- 推荐技能 --> <div class="related-skills"> <h3>相关推荐</h3> <div class="skill-list-related"> <div class="skillhub-card-related"> <a href="plugin.php?id=hl_skillhub&mod=detail&slug=self-improving-agent-1776396682"> <div class="skill-icon"> <div class="default-icon">s</div> </div> <h3 class="skill-name">self-improvement</h3> <p class="skill-desc">Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Claude ('No, that's wrong...', 'Actually...'), (3) User requests a capability that doesn't exist, (4) An external API or tool fails, (5) Claude realizes its knowledge is outdated or incorrect, (6) A better approach is discovered for a recurring task. Also review learnings before major tasks.</p> <div class="skill-meta"> <span class="skill-source">AI智能</span> </div> </a> </div> <div class="skillhub-card-related"> <a href="plugin.php?id=hl_skillhub&mod=detail&slug=self-improving-agent-1776382578"> <div class="skill-icon"> <div class="default-icon">s</div> </div> <h3 class="skill-name">self-improvement</h3> <p class="skill-desc">Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Claude ('No, that's wrong...', 'Actually...'), (3) User requests a capability that doesn't exist, (4) An external API or tool fails, (5) Claude realizes its knowledge is outdated or incorrect, (6) A better approach is discovered for a recurring task. Also review learnings before major tasks.</p> <div class="skill-meta"> <span class="skill-source">AI智能</span> </div> </a> </div> <div class="skillhub-card-related"> <a href="plugin.php?id=hl_skillhub&mod=detail&slug=self-improving-agent-1776282374"> <div class="skill-icon"> <div class="default-icon">s</div> </div> <h3 class="skill-name">self-improvement</h3> <p class="skill-desc">Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Claude ('No, that's wrong...', 'Actually...'), (3) User requests a capability that doesn't exist, (4) An external API or tool fails, (5) Claude realizes its knowledge is outdated or incorrect, (6) A better approach is discovered for a recurring task. Also review learnings before major tasks.</p> <div class="skill-meta"> <span class="skill-source">AI智能</span> </div> </a> </div> <div class="skillhub-card-related"> <a href="plugin.php?id=hl_skillhub&mod=detail&slug=self-improving-agent-1776190579"> <div class="skill-icon"> <div class="default-icon">s</div> </div> <h3 class="skill-name">self-improvement</h3> <p class="skill-desc">Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Claude ('No, that's wrong...', 'Actually...'), (3) User requests a capability that doesn't exist, (4) An external API or tool fails, (5) Claude realizes its knowledge is outdated or incorrect, (6) A better approach is discovered for a recurring task. Also review learnings before major tasks.</p> <div class="skill-meta"> <span class="skill-source">AI智能</span> </div> </a> </div> </div> </div> </div> </div> <style> .skill-detail { padding: 20px 0; min-height: 100vh; } .breadcrumb { margin-bottom: 20px; color: #666; } .breadcrumb a { color: #155BD5; } .breadcrumb span { margin: 0 5px; } .skill-detail-header { display: flex; gap: 24px; padding: 30px; background: #fff; border-radius: 12px; margin-bottom: 20px; border: 1px solid #e8e8e8; } .skill-icon-large { width: 120px; height: 120px; flex-shrink: 0; } .skill-icon-large img { width: 100%; height: 100%; border-radius: 20px; object-fit: cover; } .skill-icon-large .default-icon-large { width: 100%; height: 100%; border-radius: 20px; background: #155BD5; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 48px; font-weight: bold; } .skill-info { flex: 1; } .skill-header-action { flex-shrink: 0; display: flex; align-items: center; padding-left: 20px; } .header-download-btn { display: inline-flex; align-items: center; gap: 8px; padding: 12px 24px; background: #155BD5; color: #fff; border-radius: 8px; text-decoration: none; font-size: 14px; font-weight: 500; transition: all 0.2s ease; white-space: nowrap; } .header-download-btn:hover { background: #0d4bb5; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(21, 91, 213, 0.3); } .header-download-btn.buy { background: #f97316; } .header-download-btn.buy:hover { background: #ea580c; box-shadow: 0 4px 12px rgba(249, 115, 22, 0.3); } .skill-info h1 { font-size: 36px; font-weight: 700; color: #1e293b; margin-bottom: 10px; display: flex; align-items: center; flex-wrap: wrap; gap: 12px; } .skill-info h1 .name-cn { font-size: 20px; color: #666; font-weight: 500; background: #f1f5f9; padding: 4px 14px; border-radius: 20px; white-space: nowrap; } .skill-info .skill-desc { font-size: 16px; color: #666; margin-bottom: 8px; } .skill-info .skill-scenarios { font-size: 14px; color: #999; margin-bottom: 10px; } .skill-info .skill-author { font-size: 13px; color: #999; } /* 统计面板 */ .stats-panel { display: flex; align-items: center; background: #fff; border-radius: 12px; padding: 24px 0; margin-bottom: 24px; border: 1px solid #e8e8e8; box-shadow: 0 1px 3px rgba(0,0,0,0.05); } .stats-panel .stats-item { flex: 1; text-align: center; padding: 0 16px; } .stats-panel .stats-divider { width: 1px; height: 48px; background: linear-gradient(180deg, transparent, #e8e8e8, transparent); } .stats-panel .stats-icon { width: 40px; height: 40px; margin: 0 auto 8px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 18px; background: #f1f5f9; color: #64748b; } .stats-panel .stats-icon.source-icon { background: #e0e7ff; color: #6366f1; } .stats-panel .stats-icon.version-icon { background: #fef3c7; color: #d97706; } .stats-panel .stats-icon.security-icon { background: #fee2e2; color: #9ca3af; } .stats-panel .stats-icon.security-icon.verified { background: #d1fae5; color: #10b981; } .stats-panel .stats-value { font-size: 15px; font-weight: 600; color: #374151; margin-bottom: 4px; } .stats-panel .stats-number { font-size: 24px; font-weight: 700; color: #111827; margin-bottom: 4px; line-height: 1.2; } .stats-panel .stats-label { font-size: 13px; color: #9ca3af; } .stats-panel .stats-item.highlight .stats-label { color: #6b7280; } .skill-tabs { display: flex; gap: 40px; border-bottom: 1px solid #e8e8e8; margin-bottom: 20px; } .skill-tabs .tab-item { padding: 15px 0; color: #666; cursor: pointer; border-bottom: 2px solid transparent; font-size: 16px; } .skill-tabs .tab-item.active { color: #155BD5; border-bottom-color: #155BD5; } .tab-content { background: #fff; border-radius: 12px; padding: 30px; margin-bottom: 20px; border: 1px solid #e8e8e8; opacity: 0; transform: translateY(10px); transition: all 0.3s ease; display: none; } .tab-content.active { opacity: 1; transform: translateY(0); display: block; } .lang-switcher { display: flex; gap: 8px; margin-bottom: 16px; justify-content: flex-end; } .lang-switcher .lang-btn { padding: 4px 16px; border: 1px solid #d1d5db; background: #fff; border-radius: 20px; font-size: 13px; color: #6b7280; cursor: pointer; transition: all 0.2s; } .lang-switcher .lang-btn:hover { border-color: #155BD5; color: #155BD5; } .lang-switcher .lang-btn.active { background: #155BD5; color: #fff; border-color: #155BD5; } .overview-content h3 { margin-bottom: 15px; } /* Markdown 预览样式 */ .markdown-body { line-height: 1.8; color: #333; margin-bottom: 20px; } .markdown-body h1, .markdown-body h2, .markdown-body h3, .markdown-body h4, .markdown-body h5, .markdown-body h6 { margin-top: 24px; margin-bottom: 16px; font-weight: 600; line-height: 1.25; color: #1e293b; } .markdown-body h1 { font-size: 2em; border-bottom: 1px solid #e8e8e8; padding-bottom: 8px; } .markdown-body h2 { font-size: 1.5em; border-bottom: 1px solid #e8e8e8; padding-bottom: 8px; } .markdown-body h3 { font-size: 1.25em; } .markdown-body p { margin-bottom: 16px; } .markdown-body ul, .markdown-body ol { padding-left: 2em; margin-bottom: 16px; } .markdown-body li { margin-bottom: 4px; } .markdown-body code { padding: 2px 6px; background: #f1f5f9; border-radius: 4px; font-family: 'Consolas', monospace; font-size: 0.9em; color: #155BD5; } .markdown-body pre { padding: 16px; background: #1e1e1e; border-radius: 8px; overflow-x: auto; margin-bottom: 16px; } .markdown-body pre code { background: transparent; color: #d4d4d4; padding: 0; } .markdown-body blockquote { padding: 0 1em; border-left: 4px solid #155BD5; color: #666; margin-bottom: 16px; } .markdown-body table { width: 100%; border-collapse: collapse; margin-bottom: 16px; } .markdown-body th, .markdown-body td { padding: 8px 12px; border: 1px solid #e8e8e8; } .markdown-body th { background: #f8f9fa; font-weight: 600; } .markdown-body a { color: #155BD5; text-decoration: none; } .markdown-body a:hover { text-decoration: underline; } .markdown-body img { max-width: 100%; border-radius: 8px; } .overview-content .tags { margin-top: 20px; } .overview-content .tags h4 { margin-bottom: 10px; } .overview-content .tag { display: inline-block; padding: 4px 12px; background: #f0f0f0; border-radius: 4px; margin-right: 8px; margin-bottom: 8px; font-size: 13px; } .install-panel h3 { margin-bottom: 15px; } .platform-list { margin-bottom: 20px; } .platform-tag { display: inline-block; padding: 4px 12px; background: #e3f2fd; color: #1976d2; border-radius: 4px; margin-right: 8px; font-size: 13px; } .install-method { margin-bottom: 25px; } .install-method h4 { margin-bottom: 10px; font-size: 14px; color: #666; } .code-block { position: relative; background: #1e1e1e; border-radius: 8px; padding: 16px 60px 16px 16px; } .code-block code { color: #d4d4d4; font-family: 'Consolas', monospace; font-size: 14px; } .copy-btn { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); padding: 4px 12px; background: #333; border: none; border-radius: 4px; color: #fff; cursor: pointer; font-size: 12px; } .copy-btn:hover { background: #444; } .copy-btn.copied { background: #10b981 !important; animation: copyPulse 0.3s ease; } @keyframes copyPulse { 0%, 100% { transform: translateY(-50%) scale(1); } 50% { transform: translateY(-50%) scale(1.1); } } .download-btn { display: inline-block; padding: 12px 24px; background: #155BD5; color: #fff; border-radius: 8px; text-decoration: none; font-size: 14px; } .download-btn:hover { background: #0d4bb5; } .download-info { margin-top: 10px; font-size: 13px; color: #999; } .version-list .version-item { padding: 20px 0; border-bottom: 1px solid #e8e8e8; } .version-list .version-item:last-child { border-bottom: none; } .version-header { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; } .version-header .version-number { font-size: 18px; font-weight: 600; } .version-header .latest-tag { padding: 2px 8px; background: #e8f5e9; color: #4caf50; border-radius: 4px; font-size: 12px; } .version-header .version-date { margin-left: auto; color: #999; font-size: 13px; } .changelog { color: #666; line-height: 1.6; } /* 相关推荐 */ .related-skills { margin-top: 40px; padding: 24px; background: #fff; border-radius: 12px; border: 1px solid #e8e8e8; } .related-skills h3 { margin-bottom: 20px; font-size: 18px; font-weight: 600; color: #1e293b; display: flex; align-items: center; gap: 8px; } .related-skills h3:before { content: ''; width: 4px; height: 20px; background: #155BD5; border-radius: 2px; } .skill-list-related { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 20px; } .skillhub-card-related { border-radius: 16px; padding: 20px; transition: all 0.3s ease; background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(10px); border: 1px solid rgba(0, 0, 0, 0.08); box-shadow: 0 1px 3px rgba(0,0,0,0.05), 0 4px 12px rgba(0,0,0,0.03); } .skillhub-card-related:hover { box-shadow: 0 8px 24px rgba(21, 91, 213, 0.15); transform: translateY(-4px); } .skillhub-card-related:active { transform: scale(0.98); } .skillhub-card-related a { color: inherit; text-decoration: none; } .skillhub-card-related .skill-icon { width: 56px; height: 56px; margin-bottom: 12px; } .skillhub-card-related .skill-icon .default-icon { width: 100%; height: 100%; border-radius: 12px; background: #155BD5; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 24px; font-weight: bold; } .skillhub-card-related .skill-name { font-size: 16px; font-weight: 600; margin-bottom: 8px; color: #333; } .skillhub-card-related .skill-desc { font-size: 13px; color: #666; line-height: 1.5; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; margin-bottom: 12px; min-height: 39px; } .skillhub-card-related .skill-meta { display: flex; justify-content: space-between; align-items: center; font-size: 12px; color: #999; } .skillhub-card-related .skill-meta .stats { display: flex; gap: 12px; } .skillhub-card-related .skill-source { background: #f0f0f0; padding: 2px 10px; border-radius: 12px; font-size: 12px; } @media screen and (max-width: 768px) { .skill-detail-header { flex-direction: column; text-align: center; padding: 24px 20px; } .skill-icon-large { width: 80px; height: 80px; } .skill-icon-large .default-icon-large { font-size: 32px; } .skill-info h1 { font-size: 24px; } .skill-info h1 .name-cn { font-size: 14px; padding: 2px 10px; margin-left: 0; margin-top: 6px; } .skill-header-action { padding-left: 0; padding-top: 16px; width: 100%; justify-content: center; } .header-download-btn { width: 100%; justify-content: center; max-width: 280px; } .stats-panel { flex-wrap: wrap; padding: 16px 0; } .stats-panel .stats-item { flex: 1 1 30%; min-width: 80px; padding: 12px 8px; } .stats-panel .stats-divider { width: 1px; height: 36px; } .stats-panel .stats-icon { width: 32px; height: 32px; font-size: 14px; } .stats-panel .stats-number { font-size: 18px; } .stats-panel .stats-value { font-size: 13px; } .stats-panel .stats-label { font-size: 11px; } .skill-tabs { overflow-x: auto; gap: 24px; -webkit-overflow-scrolling: touch; } .skill-tabs .tab-item { white-space: nowrap; } .code-block { padding: 16px 50px 16px 16px; } .code-block code { font-size: 12px; word-break: break-all; } } /* Paid skill notice */ .paid-notice { text-align: center; padding: 40px 24px; background: linear-gradient(135deg, #fff7ed, #ffedd5); border-radius: 12px; border: 1px solid #fed7aa; } .paid-notice-icon { width: 56px; height: 56px; margin: 0 auto 16px; background: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 28px; color: #f97316; box-shadow: 0 2px 8px rgba(249,115,22,0.15); } .paid-notice h3 { font-size: 20px; color: #9a3412; margin-bottom: 8px; } .paid-notice p { font-size: 14px; color: #c2410c; margin: 4px 0; } .paid-buy-box { padding: 20px; background: #fff7ed; border-radius: 8px; border: 1px solid #fed7aa; margin-bottom: 12px; } .paid-buy-box p { color: #7c2d12; font-size: 15px; margin: 0; }.hub-skill-id{font-size:12px;color:#60728b;overflow-wrap:anywhere;margin:6px 0} .hub-bundle-label{font-size:17px;color:#1762c4} .hub-display-note{font-size:12px;line-height:1.8;color:#60728b;margin:14px 0} .hub-parent-bundles{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:16px;background:#f1f6fd;border:1px solid #dce8f7;border-radius:10px;margin:16px 0;color:#294669} .hub-parent-bundles a{color:#1762c4;text-decoration:none;overflow-wrap:anywhere} /* SkillHub page-local mobile layout; preserve desktop widths. */ @media screen and (max-width:768px){ html,html body,html body#nv_plugin{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box} html body#nv_plugin>div:not([class]):not([id]),html body#nv_plugin .nex_plugin_reserved,html body#nv_plugin .w1240,html body#nv_plugin .clear,html body#nv_plugin #wp,html body#nv_plugin .wp,html body#nv_plugin .xs-site-shell,html body#nv_plugin .xs-main-header,html body#nv_plugin .xs-shell-width{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box} html body#nv_plugin .xs-main-header{height:auto!important} html body#nv_plugin .xs-header-row{display:flex!important;flex-wrap:wrap!important;gap:12px;padding:12px 14px!important;height:auto!important} html body#nv_plugin .xs-header-row>*{min-width:0!important;max-width:100%!important;box-sizing:border-box} html body#nv_plugin .xs-header-tools{display:flex!important;flex-wrap:wrap!important;flex:1 1 100%!important;width:100%!important;min-width:0!important;gap:8px} html body#nv_plugin .xs-header-tools>*{min-width:0!important;max-width:100%!important;box-sizing:border-box} html body#nv_plugin .xs-main-header nav{flex:1 1 100%!important;width:100%!important;min-width:0!important;max-width:100%!important;overflow-x:auto;box-sizing:border-box} html body#nv_plugin .xs-main-header input{min-width:0!important;max-width:100%!important;box-sizing:border-box} .bundle-list-shell,.bundle-detail,.skill-detail{min-width:0!important;max-width:100%!important;box-sizing:border-box} .bundle-list-page{width:calc(100% - 28px)!important;min-width:0!important;max-width:100%!important;box-sizing:border-box} .bundle-hero{padding:0 4px 20px!important;min-height:0!important}.bundle-hero h1{font-size:28px!important;line-height:1.4!important;letter-spacing:0;overflow-wrap:anywhere}.bundle-hero-desc{max-width:100%!important} .bundle-search-form{position:static!important;width:100%!important;max-width:100%!important;box-sizing:border-box}.bundle-developer-btn{position:static!important} .bundle-grid{grid-template-columns:minmax(0,1fr)!important;min-width:0!important;width:100%!important}.bundle-card,.bundle-card-link,.bundle-card-main,.bundle-card-body{min-width:0!important;max-width:100%!important;box-sizing:border-box} .bundle-card{padding:14px!important}.bundle-icon{width:80px!important;height:80px!important;flex:0 0 80px!important}.bundle-card-body{padding-right:18px!important}.bundle-name{overflow-wrap:anywhere}.bundle-category-panel{box-sizing:border-box;max-width:100%!important;gap:4px 18px!important;padding:12px 16px!important}.bundle-category-panel a{white-space:normal!important;max-width:100%;overflow-wrap:anywhere} .hub-results-toolbar,.hub-sort-form,.bundle-meta,.bundle-stats{min-width:0;max-width:100%;box-sizing:border-box;flex-wrap:wrap}.bundle-pagination{max-width:100%;overflow-wrap:anywhere} .skill-detail,.bundle-detail{width:calc(100% - 28px)!important;margin:16px auto!important}.skill-info,.bundle-info,.skill-list-content{min-width:0!important;max-width:100%;overflow-wrap:anywhere}.skill-info h1,.bundle-info h1{overflow-wrap:anywhere} .bundle-full-description,.bundle-skills-section,.overview-content,.install-panel,.version-list{padding:20px 16px!important;min-width:0;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere} .markdown-body pre,.bundle-desc-content pre,.code-block{max-width:100%;box-sizing:border-box;overflow-x:auto}.markdown-body table,.bundle-desc-content table{display:block;max-width:100%;overflow-x:auto}.markdown-body img,.bundle-desc-content img{max-width:100%;height:auto} .skill-buy-container{width:calc(100% - 28px)!important;min-width:0!important;max-width:100%!important;box-sizing:border-box;overflow-wrap:anywhere} } </style> <script> // 复制功能 function copyToClipboard(text, btn) { if (navigator.clipboard && navigator.clipboard.writeText) { navigator.clipboard.writeText(text).then(function() { showCopied(btn); }).catch(function() { fallbackCopy(text, btn); }); } else { fallbackCopy(text, btn); } } function fallbackCopy(text, btn) { var textarea = document.createElement('textarea'); textarea.value = text; textarea.style.position = 'fixed'; textarea.style.opacity = '0'; document.body.appendChild(textarea); textarea.select(); try { document.execCommand('copy'); showCopied(btn); } catch (err) { btn.textContent = '失败'; } document.body.removeChild(textarea); } function showCopied(btn) { var originalText = btn.textContent; btn.textContent = '已复制!'; btn.classList.add('copied'); setTimeout(function() { btn.textContent = originalText; btn.classList.remove('copied'); }, 2000); } // Tab 切换 document.addEventListener('DOMContentLoaded', function() { var tabItems = document.querySelectorAll('.skill-tabs .tab-item'); var tabContents = document.querySelectorAll('.tab-content'); tabItems.forEach(function(item) { item.addEventListener('click', function() { var target = this.getAttribute('data-tab'); var targetContent = document.getElementById('tab-' + target); // 移除所有 active tabItems.forEach(function(t) { t.classList.remove('active'); }); tabContents.forEach(function(c) { c.classList.remove('active'); }); // 添加 active this.classList.add('active'); // 延迟添加动画类,确保过渡效果 setTimeout(function() { targetContent.classList.add('active'); }, 50); window.location.hash = target; }); }); var hash = window.location.hash.replace('#', ''); if (hash) { var targetTab = document.querySelector('.skill-tabs .tab-item[data-tab="' + hash + '"]'); if (targetTab) { targetTab.click(); } } // 中英文描述切换 var langSwitcher = document.getElementById('langSwitcher'); if (langSwitcher) { var descEn = document.querySelector('#markdownContent .desc-en'); var descCn = document.querySelector('#markdownContent .desc-cn'); var toggleBtn = document.getElementById('langToggleBtn'); var currentLang = 'cn'; toggleBtn.addEventListener('click', function() { if (currentLang === 'en') { currentLang = 'cn'; toggleBtn.textContent = '查看原文'; if (descEn) descEn.style.display = 'none'; if (descCn) descCn.style.display = 'block'; } else { currentLang = 'en'; toggleBtn.textContent = '中文'; if (descCn) descCn.style.display = 'none'; if (descEn) descEn.style.display = 'block'; } }); } }); </script></div> <div class="wp a_f"><style id="hl-skillhub-bundle-detail-style"> #bundleDescContent > h1{text-align:center;margin-top:8px;margin-bottom:14px} #bundleDescContent > h1 + p{text-align:center;color:#155bd5;background:#eff6ff;padding:10px 14px;border-radius:6px;margin:0 auto 22px} #bundleDescContent > h2:first-of-type{text-align:center;margin-top:28px} </style></div><script src="source/plugin/hl_skillhub/static/js/main.js"></script><footer class="xs-site-footer"> <div class="xs-shell-width"> <div class="xs-footer-top"> <div class="xs-footer-intro"> <span class="xs-footer-kicker">MULTILINK GROUP · XIAN SHE</span> <h3>多链集团旗下 · 闲社网</h3> <p class="xs-footer-summary">连接智能体、工作流、提示词与专业服务,让技术能力更容易被发现、交易和持续使用。</p> <div class="xs-original-links"> <div><strong>闲社服务</strong><a href="/fuwu">定制服务</a><a href="/xueshe">闲社视频</a><a href="portal.php?mod=topic&topicid=1">会员介绍</a><a href="/huiyuan">开通会员</a></div> <div><strong>社区生态</strong><a href="forum.php">智能体论坛</a><a href="/gongzuoliu">技能自动化</a><a href="/fuwu">AI 服务市场</a><a href="forum-9-1.html">大模型社区</a></div> <div><strong>网站服务</strong><a href="https://wpa.qq.com/msgrd?v=3&uin=515151560&site=qq&menu=yes" target="_blank" rel="nofollow">会员咨询:515151560</a><a href="https://wpa.qq.com/msgrd?v=3&uin=515151570&site=qq&menu=yes" target="_blank" rel="nofollow">广告合作:515151570</a><a href="https://wpa.qq.com/msgrd?v=3&uin=515151580&site=qq&menu=yes" target="_blank" rel="nofollow">投诉建议:515151580</a><a href="https://wpa.qq.com/msgrd?v=3&uin=515151590&site=qq&menu=yes" target="_blank" rel="nofollow">售后指导:515151590</a></div> </div> </div> <div class="xs-hotline-card"><small>闲社网热线</small><strong>免费联系电话</strong><div class="xs-hotline-number">0527-80111111</div><p>服务时间<br>周一到周日 8:00-24:00</p><a href="https://wpa.qq.com/msgrd?v=3&uin=515151560&site=qq&menu=yes" target="_blank" rel="nofollow">在线联系闲社</a><div class="xs-service-promise"><i>✓</i><div><strong>问题有人答,服务有跟进</strong><span>咨询、合作与售后统一受理</span></div></div></div> <div class="xs-qr-area"><h4>关注闲社网</h4><div class="xs-qr-grid"><div class="xs-qr-item"><img src="template/xianshe/neoconex/wxkf.jpg" alt="闲社在线客服"><span>在线客服</span></div><div class="xs-qr-item"><img src="template/xianshe/neoconex/wx.jpg" alt="闲社网微信"><span>闲社微信</span></div><div class="xs-qr-item"><img src="template/xianshe/neoconex/app.png" alt="闲社网 APP"><span>闲社 APP</span></div></div><p class="xs-footer-company">公众号:闲社 · APP 下载:闲社</p><a class="xs-footer-corner-logo" href="./" aria-label="闲社首页"><img src="template/xianshe/neoconex/logo.png" alt="闲社"></a></div> </div> <div class="xs-footer-bottom"><div class="xs-footer-record"><p>闲社网 · 闲社论坛 · 智能体自动化市场 · 多链控股集团有限公司</p><p>Powered by <a href="http://www.discuz.net" target="_blank" rel="nofollow">Discuz!</a> <em>X5.0</em> · © 2024-2026 闲社网 xianshe.com</p></div><span class="xs-footer-bottom-links"><a href="archiver/" rel="nofollow">Archiver</a><a href="forum.php?mobile=yes" rel="nofollow">手机版</a><span class="xs-footer-divider">·</span><a href="https://beian.miit.gov.cn/" target="_blank" rel="nofollow">苏ICP备2025199260号-1</a></span></div> </div> </footer> <div class="xs-footer-fill" id="xsFooterFill"></div> <script src="source/plugin/xianshe_site_chrome/static/site-chrome.js?v=103" type="text/javascript"></script> <link rel="stylesheet" href="source/plugin/xianshe_site_chrome/static/auth-dialog-v1.css?v=20260928d15"> <script src="source/plugin/xianshe_site_chrome/static/auth-dialog-v1.js?v=20260918uc2" type="text/javascript"></script> <div id="scrolltop"> <span hidefocus="true"><a title="返回顶部" onclick="window.scrollTo('0','0')" class="scrolltopa"><b>返回顶部</b></a></span> </div> <script type="text/javascript">_attachEvent(window, 'scroll', function () { showTopLink(); }); checkBlind();</script> <link rel="stylesheet" type="text/css" href="source/plugin/xianshe_site_chrome/static/token-promo-20260928.css?v=8"><script src="source/plugin/xianshe_site_chrome/static/token-promo-20260928.js?v=9" type="text/javascript" type="text/javascript"></script></body> </html>