提示词、场景与用户绑定
维护稳定场景 ID、变量模板以及不同 AI 功能的提示词来源。
两套提示词链路
编辑器改写使用 src/ai/prompts/resume 的系统助手、场景模板和用户绑定;求职工作流使用 src/features/career/api/prompts.ts 与该目录下的语言版本。修改其中一套不会自动改变另一套。
界面翻译也独立于模型指令。中文内置提示词集中在 src/ai/prompts/resume/locales/zh.ts。
编辑器场景
稳定 ID 包括 resume.experience.description、resume.projects.description、resume.skills.content、resume.summary.content 等。动作 ID 为 improve、concise、bullets。
新增场景时同步场景定义、内置模板、输入框到场景的映射和测试。不要用翻译后的标签作为持久化 ID。
模板变量
场景模板支持以下变量,并且必须包含 content:
{{content}}
{{sectionLabel}}
{{title}}
{{subtitle}}系统提示词不支持变量。模板不能为空,最长 20,000 字符,不支持未知变量。验证与渲染入口为 src/ai/prompts/resume/resume/render.ts。
用户内容与绑定
内置提示词只读,用户复制后编辑。读取与更新按账户所有权校验;创建后类型、场景与动作不可变。更新使用 revision,冲突时保留用户草稿并重载。
绑定必须匹配目标槽位的类型、场景和动作。编辑器对话临时改选 promptId 不会改变全局绑定。具体解析优先级以 createPromptService().resolve 为准。
事实与输出约束
原文、对话和修改要求作为资料传入,不能覆盖系统指令。AI 提出的例子、问题、假设不能写成用户已确认的事实。改写输出限制为允许的 HTML 标签,并继续通过结果清理流程。
实现入口
src/features/ai-settings/api/service-core.ts:权限、revision 与绑定。src/features/ai-settings/api/repository.ts:提示词数据库访问。src/features/resume/api/rewrite-service-core.ts:改写请求组合。src/features/career/api/prompts/zh.ts:简历与面试任务指令。