忘情水会问版
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_97885b4a/mengpotang。
技能介绍
解决什么问题
utils/composer.js、data/story.js、data/relationship.js等叙事引擎文件承担「组合命中句」与「通用六层兜底」逻辑,允许改动会导致孟婆汤独白生成失败。- 上层页面(
pages/choose、pages/bottle、pages/loading)需要稳定调用compose(),但参数顺序颠倒或KEYMAP维度改动时,技能不会主动报错,容易在发布后才发现问题。 - 该技能在封装层补齐护栏与自检脚本,同时不侵入
assets/、components/等 UI 资源。
核心能力
- 保持调用契约:
composer.compose(themeLabels, userMemory),主题标签在前、用户记忆在后。 - 自动校验
KEYMAP五维、LABELMAP逆向映射和relationship.js的 20 种组合句,识别引擎是否被破坏。 - 复用
formatter.formatResult()渲染结果,并通过utils/canvas.js生成 SVG 分享卡。 - 将
selftest.js放在工程根目录运行node selftest.js,退出码为 0 即可继续发布。
关键步骤
- 从
pages/choose获取中文主题标签selectedThemes(最多 3 个,顺序保留)。 - 从
pages/bottle获取用户输入userMemory,为空时由引擎pickMemory()兜底。 - 在
pages/loading调用compose(themeLabels, userMemory),拿到composed{type, combo, memory, body, point, quote, tip}。 - 通过
storage.saveHistory(...)落库,再由结果页与分享卡页面渲染。
适用边界
- 只适合微信小程序原生工程,且必须存在
utils/composer.js和data/*.js引擎文件;纯文案生成不要使用。 - 不能修改或重构受护栏保护的引擎代码,也不能用「通用随机文案」替代原有的组合句与意境分支。
- 新增记忆标签时,需要同步扩展
KEYMAP/LABELMAP与data/六层库,不能改为通用随机池。 - 若需要重写意境、增删维度或彻底调整文案,应改用
mengpo-narrative-engine自由创作版。
使用场景
- 在微信原生工程中接入叙事引擎,需要调用 compose 获取亲情主题独白并渲染分享卡。
- 准备发布小程序更新前,运行 selftest.js 校验 KEYMAP 和 relationship 未被改坏。
- 将引擎返回的 composed 结果接入自建页面或海报组件,且不修改底层引擎源码。
- 把现有的孟婆汤调用逻辑迁移到新终端,需要保持 compose 参数顺序契约稳定。
适合人员
- 微信小程序前端开发工程师,需要在 loading 页面稳定调用 compose 引擎并渲染结果。
- 负责叙事类小程序移植的技术负责人,要求跨端复用调用逻辑且不改底层引擎源码。
- 参与小程序发版前的测试工程师,需要通过 selftest 脚本验证代码的语义完整性。