feat(mindspace): enforce PostgreSQL user data delivery
This commit is contained in:
+23
-2
@@ -43,10 +43,31 @@ const PAGE_DATA_INTENT_PATTERNS = [
|
||||
/(?:页面|网页|H5|h5).{0,80}(?:每天|每日|新增|添加|填写|记录).{0,80}(?:所有记录|历史记录|管理|汇总|统计)/u,
|
||||
];
|
||||
|
||||
const INTERACTIVE_PAGE_DATA_SUBJECT_PATTERN = /(?:便签|便利贴|备忘录|待办|清单)/u;
|
||||
const INTERACTIVE_PAGE_DATA_SURFACE_PATTERN = /(?:应用|app|页面|网页|H5|h5|HTML|html|时间轴|看板)/u;
|
||||
const INTERACTIVE_PAGE_DATA_FEATURE_PATTERNS = [
|
||||
/(?:写|填写|提交|保存)/u,
|
||||
/(?:添加|新增|创建)/u,
|
||||
/(?:编辑|修改)/u,
|
||||
/(?:删除|完成)/u,
|
||||
/(?:筛选|统计|汇总|管理)/u,
|
||||
/(?:提醒时间|优先级|分类标签|时间轴)/u,
|
||||
];
|
||||
|
||||
function isInteractivePageDataIntent(text) {
|
||||
if (!INTERACTIVE_PAGE_DATA_SUBJECT_PATTERN.test(text)) return false;
|
||||
const featureCount = INTERACTIVE_PAGE_DATA_FEATURE_PATTERNS.reduce(
|
||||
(count, pattern) => count + (pattern.test(text) ? 1 : 0),
|
||||
0,
|
||||
);
|
||||
return INTERACTIVE_PAGE_DATA_SURFACE_PATTERN.test(text) || featureCount >= 2;
|
||||
}
|
||||
|
||||
export function isPageDataIntent(text) {
|
||||
const normalized = String(text ?? '').trim();
|
||||
if (!normalized) return false;
|
||||
return PAGE_DATA_INTENT_PATTERNS.some((pattern) => pattern.test(normalized));
|
||||
return PAGE_DATA_INTENT_PATTERNS.some((pattern) => pattern.test(normalized))
|
||||
|| isInteractivePageDataIntent(normalized);
|
||||
}
|
||||
|
||||
export function isPageGenerationIntent(text) {
|
||||
@@ -161,7 +182,7 @@ export function buildChatSkillPrompt(promptKey, skillName) {
|
||||
`请使用 ${skillName ?? PAGE_DATA_COLLECT_SKILL_NAME} 技能:在 MindSpace 页面中实现可提交、可持久化的数据收集(问卷/报名/台账等),必须使用 Page Data API。` +
|
||||
'先匹配技能内能力分支(默认 A:匿名前台 public insert + 独立后台 password read,口令默认 88888888);“帮我做/创建”本身就是创建授权,展示简短方案摘要后必须同一轮继续执行,只有互斥需求或非法口令才追问。' +
|
||||
'流程:load_skill → private_data_execute 建表 → private_data_register_dataset → write_file/edit_file 写 public/*.html(含 /assets/page-data-client.js)→ private_data_bind_workspace_page 发布并写策略。' +
|
||||
'禁止 localStorage / 浏览器本地存储 fallback;禁止自建 Express/独立端口(如 8899)、禁止 HTML 硬编码 127.0.0.1 API、禁止连续空转不调用工具。HTML 视觉规范参照 static-page-publish。完成后只返回 workspaceUrl(/MindSpace/<用户ID>/public/...),禁止给用户 /u/用户名/pages/... 链接,并说明后台入口与口令。'
|
||||
'当前 session 的 private_data_* 已绑定当前用户专属 PostgreSQL schema;所有需保存或再次读取的数据必须走 PG + Page Data API。禁止 localStorage、sessionStorage、IndexedDB、SQLite、静态 JSON/JS 或内存持久化 fallback;禁止自建 Express/独立端口(如 8899)、禁止 HTML 硬编码 127.0.0.1 API、禁止连续空转不调用工具。HTML 视觉规范参照 static-page-publish。完成后只返回 workspaceUrl(/MindSpace/<用户ID>/public/...),禁止给用户 /u/用户名/pages/... 链接,并说明后台入口与口令。'
|
||||
);
|
||||
case 'service-integration-smoke':
|
||||
return `请使用 ${skillName ?? 'service-integration-smoke'} 技能:按标准联调流程检查当前服务,覆盖身份、普通聊天、记忆读取,以及我本轮明确要求验证的技能/发布链路,并输出通过项、失败项、待确认项:`;
|
||||
|
||||
Reference in New Issue
Block a user