feat: add ai overview minimum number of search results configuration (#625)

* feat: add ai overview minimum number of search results configuration

* docs: update changelog

* style: remove unless code
This commit is contained in:
ayangweb
2025-06-06 17:05:20 +08:00
committed by GitHub
parent 9eac8f8a8e
commit eddf9075bb
5 changed files with 29 additions and 1 deletions

View File

@@ -17,6 +17,7 @@ Information about release notes of Coco Server is provided here.
- feat: add key monitoring during reset #615
- feat: calculator extension add description #623
- feat: support right-click actions after text selection #624
- feat: add ai overview minimum number of search results configuration #625
### 🐛 Bug fix

View File

@@ -27,6 +27,12 @@ const AiOverview = () => {
const setAiOverviewDelay = useExtensionsStore((state) => {
return state.setAiOverviewDelay;
});
const aiOverviewMinQuantity = useExtensionsStore((state) => {
return state.aiOverviewMinQuantity;
});
const setAiOverviewMinQuantity = useExtensionsStore((state) => {
return state.setAiOverviewMinQuantity;
});
const inputList = [
{
@@ -39,6 +45,11 @@ const AiOverview = () => {
value: aiOverviewDelay,
onChange: setAiOverviewDelay,
},
{
label: "Minimum Number of Search Results",
value: aiOverviewMinQuantity,
onChange: setAiOverviewMinQuantity,
},
];
return (

View File

@@ -47,6 +47,9 @@ export function useSearch() {
const aiOverviewDelay = useExtensionsStore((state) => {
return state.aiOverviewDelay;
});
const aiOverviewMinQuantity = useExtensionsStore((state) => {
return state.aiOverviewMinQuantity;
});
const { querySourceTimeout } = useConnectStore();
@@ -106,7 +109,7 @@ export function useSearch() {
enabledAiOverview &&
aiOverviewServer &&
aiOverviewAssistant &&
filteredData.length > 5 &&
filteredData.length >= aiOverviewMinQuantity &&
!disabledExtensions.includes("AIOverview")
) {
timerRef.current = setTimeout(() => {
@@ -210,6 +213,7 @@ export function useSearch() {
disabledExtensions,
aiOverviewCharLen,
aiOverviewDelay,
aiOverviewMinQuantity,
]
);

View File

@@ -109,6 +109,9 @@ export const useSyncStore = () => {
return state.setAiOverviewDelay;
});
const setAiOverview = useShortcutsStore((state) => state.setAiOverview);
const setAiOverviewMinQuantity = useExtensionsStore((state) => {
return state.setAiOverviewMinQuantity;
});
useEffect(() => {
if (!resetFixedWindow) {
@@ -201,6 +204,7 @@ export const useSyncStore = () => {
disabledExtensions,
aiOverviewCharLen,
aiOverviewDelay,
aiOverviewMinQuantity,
} = payload;
setQuickAiAccessServer(quickAiAccessServer);
@@ -210,6 +214,7 @@ export const useSyncStore = () => {
setDisabledExtensions(disabledExtensions);
setAiOverviewCharLen(aiOverviewCharLen);
setAiOverviewDelay(aiOverviewDelay);
setAiOverviewMinQuantity(aiOverviewMinQuantity);
}),
]);

View File

@@ -17,6 +17,8 @@ export type IExtensionsStore = {
setAiOverviewCharLen: (aiOverviewCharLen: number) => void;
aiOverviewDelay: number;
setAiOverviewDelay: (aiOverviewDelay: number) => void;
aiOverviewMinQuantity: number;
setAiOverviewMinQuantity: (aiOverviewMinQuantity: number) => void;
};
export const useExtensionsStore = create<IExtensionsStore>()(
@@ -47,6 +49,10 @@ export const useExtensionsStore = create<IExtensionsStore>()(
setAiOverviewDelay(aiOverviewDelay) {
return set({ aiOverviewDelay });
},
aiOverviewMinQuantity: 5,
setAiOverviewMinQuantity(aiOverviewMinQuantity) {
return set({ aiOverviewMinQuantity });
},
}),
{
name: "extensions-store",
@@ -57,6 +63,7 @@ export const useExtensionsStore = create<IExtensionsStore>()(
aiOverviewAssistant: state.aiOverviewAssistant,
aiOverviewCharLen: state.aiOverviewCharLen,
aiOverviewDelay: state.aiOverviewDelay,
aiOverviewMinQuantity: state.aiOverviewMinQuantity,
}),
}
)