[Feature request]: Prompt 类型建议增加稳定的唯一标识(Id),便于插件可靠引用
Author: SwiftFloatFlowCreated Sep 11, 2026Updated Sep 12, 2026
Labelsenhancement
建议为 Prompt 增加稳定的唯一 Id 字段,解决重名/改名后引用失效问题
相关问题
当我想把某个提示词(Prompt)与某个外部配置做持久关联时,软件不能提供可靠的方式引用该提示词。
触发场景举例:把某个 Prompt 与一段外部配置/插件/工作流做绑定,后续希望用户在 UI 里编辑 Prompt 名称时不影响该绑定。
具体表现:
- Prompt 类型只有
Name作为标识,且不校验重名 - 复制 Prompt 后只改内容不改名,会出现两个同名 Prompt
- 重命名 Prompt 后,基于
Name建立的关联立即失效 - 若用列表索引关联,用户增删排序后全部错位
这导致任何需要"稳定引用某个 Prompt"的场景都无法可靠实现。
描述你希望的解决方案
给 Prompt 类型增加一个稳定的唯一标识字段,例如:
public class Prompt
{
public string Id { get; set; } = Guid.NewGuid().ToString("N");
public string Name { get; set; }
// 其他现有字段不变
}要求:
Id在 Prompt 创建时生成,之后永不改变- 用户可见的复制操作(例如 UI 里的"复制 Prompt")生成新的
Id - 反序列化 / 内部数据传递保留原有
Id - 重命名 Prompt 不影响
Id - 旧配置文件无
Id时,加载时自动补全(迁移)- 建议规则:按加载顺序依次生成
Guid,惰性写回(仅当用户下次保存时更新),避免启动时批量重写配置文件
- 建议规则:按加载顺序依次生成
兼容性:Id 为新增字段,不影响旧版本读取;旧版本打开新配置文件时会忽略 Id 字段。
描述你所考虑的替代方案
Prompt 编辑器校验名称唯一 —— 能缓解重名问题,但无法解决"改名后引用失效"和"按索引引用不稳定"的问题。
使用列表索引关联 —— 用户增删排序后会错位,本质上不稳定。
相比之下,引入一个不可变 Id 是改动范围最小、对现有 UI 无侵入、且长期收益最大的方案。
我确认已查询历史 issues
- 是
Source: STranslate/STranslate