跳到主要内容

通知播报规则

公开参考​

2026-10-24 搜索并阅读以下平台的公开章节,提炼系统流网文的通用表达,不复制剧情或长段原文:

两者共同特征是:短提示音引出状态变化、直接称呼宿主、先报告结果再给出下一步、用分段标签组织信息。本项目采用这些题材惯例,保留冷静、简洁的语气。

2026-10-26 再次读取上述公开章节,分别核对“叮 / 宿主 / 检测 / 激活”及任务触发的短提示写法。口播采用“提示音 + 事件对象 + 已发生的结果”;属性说明和奖励明细继续留在界面。没有逐句复制剧情,也不通过额外推理生成台词。

项目中的表达​

新绑定、签到结算、商城兑换和成就后续完成使用“叮——”开头;普通查询使用 【宿主状态】、【物品检索】、【任务手册】 等标签;错误直接说明真实限制。每次只给必要的结果与后续入口,不增加冗长旁白。

例如:

叮——系统绑定成功,宿主权限已开启。

【宿主状态】检测结果如下。

叮——今日签到结算完成,奖励已记入收件箱。

【兑换确认】宿主,请核对商品与价格,选择确认后才会扣款。

【材料不足】主背包中符合价格模板的材料不足;物品类型和组件必须一致。

文案不引入未实现的等级、稀有度、战力、惩罚、强制任务或初次绑定礼包。奖励入账、背包交付和 FTB 领取处理继续使用各自的真实状态;未知结果不会改写成成功。

简短口播​

speech/tts/SpeechText 统一生成界面与 HUD 的朗读文本,使用 system.tts.message.* 双语模板。例如任务名为“初探矿洞”时:

  • 完成:叮!恭喜宿主,任务「初探矿洞」已完成。
  • 解锁:叮!新任务「初探矿洞」已解锁。
  • 展开详情:宿主,任务「初探矿洞」的详情已展开。

事件仅提取名称,不朗读章节、任务说明、ID、进度和奖励字段;没有名称时只报告事件。普通回复朗读主文案与自定义正文,卡片内容不进入口播。绑定检测步骤和完整指令列表仍可见,语音分别只说绑定结果和“指令手册已展开”。任务完成只报告完成,不承诺奖励到账或自动领取。

提示词位置与边界​

  • 默认模型提示词位于 src/main/resources/data/system/system/prompts/ 下的 routing.txt、sign_in.txt 和 quest_narration.txt,可用数据包同路径覆盖并 /reload,由服务端 PromptReloadListener 加载 UTF-8 文本。任务口播只整理无法直接格式化的片段,要求保留事实、数量及限制,结果通过 Codec 验证并按内容缓存,不生成工具调用。
  • data/prompt/SystemPrompts 保存每服不可变模板快照,PromptTemplate 执行单次 {{name}} 替换。{{player_language}} 自动注入;路由额外提供必需的 {{capabilities}} JSON。模板限制、扩展参数与失败重载行为见提示词模板。
  • 路由提示词仅允许返回一个模块与输入 JSON,不输出故事、台词或思考过程。本地候选分数只是提示,不能替代原文或授权;歧义返回 clarify,由代码生成只读选项。注册目录和每模块预算不因语气调整而扩张。
  • 每次模型调用由执行上下文注入 requestContext.playerLanguage,来源为 Minecraft 已同步的客户端语言,无额外客户端语言包。
  • 签到提示词从已批准候选中选一个 ID,reason 用玩家语言写一句简短的系统补给说明。中文称“宿主”,英文称“Host”;理由只使用当前快照支持的信息。
  • 模型不能改物品数量、奖励 ID 或凭文案宣布入账;签到结算通知由代码在业务成功后选择双语模板。
  • web_search.txt 要求从网页提炼相关事实、合并重复内容,先给结论,再给必要的短要点;不复述网页全文、导航、广告、检索过程或来源列表。仅正文携带引用编号,来源标题、链接与摘要在客户端折叠区展示,TTS 只读回答。
  • 明确短语与 /player、/shop 等指令由模块统一声明的 CommandRegistry 直接分派,不消耗路由模型调用;签到仍保留其必要的一次奖励选择调用。
  • GUI 的模式、隐私设置与编号选择由客户端明确解析;编号只映射当前回复的代码动作,不把任何模型文本当成可执行指令。

固定模板位于 assets/system/lang/zh_cn.json 与 en_us.json,键集合一致。新增通知同时更新两种语言。绑定提示只在管理员 grant 成功落盘后显示;revoke 成功通知只在玩家文件已删除后显示。