feat(studio): R3 step_respond、运行页 UX 与 R4 思考流式

新增 worldbook 步骤 LLM 回复(thinking/draft/questions/evaluation),
运行页聊天区与产物/选项联动;评价区标签改为「评价与修改建议」;
流式开关开启时 NDJSON 推送思考内容,完成后拆分更新各字段。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-05-31 22:07:42 +08:00
parent fa6907fb8d
commit f3792915a3
20 changed files with 1639 additions and 304 deletions

View File

@@ -0,0 +1,28 @@
/**
* Resolve bound character display name from workflow variable and/or project meta.
*/
export function resolveBoundCharacterName({ boundCharacterVar, characterId, characters = [] }) {
if (boundCharacterVar) {
const nameMatch = String(boundCharacterVar).match(/名称[:]\s*(.+?)(?:\n|$)/);
if (nameMatch?.[1]?.trim()) {
return nameMatch[1].trim();
}
}
if (characterId && characters.length > 0) {
const byId = characters.find((c) => c.id === characterId);
if (byId?.name) return byId.name;
const byName = characters.find((c) => c.name === characterId);
if (byName?.name) return byName.name;
}
return null;
}
/** Index of the last user message in stepMessages, or -1. */
export function findLastUserMessageIndex(stepMessages = []) {
for (let i = stepMessages.length - 1; i >= 0; i -= 1) {
if (stepMessages[i]?.role === 'user') return i;
}
return -1;
}