Skip BME on trivial user sends

This commit is contained in:
Hao19911125
2026-04-11 21:47:01 +08:00
parent b81ba30541
commit fb7f59c44e
2 changed files with 31 additions and 1 deletions

View File

@@ -251,7 +251,33 @@ export function onMessageSentController(runtime, messageId) {
} }
if (!message?.is_user) return; if (!message?.is_user) return;
if (runtime.isTrivialUserInput?.(message.mes || "")?.trivial) { const trivialInputResult = runtime.isTrivialUserInput?.(message.mes || "") || {
trivial: false,
reason: "",
normalizedText: "",
};
const tokenEstimate =
typeof runtime.estimateTokens === "function"
? Number(runtime.estimateTokens(message.mes || ""))
: Number.NaN;
const isZeroTokenInput =
Number.isFinite(tokenEstimate) && tokenEstimate <= 0;
if (trivialInputResult.trivial || isZeroTokenInput) {
runtime.markCurrentGenerationTrivialSkip?.({
reason: trivialInputResult.trivial
? trivialInputResult.reason
: "zero-token",
chatId: context?.chatId || "",
chatLength: Array.isArray(chat) ? chat.length : 0,
});
runtime.clearPendingRecallSendIntent?.();
runtime.clearPendingHostGenerationInputSnapshot?.();
console.info?.(
`[ST-BME] trivial-input skip: reason=${
trivialInputResult.trivial ? trivialInputResult.reason : "zero-token"
} len=${String(trivialInputResult.normalizedText || message.mes || "").length} hook=MESSAGE_SENT`,
);
runtime.refreshPersistedRecallMessageUi?.(); runtime.refreshPersistedRecallMessageUi?.();
return; return;
} }

View File

@@ -12637,8 +12637,12 @@ function onChatLoaded() {
function onMessageSent(messageId) { function onMessageSent(messageId) {
const result = onMessageSentController( const result = onMessageSentController(
{ {
clearPendingHostGenerationInputSnapshot,
clearPendingRecallSendIntent,
estimateTokens,
getContext, getContext,
isTrivialUserInput, isTrivialUserInput,
markCurrentGenerationTrivialSkip,
recordRecallSentUserMessage, recordRecallSentUserMessage,
rebindRecallRecordToNewUserMessage, rebindRecallRecordToNewUserMessage,
refreshPersistedRecallMessageUi: schedulePersistedRecallMessageUiRefresh, refreshPersistedRecallMessageUi: schedulePersistedRecallMessageUiRefresh,