feat: 完整 Prompt 配置页 - 全部 6 个 prompt 可自定义

- panel.html: 6 个折叠式 textarea(提取/召回/进化/压缩/概要/反思)
- style.css: details/summary 折叠组样式
- panel.js: 全部 6 个 prompt 双向数据绑定
- index.js: 所有调用点传入 customPrompt
- extractor.js / retriever.js / evolution.js / compressor.js: 接受并使用自定义 prompt
- 留空时走内置默认 prompt,完全向后兼容
This commit is contained in:
Youzini-afk
2026-03-24 17:21:40 +08:00
parent 963e4f3b7b
commit 58304e7253
8 changed files with 106 additions and 18 deletions

View File

@@ -617,7 +617,7 @@ async function mem0ConflictCheck(
* @param {number} params.currentSeq
* @returns {Promise<void>}
*/
export async function generateSynopsis({ graph, schema, currentSeq }) {
export async function generateSynopsis({ graph, schema, currentSeq, customPrompt }) {
const eventNodes = getActiveNodes(graph, "event").sort(
(a, b) => a.seq - b.seq,
);
@@ -639,7 +639,7 @@ export async function generateSynopsis({ graph, schema, currentSeq }) {
.join("; ");
const result = await callLLMForJSON({
systemPrompt: [
systemPrompt: customPrompt || [
"你是故事概要生成器。根据事件线、角色和主线生成简洁的前情提要。",
'输出 JSON{"summary": "前情提要文本200字以内"}',
"要求:涵盖核心冲突、关键转折、主要角色当前状态。",
@@ -686,7 +686,7 @@ export async function generateSynopsis({ graph, schema, currentSeq }) {
}
}
export async function generateReflection({ graph, currentSeq }) {
export async function generateReflection({ graph, currentSeq, customPrompt }) {
const recentEvents = getActiveNodes(graph, "event")
.sort((a, b) => b.seq - a.seq)
.slice(0, 6)
@@ -726,7 +726,7 @@ export async function generateReflection({ graph, currentSeq }) {
.join("\n");
const result = await callLLMForJSON({
systemPrompt: [
systemPrompt: customPrompt || [
"你是 RP 长期记忆系统的反思生成器。",
'输出严格 JSON{"insight":"...","trigger":"...","suggestion":"...","importance":1-10}',
"insight 应总结最近情节中最值得长期保留的变化、关系趋势或潜在线索。",