Files
memind/skills/static-page-publish/SKILL.md
T
john e2ad3bf62b feat(mindspace): 公开页分享组件、workspace 路径与 Plaza 发布增强
- 新增 public share widget 与 workspace relative path 解析
- 增强 publications/chat-plaza 发布链路与缩略图 demo
- 补充 schema、cover 检查脚本与回归测试

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-05 23:14:41 +08:00

8.1 KiB
Raw Blame History

name, description
name description
static-page-publish 在专属 MindSpace 目录生成可公开访问的静态 HTML 报告与页面(TKMind H5 通用技能)

静态页面 / 报告发布

本技能为 TKMind H5 多用户环境 的通用发布流程。安装到用户工作区后,内容会按用户替换为专属目录与公网前缀。

何时使用

  • 用户要「生成网页 / HTML 报告 / 可视化页面 / 分享链接」
  • 用户提到「放到 MindSpace」「给个能打开的链接」

规则摘要

  1. 可以用 apps__create_app 设计/预览页面,但那一步只是在 Apps 窗口内生成交互式 App,还没有公网链接;只要用户要「可访问的链接」「分享出去」,最后必须把内容 write_file 落到 public/*.html,按下方「回复格式」给出真实链接,不要停在 App 阶段就回复链接
  2. 只在当前用户工作区(会话 working_dir)内读写与搜索,从 . 开始
  3. 查找 CSV/文档时只用相对路径(如 oa/report.csv),禁止去上级目录、MindSpace 根目录、其它用户目录或主机路径搜索
  4. 读 CSV/列目录:用工作区内的 shellls oa/cat file.csv)或 tree禁止用公网 URL 代替
  5. 禁止shell / cat / heredoc / echo / cp 写入 public/*.htmlHTML 必须用 write_file / edit_file(shell 在容器内执行,公网链接会 404)
  6. 公网链接用于让用户浏览器打开已发布的 HTML,不能用来列目录或读数据文件
  7. 静态文件保存即可访问,无需重启
  8. 默认只生成 HTML;不要在没有明确需求时强制生成 Word、PDF、长图等伴生文件
  9. 只有用户明确要求 Word/PDF 等二进制下载 时:文件单独落盘(如 public/方案.docx),链接用相对路径;禁止在 HTML 内用 data:...;base64,... 嵌入 docx(易截断损坏)
  10. 只有用户明确要求长图下载时:必须先 load_skilllong-image-download,调用 generate_long_image 生成同目录 public/<页面名>.long.png,再返回长图预览与下载链接;禁止把 .thumbnail.svg 当成长图

详细约束以工作区内的 .goosehints.agents/skills/static-page-publish/SKILL.md 为准。

推荐工作流

  1. 确认需求(标题、章节、视觉风格、是否需要 hero 图)
  2. write_file 创建 public/页面.html(需要调整已有页面时用 edit_file;需要时在同目录或 assets/ 放主图)
  3. <head> 写入 mindspace-cover(必须与页面主题一致,见下文)
  4. 保存后服务端立即生成 <文件名>.thumbnail.svgAgent 交互阶段即生效)
  5. 按「回复格式」返回可点击公网链接
  6. 若用户明确要求 Word/docx 下载,必须用 generate_docxsandbox-fs 工具)生成 public/<同名>.docx,再确认链接目标已落盘
  7. 若用户明确要求长图下载,必须用 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 作为卡片封面。要产出可在信息流中直接展示的精美封面,必须:

  1. 视觉类页面(旅行、美食、活动、运动、品牌、产品、促销等)必须assets/ 放置高质量 hero 主图(建议宽度 ≥1200px),并在 cover 字段引用(如 assets/hero.jpg
  2. 纯文字报告可仅用配色 + tag,但仍须保证 accent / subtitle 与页面风格一致
  3. tagaccentaccent2subtitle 必须与页面实际视觉一致;禁止省略 mindspace-cover 或填无关默认值
  4. 若缺少 hero 主图,封面会退化为简陋默认图,视为未达标

禁止省略 mindspace-cover 或填写与页面无关的通用配色;促销/运动/品牌页必须写明 tagaccentcover

本地对比示例: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