[Feature request]: Prompt 类型建议增加稳定的唯一标识(Id),便于插件可靠引用

Author: SwiftFloatFlowCreated Sep 11, 2026Updated Sep 12, 2026
Labelsenhancement

建议为 Prompt 增加稳定的唯一 Id 字段,解决重名/改名后引用失效问题

相关问题

当我想把某个提示词(Prompt)与某个外部配置做持久关联时,软件不能提供可靠的方式引用该提示词。

触发场景举例:把某个 Prompt 与一段外部配置/插件/工作流做绑定,后续希望用户在 UI 里编辑 Prompt 名称时不影响该绑定。

具体表现:

  1. Prompt 类型只有 Name 作为标识,且不校验重名
  2. 复制 Prompt 后只改内容不改名,会出现两个同名 Prompt
  3. 重命名 Prompt 后,基于 Name 建立的关联立即失效
  4. 若用列表索引关联,用户增删排序后全部错位

这导致任何需要"稳定引用某个 Prompt"的场景都无法可靠实现。

描述你希望的解决方案

Prompt 类型增加一个稳定的唯一标识字段,例如:

csharp
public class Prompt
{
    public string Id { get; set; } = Guid.NewGuid().ToString("N");
    public string Name { get; set; }
    // 其他现有字段不变
}

要求:

  1. Id 在 Prompt 创建时生成,之后永不改变
  2. 用户可见的复制操作(例如 UI 里的"复制 Prompt")生成新的 Id
  3. 反序列化 / 内部数据传递保留原有 Id
  4. 重命名 Prompt 不影响 Id
  5. 旧配置文件无 Id 时,加载时自动补全(迁移)
    • 建议规则:按加载顺序依次生成 Guid,惰性写回(仅当用户下次保存时更新),避免启动时批量重写配置文件

兼容性Id 为新增字段,不影响旧版本读取;旧版本打开新配置文件时会忽略 Id 字段。

描述你所考虑的替代方案

  1. Prompt 编辑器校验名称唯一 —— 能缓解重名问题,但无法解决"改名后引用失效"和"按索引引用不稳定"的问题。

  2. 使用列表索引关联 —— 用户增删排序后会错位,本质上不稳定。

相比之下,引入一个不可变 Id 是改动范围最小、对现有 UI 无侵入、且长期收益最大的方案。

我确认已查询历史 issues