|
|
@@ -16,8 +16,8 @@ export function trimTopic(topic: string) {
|
|
|
return (
|
|
|
topic
|
|
|
// fix for gemini
|
|
|
- .replace(/^["“”*]+|["“”*]+$/g, "")
|
|
|
- .replace(/[,。!?”“"、,.!?*]*$/, "")
|
|
|
+ .replace(/^["""*]+|[""*]+$/g, "")
|
|
|
+ .replace(/[,。!?""""、,.!?*]*$/, "")
|
|
|
);
|
|
|
}
|
|
|
|
|
|
@@ -241,6 +241,28 @@ export function getMessageTextContent(message: RequestMessage) {
|
|
|
return "";
|
|
|
}
|
|
|
|
|
|
+export function getMessageTextContentWithoutThinking(message: RequestMessage) {
|
|
|
+ let content = "";
|
|
|
+
|
|
|
+ if (typeof message.content === "string") {
|
|
|
+ content = message.content;
|
|
|
+ } else {
|
|
|
+ for (const c of message.content) {
|
|
|
+ if (c.type === "text") {
|
|
|
+ content = c.text ?? "";
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // Filter out thinking lines (starting with "> ")
|
|
|
+ return content
|
|
|
+ .split("\n")
|
|
|
+ .filter((line) => !line.startsWith("> ") && line.trim() !== "")
|
|
|
+ .join("\n")
|
|
|
+ .trim();
|
|
|
+}
|
|
|
+
|
|
|
export function getMessageImages(message: RequestMessage): string[] {
|
|
|
if (typeof message.content === "string") {
|
|
|
return [];
|
|
|
@@ -256,9 +278,7 @@ export function getMessageImages(message: RequestMessage): string[] {
|
|
|
|
|
|
export function isVisionModel(model: string) {
|
|
|
const visionModels = useAccessStore.getState().visionModels;
|
|
|
- const envVisionModels = visionModels
|
|
|
- ?.split(",")
|
|
|
- .map((m) => m.trim());
|
|
|
+ const envVisionModels = visionModels?.split(",").map((m) => m.trim());
|
|
|
if (envVisionModels?.includes(model)) {
|
|
|
return true;
|
|
|
}
|