- 新增 public share widget 与 workspace relative path 解析 - 增强 publications/chat-plaza 发布链路与缩略图 demo - 补充 schema、cover 检查脚本与回归测试 Co-authored-by: Cursor <cursoragent@cursor.com>
8.1 KiB
name, description
| name | description |
|---|---|
| static-page-publish | 在专属 MindSpace 目录生成可公开访问的静态 HTML 报告与页面(TKMind H5 通用技能) |
静态页面 / 报告发布
本技能为 TKMind H5 多用户环境 的通用发布流程。安装到用户工作区后,内容会按用户替换为专属目录与公网前缀。
何时使用
- 用户要「生成网页 / HTML 报告 / 可视化页面 / 分享链接」
- 用户提到「放到 MindSpace」「给个能打开的链接」
规则摘要
- 可以用
apps__create_app设计/预览页面,但那一步只是在 Apps 窗口内生成交互式 App,还没有公网链接;只要用户要「可访问的链接」「分享出去」,最后必须把内容write_file落到public/*.html,按下方「回复格式」给出真实链接,不要停在 App 阶段就回复链接 - 只在当前用户工作区(会话
working_dir)内读写与搜索,从.开始 - 查找 CSV/文档时只用相对路径(如
oa/report.csv),禁止去上级目录、MindSpace 根目录、其它用户目录或主机路径搜索 - 读 CSV/列目录:用工作区内的
shell(ls oa/、cat file.csv)或tree;禁止用公网 URL 代替 - 禁止用
shell/cat/heredoc/echo/cp写入public/*.html;HTML 必须用write_file/edit_file(shell 在容器内执行,公网链接会 404) - 公网链接仅用于让用户浏览器打开已发布的 HTML,不能用来列目录或读数据文件
- 静态文件保存即可访问,无需重启
- 默认只生成 HTML;不要在没有明确需求时强制生成 Word、PDF、长图等伴生文件
- 只有用户明确要求 Word/PDF 等二进制下载 时:文件单独落盘(如
public/方案.docx),链接用相对路径;禁止在 HTML 内用data:...;base64,...嵌入 docx(易截断损坏) - 只有用户明确要求长图下载时:必须先
load_skill→long-image-download,调用generate_long_image生成同目录public/<页面名>.long.png,再返回长图预览与下载链接;禁止把.thumbnail.svg当成长图
详细约束以工作区内的 .goosehints 与 .agents/skills/static-page-publish/SKILL.md 为准。
推荐工作流
- 确认需求(标题、章节、视觉风格、是否需要 hero 图)
write_file创建public/页面.html(需要调整已有页面时用edit_file;需要时在同目录或assets/放主图)- 在
<head>写入 mindspace-cover(必须与页面主题一致,见下文) - 保存后服务端立即生成
<文件名>.thumbnail.svg(Agent 交互阶段即生效) - 按「回复格式」返回可点击公网链接
- 若用户明确要求 Word/docx 下载,必须用
generate_docx(sandbox-fs 工具)生成public/<同名>.docx,再确认链接目标已落盘 - 若用户明确要求长图下载,必须用
long-image-download生成public/<同名>.long.png,并确认文件存在
按需伴生下载文件
- 默认不生成伴生文件;只有用户明确要求下载附件时才生成
<a href="report.docx" download>等相对下载链接,目标文件必须已在 HTML 同目录或子目录- 推荐
public/report.html+public/report.docx;禁止 HTML 链接名与磁盘文件名不一致 - 生成 Word 时必须调用 sandbox-fs 的
generate_docx;禁止用computercontroller/ shell 生成生产下载文件作为交付依据 - 从
oa/引用文档时,先 复制 到public/再写链接 - 交付前
list_dir public/自检;可跑npm run check:mindspace-public-links
回复格式(必须)
向用户交付页面时,必须使用 Markdown 可点击链接:
[马来西亚旅游攻略](https://goo.tkmind.cn/MindSpace/<用户ID>/public/malaysia-travel-guide.html)
要求:
- 必须使用
[页面标题](完整URL),不要只给裸 URL 或「点这里」 - 页面写入
public/时,URL 必须包含/public/路径段(与磁盘路径一致) - 域名严格按本节模板拼接(
https://goo.tkmind.cn/MindSpace/<用户ID>/public/...);拿不到真实前缀时,先给相对路径public/xxx.html说明,不要自己猜一个域名 - 标题用页面真实主题名
- 可同时给出相对路径(如
public/malaysia-travel-guide.html) - 说明:保存即生效,无需重启
- 若生成了长图,同时给
[长图预览](.../public/malaysia-travel-guide.long.png)和[下载长图](.../public/malaysia-travel-guide.html?download=long-image)
信息流预览图(必须)
每个 HTML 必须在 <head> 包含与页面主题一致的元数据。系统据此生成 精美的 3:4 信息流封面(工作区 *.thumbnail.svg +「我的空间」卡片 + 保存弹窗预览):
<meta name="description" content="一句话摘要,显示在预览图副标题">
<meta name="mindspace-cover" content='{"tag":"旅行","emoji":"🇲🇾","accent":"#ff6b35","accent2":"#24243e","subtitle":"马来西亚深度游","cover":"assets/hero.jpg"}'>
| 字段 | 要求 |
|---|---|
tag |
与主题一致:旅行 / 美食 / 报告 / 运动 / 活动 等 |
accent / accent2 |
页面主色,与 hero/背景 CSS 一致 |
subtitle |
一句话卖点;未写时用 description |
cover / image |
必须指向高质量主图(相对 HTML 或 https://);见下文 |
emoji |
可选;也可写在 title 中 |
精美预览图(必须达标)
保存 HTML 后,系统会立即生成 <文件名>.thumbnail.svg 作为卡片封面。要产出可在信息流中直接展示的精美封面,必须:
- 视觉类页面(旅行、美食、活动、运动、品牌、产品、促销等)必须在
assets/放置高质量 hero 主图(建议宽度 ≥1200px),并在cover字段引用(如assets/hero.jpg) - 纯文字报告可仅用配色 + tag,但仍须保证
accent/subtitle与页面风格一致 tag、accent、accent2、subtitle必须与页面实际视觉一致;禁止省略 mindspace-cover 或填无关默认值- 若缺少 hero 主图,封面会退化为简陋默认图,视为未达标
禁止省略 mindspace-cover 或填写与页面无关的通用配色;促销/运动/品牌页必须写明 tag、accent 和 cover。
本地对比示例:npm run demo:thumbnails → /thumbnail-demo/(左侧缺 cover vs 右侧方案 A)
交付前自检(必须)
写完 public/*.html 后,必须运行 cover 合规检查;有 error 则补全元数据后再交付链接:
npm run check:mindspace-cover
# 或指定用户:node scripts/check-mindspace-cover.mjs --user <uuid>
| 检查项 | 级别 | 说明 |
|---|---|---|
mindspace-cover meta |
error | 缺失则缩略图为默认绿色渐变 |
description |
error | 副标题来源 |
cover raster 主图 |
warn | 缺失则无法生成照片封面 |
tag / accent / subtitle |
warn | 影响分类与配色 |
| 平台品牌页脚 | warn | 分享与编辑规范 |
视觉类页面若有 warn missing_cover_image,视为封面未达标,必须补 hero 图后再回复用户。
平台页脚标记(必须)
页脚平台品牌行必须使用 data-mindspace-page-tag="platform-brand",显示为 TKMind · 智趣,禁止使用邮箱或 tkmind.ai:
<p data-mindspace-page-tag="platform-brand">TKMind · 智趣</p>
带 data-mindspace-page-tag 的区域为平台固定信息:用户在编辑模式中不可见、不可改;预览与发布后正常显示。禁止把该行 CSS 透明度设过低(如 opacity: 0.25),否则页内看不见品牌。
按需附带文件下载(Word / PDF)
- 只有用户明确要求 Word / PDF 下载时才生成二进制文件
- 二进制文件用
docx-generate脚本或平台允许的方式单独生成,保存到public/(或oa/再复制到public/) - 下载按钮示例:
<a href="report.docx" download>下载文档</a>(与 HTML 同目录时用文件名即可) - 禁止
<a href="data:application/vnd...;base64,...">内嵌 docx/pdf