实体引用与 @

引用与联动

实体引用与 @

一条引用记的是稳定身份:正文用右键连接,长文本用 @,自动识别只是淡提示。

一条引用里记了什么

全项目只有一套引用语法:一条引用保存协议版本、作用域、对象类型、稳定 ID 和显示文字。所以"指向谁"这件事在剧本、设定、时间线、伏笔和智能体对话里都是同一个答案,你不需要记五种页面的五种写法。

对象改名后引用仍指向原来那张卡;同名对象靠类型和稳定 ID 区分,别名只帮助搜索,不充当身份。项目里同时有人物"月华"和设定"月华"时,候选会显示成不同类型,选错不了。

什么时候值得连一条

当一段文字说的确实是项目里已存在的某张卡时。引用的价值不是把词染成颜色,而是让人和 AI 都知道"这里说的是哪一张卡"——续写时它能被准确装配,统计时它能被正确归属,回看时点一下就跳到那张卡。反过来,只是提一嘴、还没建档的东西不必连,也不必为了页面好看去连。

在正文里:右键「连接到…」

拖选一段文字后点右键。菜单上半是改写 / 扩写 / 缩写 / 润色与一句补充要求,下半是「连接到…」:搜索框里输关键词,可搜到项目全部内容——人物、地点、道具、设定、章节、场次、时空、正文行、时间线、伏笔和模块首页。没有可链接内容时会显示「暂无可链接内容」,输了没命中显示「没有匹配内容」。

你已确认要新建档案时,候选里会有「+ 新建人物“…”并连接」「+ 新建道具“…”并连接」这类明确选项——它是显式动作,不是系统猜的。

在长文本里:@ 的两条路径

  1. 两级选择
    在设定描述、伏笔备注、时间线说明等长文本区输入 @,先选类别(人物 / 地点与地图 / 道具 / 设定 / 剧本结构 / 时间线 / 伏笔 / 模块入口),再在类别里选具体内容。类别内不截断候选,可以滚动看完并继续输入过滤。
  2. 直接搜
    已经知道名字时,直接输入 @关键词 跨类型搜索,省掉一级选择。两条路径最终写入的是同一种稳定引用。
  3. 原位显示
    选中后引用立刻在原位变成可识别标签,点击跳到那张卡;不再另开一个下方预览框。

搜索同时匹配正式名称和别名,完全命中优先于前缀和包含命中。名称与所在路径分开匹配,所以搜场次名不会把这一场里的每一行正文都列成结果。

连上之后会发生什么

  • 剧本里的人物、道具、地点连接继续参与既有出场与使用识别;其他目标是信息型连接,只负责跳转和给 AI 当上下文,不会反向改写目标模块。
  • 引用不会自动创建不存在的资料;也不会因为建立引用就把设定注入到 AI 上下文里——模块首页的引用只代表导航。
  • 引用本身不授予任何写入权:AI 的写动作仍要过确认卡。

自动识别不等于正式引用

编辑器会在正文里认出人物、地点、道具、设定的名字,但只给很淡的点状提示,hover 时有比选区更浅的底色,点击也不会直接打开详情。人物与道具的提示点上去会出现「转为关联」——你确认后这段文字才变成真正的引用。角色行不参与这层识别,它本身已经指明了说话人。

只有已经连上的引用参与统计与 AI 装配;淡提示只帮你看见"这里好像提到过"。

限制与排错

  • 旧的 [[名称]] 与旧剧本人物 / 道具写法仍可读取;旧名称只对应一个对象时正常显示,出现同名多义时标为歧义而不是静默选第一个,找不到则标为失效。
  • 对象被删除后,引用保留原显示文字,不会拿别的内容冒充当前资料。
  • 首期不支持跨项目引用;想跨项目搬运请用项目包导出导入。
  • 在输入框里按 Tab 不会打开剧本的类型菜单——那是原生输入行为。

联动方向与副作用见 跨模块联动。