将静态HTML、ZIP压缩包或目录发布到MyVibe。适用于发布网页内容的需求。
MyVibe Publish: publish 网页内容( HTML 文件、 ZIP 存档或目录) 到 MyVibe.
功能概述
MyVibe Publish: publish 网页内容( HTML 文件、 ZIP 存档或目录) 到 MyVibe.是一项面向实际任务的技能,主要用于Prerequists.;Node.js 18 或以后;
核心要点
- 此技能中的所有脚本执行都需要网络访问;
- 永远运行 Bash。
- 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
使用与执行
使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
结果检查与注意事项
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
MyVibe 发布
将网页内容(HTML 文件、ZIP 压缩包或目录)发布至 MyVibe。
前提条件
- Node.js 18 或更高版本
- 本技能中所有脚本执行均需网络访问权限。运行 Bash 命令时,务必添加
sandbox_permissions=require_escalated参数,以确保启用网络权限。 - 部署与截图生成可能耗时数分钟。请为发布命令设置 10 分钟(600000ms)超时。
使用方法
/myvibe:myvibe-publish --file ./dist.zip # 发布 ZIP /myvibe:myvibe-publish --file ./index.html # 发布 HTML /myvibe:myvibe-publish --dir ./dist # 发布目录 /myvibe:myvibe-publish --url https://example.com/app # 从 URL 导入并发布 /myvibe:myvibe-publish --dir ./dist --new # 强制创建新 Vibe /myvibe:myvibe-publish --dir ./dist --did z2qaXXX # 更新指定 Vibe
选项
| 选项 | 别名 | 说明 |
|---|---|---|
--file |
-f |
HTML 文件或 ZIP 压缩包路径 |
--dir |
-d |
待压缩并发布的目录路径 |
--url |
-u |
待导入并发布的 URL |
--hub |
-h |
MyVibe URL(默认值:https://www.myvibe.so/) |
--title |
-t |
项目标题 |
--desc |
项目描述 | |
--visibility |
-v |
可见性:public 或 private(默认值:public) |
--did |
Vibe DID,用于显式版本更新(覆盖自动识别) | |
--new |
强制创建新 Vibe,忽略历史发布记录 |
工作流概览
- 识别项目类型 → 若无需构建,则在后台启动截图任务
- 构建(如需)→ 构建完成后,在后台启动截图任务
- 元数据分析 → 提取标题、描述、标签
- 确认发布 → 展示元数据,获取用户确认
- 执行发布 → 脚本自动读取截图结果文件
- 返回结果 → 展示发布后的 Vibe URL
首次工具调用 —— 并行执行:
Read:读取源文件,或目录下的主文件Bash:git remote get-url origin 2>/dev/null || echo "Not a git repo"Bash:node {skill_path}/scripts/utils/fetch-tags.mjs --hub {hub}
步骤 1:识别项目类型
| 检查项 | 项目类型 | 下一步 |
|---|---|---|
--file 指向 HTML/ZIP 文件 |
单文件 | → 启动截图,随后进入步骤 3 |
存在 dist/、build/ 或 out/ 目录,且含 index.html |
预构建 | → 步骤 2(确认是否重建) |
存在含 build 脚本的 package.json,但无输出目录 |
可构建 | → 步骤 2(先构建) |
存在多个 package.json 或 workspace 配置 |
Monorepo | → 步骤 2(选择应用) |
根目录下存在 index.html,且无 package.json |
静态 | → 启动截图,随后进入步骤 3 |
针对无需构建的项目启动截图任务(run_in_background: true):
若源为目录(--dir):
node {skill_path}/scripts/utils/generate-screenshot.mjs --dir {publish_target} --hub {hub}
若源为单文件(--file):
node {skill_path}/scripts/utils/generate-screenshot.mjs --file {publish_target} --hub {hub}
重要提示:当源为单个 HTML 文件时,请使用 --file;当源为目录时,请使用 --dir。该标志必须与发布配置中的 source.type 保持一致,以确保两个脚本对截图结果文件计算出相同的哈希值。
启动截图后台任务后,请使用 TaskOutput(设置 block: false)检查任务输出,再继续后续流程。若输出中包含 "agent-browser is not installed" 或 "Chromium is not installed":
- 安装 agent-browser:
npm install -g agent-browser && agent-browser install - 重新运行截图命令(同上,run_in_background: true)
- 再次使用
TaskOutput(block: false)检查,确认其已正常运行
此举可确保截图在后台顺利完成,同时您可继续进行元数据分析。
步骤 2:构建(如需)
根据 lock 文件识别包管理器,根据 package.json 中的 scripts 字段识别构建命令。
使用 AskUserQuestion 进行确认:
- 预构建:“重建还是使用现有输出?”
- 可构建:“发布前是否构建?”
- Monorepo:“要发布哪个应用?”
构建完成后,在后台启动截图任务(检查逻辑同步骤 1:使用 TaskOutput(block: false)验证 agent-browser 是否可用;如不可用则安装;再重试),随后进入步骤 3。
步骤 3:元数据分析
提取标题
优先级顺序: → og:title → package.json 中的 name 字段 → 第一个 标签内容
生成描述(50–150 字,叙事风格)
涵盖三方面:为何(动机)→ 为何物(功能)→ 历程(可选)
信息来源:对话历史、README.md、源代码、package.json、git log
撰写指南:
- 采用自然、口语化的表达方式
- 聚焦价值与故事性,而非技术规格
- 避免泛泛而谈,例如“一个基于 React 构建的 Web 应用”
提取 githubRepo
来源为 git 远程仓库地址或 package.json 中的 repository 字段。SSH 地址需转换为 HTTPS 格式。
匹配标签
获取标签列表:node {skill_path}/scripts/utils/fetch-tags.mjs --hub {hub}
| 标签类型 | 匹配方式 |
|---|---|
| techStackTags | 将 package.json 中的依赖项与标签 slug 进行匹配 |
| platformTags | 依据对话上下文(如 Claude Code、Cursor 等)确定 |
| modelTags | 依据对话上下文(如 Claude 3.5 Sonnet、GPT-4 等)确定 |
| categoryTags | 根据项目推断(如含游戏库 → game;含图表组件 → viz) |
步骤 4:确认发布
展示元数据,并使用 AskUserQuestion 交互:
Publishing to MyVibe: ────────────────────── Title: [value] Description: [50–150 字叙事描述] GitHub: [URL 或 "Not detected"] Cover Image: [若已就绪则包含] Tags: Tech Stack: [...] | Platform: [...] | Category: [...] | Model: [...]
可选项:“Publish” / “Edit details”
步骤 5:执行发布
检查依赖项:若 scripts/node_modules 缺失,则先运行 npm install。
发布脚本将自动读取截图结果文件。请直接执行发布命令:
通过 stdin 传入配置:
node {skill_path}/scripts/publish.mjs --config-stdin <<'EOF'
{
"source": { "type": "dir", "path": "./dist", "did": "z2qaXXXX" },
"hub": "https://www.myvibe.so",
"metadata": {
"title": "My App",
"description": "Story description here",
"visibility": "public",
"githubRepo": "https://github.com/user/repo",
"platformTags": [1, 2],
"techStackTags": [3, 4],
"categoryTags": [5],
"modelTags": [6]
}
}
EOF
did为可选字段 —— 仅用于显式版本更新coverImage自动从/tmp/myvibe-screenshot-{hash}.json读取- 截图结果文件将在发布完成后自动清理
步骤 6:返回结果
发布脚本执行完毕后,请检查脚本输出 中是否包含以下消息:
成功消息
响应中必须始终包含 Vibe URL:
Published successfully! 🔗 [URL]
升级提示(重要)
当更新已有 Vibe 但未启用版本历史功能时,脚本会打印如下升级提示:
📦 Previous version overwritten. Want to keep version history?
Upgrade to Creator → {hub}/pricing
若脚本输出中包含此提示,您必须将其完整呈现在对用户的响应中。 这有助于免费版用户了解版本历史功能。
错误处理
| 错误 | 操作 |
|---|---|
| 缺少依赖项 | 在 scripts 目录下运行 npm install |
| 401/403 认证错误 | 令牌将被自动清除,请重新运行以完成授权 |
| 构建失败 | 分析错误原因,提供修复建议,或按原样发布源码 |
| 截图失败 | 跳过 coverImage,继续发布流程 |
| agent-browser 缺失 | 运行 npm install -g agent-browser && agent-browser install |
| 脚本执行失败(网络/沙箱限制) | 检查是否启用了网络权限。添加 sandbox_permissions=require_escalated 后重试 |
| Private mode 仅限 Creator 和 Studio 用户使用 | 参见下方“Private Mode 错误处理” |
Private Mode 错误处理
当使用 visibility: private 发布失败并提示“Private mode is only available for Creator and Studio users”时,请使用 AskUserQuestion 让用户选择后续操作:
问题:“私有发布需要 Creator 或 Studio 订阅。您希望如何继续?”
| 选项 | 标签 | 说明 |
|---|---|---|
| 1 | Publish as Public | 您的 Vibe 将对所有人可见。您可在升级后随时更改此设置。 |
| 2 | View Upgrade Options | 打开定价页面,查看支持私有发布的订阅方案。 |
根据用户选择执行的操作:
- 选项 1:以
visibility: "public"重新运行发布命令,并告知用户 Vibe 已设为公开 - 选项 2:展示定价 URL
{hub}/pricing,并终止当前发布流程
注意事项
- 始终分析内容以生成有意义的标题与描述 —— 切勿直接使用目录名
- 发布前务必获得用户确认
- 默认 hub:https://www.myvibe.so/
- 每次发布时均从 API 动态获取最新标签
- 发布历史记录保存于
~/.myvibe/published.yaml,用于自动版本更新 - 使用
--new可强制创建新 Vibe,而非更新已有 Vibe
热门AI工具
相关专题
本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。
0
2026.10.22
本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。
0
2026.10.22
本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。
0
2026.10.22
本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。
0
2026.10.22
本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。
0
2026.10.22
本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。
0
2026.10.22
本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。
0
2026.10.22
PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。
0
2026.10.22
热门下载
相关下载
