Document local MindSpace delivery links and block production URLs in dev.

Agents must deliver public pages via Portal 8081 with /MindSpace/<userId>/public/ paths; forbid mindspace.tkmind.cn and bare 5173/public links during local development.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
john
2026-09-02 14:51:41 +08:00
parent 49758568bb
commit eb0c697c4e
4 changed files with 43 additions and 3 deletions
@@ -0,0 +1,31 @@
---
description: MindSpace 页面本地交付链接必须用 8081 Portal + /MindSpace/ 路径,禁止生产域名
globs: skills/**/*.md,chat-skills.mjs,page-template-enforcement.mjs,user-publish.mjs
alwaysApply: false
---
# MindSpace 本地交付链接
用户在本机开发(`pnpm dev`、5173/8081)时,向用户交付的公开页链接必须符合以下规则。
## 必须(本地)
- 主链接:`http://127.0.0.1:8081/MindSpace/<用户ID>/public/<页面>.html`
- Page Data API 与 bind 走 Portal **8081**,不是 Vite 5173
- 可选(5173 代理):`http://127.0.0.1:5173/MindSpace/<用户ID>/public/<页面>.html`
## 禁止(本地 dev 时)
- `https://mindspace.tkmind.cn/...` — 生产短链域名
- `https://m.tkmind.cn/...` — 除非用户**明确要求**生产链接
- `http://127.0.0.1:5173/public/...` — 缺少 `/MindSpace/<用户ID>/`
- `http://127.0.0.1:8081/public/...` — 缺少 `/MindSpace/<用户ID>/`
## 示例(用户 `1c99b83b-0454-474f-a5d2-129d34506a32`
```markdown
[行程清单](http://127.0.0.1:8081/MindSpace/1c99b83b-0454-474f-a5d2-129d34506a32/public/trip-itinerary.html)
[后台管理](http://127.0.0.1:8081/MindSpace/1c99b83b-0454-474f-a5d2-129d34506a32/public/trip-itinerary-admin.html)
```
详见 `skills/static-page-publish/SKILL.md` 与 `skills/page-data-collect/SKILL.md` 的「回复格式」节。
+7 -1
View File
@@ -1,10 +1,16 @@
// Keep browser-safe: do not import user-publish.mjs (uses node:fs/path/url).
import { shouldUseScheduledTaskAutomation } from './scheduled-task-intent.mjs';
const MINDSPACE_DELIVERY_LINK_RULE =
'本地开发交付必须用 http://127.0.0.1:8081/MindSpace/<用户ID>/public/...Page Data API 走 Portal 8081);' +
'可选经 5173 代理:http://127.0.0.1:5173/MindSpace/<用户ID>/public/...' +
'禁止 https://mindspace.tkmind.cn/、https://m.tkmind.cn/(除非用户明确要求生产链接)、' +
'禁止 http://127.0.0.1:5173/public/...、禁止省略 /MindSpace/<用户ID>/ 前缀。';
const PAGE_TEMPLATE_PROMPT_SUFFIX =
'【硬性要求】必须先 load_skill 并 read_file 官方 templates/*.html,仅替换 {{PLACEHOLDER}}' +
'禁止修改 <style> 结构或新增模板外 CSS 类;正文内容只能填入占位符 HTML 片段。' +
'交付链接必须含 /MindSpace/<用户ID>/public/...,禁止 http://127.0.0.1:5173/public/...。';
MINDSPACE_DELIVERY_LINK_RULE;
const PUBLISH_SKILL_NAME = 'static-page-publish';
export const PAGE_DATA_COLLECT_SKILL_NAME = 'page-data-collect';
+3 -2
View File
@@ -275,6 +275,7 @@ await client.deleteRow('dataset_name', rowId);
| **本地开发** | `http://127.0.0.1:8081/MindSpace/<用户ID>/public/xxx.html`Page Data API 走 Portal 80815173 仅 UI 预览) |
| **生产** | `https://m.tkmind.cn/MindSpace/<用户ID>/public/xxx.html` |
- **本地开发禁止**使用 `https://mindspace.tkmind.cn/...``https://m.tkmind.cn/...` 作为交付链接(即使用户在本机浏览器验收)。
- **禁止**交付占位 host(如 `http://本地服务/...`);聊天展示层不得把 `127.0.0.1:8081` 替换成不可点击文字。
- `/u/用户名/pages/...` 仅作补充,用户可见主链接必须是 MindSpace `/public/` 路径。
- bind 会同步工作区 HTML 到发布快照,但禁止先发布占位内容再补文件。
@@ -347,7 +348,7 @@ await client.deleteRow('dataset_name', rowId);
4. 通过 Portal 打开 `deliveryUrl` 时,页面源码含 `__MINDSPACE_PAGE_DATA__`
5. HTML 含 `page-data-client.js`;已 bind 或发布后平台会注入 pageId
6. HTML **不含**硬编码 `127.0.0.1:` 作为 API 基址;不含 `/api/survey/``PLACEHOLDER_PAGE_ID`
7. 本地交付链接使用 `http://127.0.0.1:8081/MindSpace/...`;生产使用 `https://m.tkmind.cn/MindSpace/...`;禁止 `http://本地服务/...`
7. 本地交付链接使用 `http://127.0.0.1:8081/MindSpace/...`;生产使用 `https://m.tkmind.cn/MindSpace/...`**本地禁止** `mindspace.tkmind.cn` / `m.tkmind.cn`禁止 `http://本地服务/...`
8. 向用户说明:访客如何提交、管理员如何用口令查看记录
9. HTML 未调用 `softDeleteRows` / `deleteRows` 等客户端不存在的方法;删除使用 `deleteRow(dataset, rowId)`
10. 若 bind 报 `quota_exceeded``overQuota: true`,停止交付并提示清理空间;grace 仅适用于「当次写完、尚未超配额」场景
@@ -356,6 +357,6 @@ await client.deleteRow('dataset_name', rowId);
除数据能力外,优先返回 **deliveryUrl / workspaceUrl** 的 Markdown 链接 `[标题](完整URL)`,并简要说明后台入口与口令(如有)。
- 本地:`http://127.0.0.1:8081/MindSpace/<用户ID>/public/xxx.html`
- 本地:`http://127.0.0.1:8081/MindSpace/<用户ID>/public/xxx.html`**禁止** `https://mindspace.tkmind.cn/...`
- 生产:`https://m.tkmind.cn/MindSpace/<用户ID>/public/xxx.html`
- 必须附带 bind 返回的 `pageId`(UUID),便于用户在「页面数据」面板排查
+2
View File
@@ -80,6 +80,8 @@ description: 在专属 MindSpace 目录生成可公开访问的静态 HTML 报
- **本地开发(经 5173 UI 代理)**:`http://127.0.0.1:5173/MindSpace/<用户ID>/public/...`5173 会把 `/MindSpace` 转发到 Portal**不是** `5173/public/...`
- **生产**`https://m.tkmind.cn/MindSpace/<用户ID>/public/...` 或环境配置的 `H5_PUBLIC_BASE_URL`
- **禁止的错误交付链接(anti-pattern**
-`https://mindspace.tkmind.cn/<用户ID>/public/xxx.html` — 生产域名;**本地开发禁止**(即使用户在本机验收)
-`https://m.tkmind.cn/...` — 生产域名;本地 dev 禁止,除非用户明确要求「生产链接」
-`http://127.0.0.1:5173/public/xxx.html` — 5173 是 Vite SPA,不托管工作区 `public/`,会回退 `index.html`
-`http://127.0.0.1:8081/public/xxx.html` — 缺少 `/MindSpace/<用户ID>/`
- ❌ 把磁盘路径 `public/xxx.html` 直接拼到任意 host 后面