mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2026-01-05 20:41:30 +08:00
fix: make knowledge base tool always visible regardless of sidebar settings (#11553)
* refactor(knowledgeBaseTool): remove unused sidebar icon visibility check * refactor(Inputbar): remove unused knowledge icon visibility logic Simplify knowledge base selection by directly using assistant.knowledge_bases
This commit is contained in:
parent
03ff6e1ca6
commit
3b1155b538
@ -14,7 +14,6 @@ import { useInputText } from '@renderer/hooks/useInputText'
|
|||||||
import { useMessageOperations, useTopicLoading } from '@renderer/hooks/useMessageOperations'
|
import { useMessageOperations, useTopicLoading } from '@renderer/hooks/useMessageOperations'
|
||||||
import { useSettings } from '@renderer/hooks/useSettings'
|
import { useSettings } from '@renderer/hooks/useSettings'
|
||||||
import { useShortcut } from '@renderer/hooks/useShortcuts'
|
import { useShortcut } from '@renderer/hooks/useShortcuts'
|
||||||
import { useSidebarIconShow } from '@renderer/hooks/useSidebarIcon'
|
|
||||||
import { useTextareaResize } from '@renderer/hooks/useTextareaResize'
|
import { useTextareaResize } from '@renderer/hooks/useTextareaResize'
|
||||||
import { useTimer } from '@renderer/hooks/useTimer'
|
import { useTimer } from '@renderer/hooks/useTimer'
|
||||||
import {
|
import {
|
||||||
@ -150,7 +149,6 @@ const InputbarInner: FC<InputbarInnerProps> = ({ assistant: initialAssistant, se
|
|||||||
minHeight: 30
|
minHeight: 30
|
||||||
})
|
})
|
||||||
|
|
||||||
const showKnowledgeIcon = useSidebarIconShow('knowledge')
|
|
||||||
const { assistant, addTopic, model, setModel, updateAssistant } = useAssistant(initialAssistant.id)
|
const { assistant, addTopic, model, setModel, updateAssistant } = useAssistant(initialAssistant.id)
|
||||||
const { sendMessageShortcut, showInputEstimatedTokens, enableQuickPanelTriggers } = useSettings()
|
const { sendMessageShortcut, showInputEstimatedTokens, enableQuickPanelTriggers } = useSettings()
|
||||||
const [estimateTokenCount, setEstimateTokenCount] = useState(0)
|
const [estimateTokenCount, setEstimateTokenCount] = useState(0)
|
||||||
@ -407,9 +405,10 @@ const InputbarInner: FC<InputbarInnerProps> = ({ assistant: initialAssistant, se
|
|||||||
focusTextarea
|
focusTextarea
|
||||||
])
|
])
|
||||||
|
|
||||||
|
// TODO: Just use assistant.knowledge_bases as selectedKnowledgeBases. context state is overdesigned.
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setSelectedKnowledgeBases(showKnowledgeIcon ? (assistant.knowledge_bases ?? []) : [])
|
setSelectedKnowledgeBases(assistant.knowledge_bases ?? [])
|
||||||
}, [assistant.knowledge_bases, setSelectedKnowledgeBases, showKnowledgeIcon])
|
}, [assistant.knowledge_bases, setSelectedKnowledgeBases])
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
// Disable web search if model doesn't support it
|
// Disable web search if model doesn't support it
|
||||||
|
|||||||
@ -1,5 +1,4 @@
|
|||||||
import { useAssistant } from '@renderer/hooks/useAssistant'
|
import { useAssistant } from '@renderer/hooks/useAssistant'
|
||||||
import { useSidebarIconShow } from '@renderer/hooks/useSidebarIcon'
|
|
||||||
import { defineTool, registerTool, TopicType } from '@renderer/pages/home/Inputbar/types'
|
import { defineTool, registerTool, TopicType } from '@renderer/pages/home/Inputbar/types'
|
||||||
import type { KnowledgeBase } from '@renderer/types'
|
import type { KnowledgeBase } from '@renderer/types'
|
||||||
import { isPromptToolUse, isSupportedToolUse } from '@renderer/utils/mcp-tools'
|
import { isPromptToolUse, isSupportedToolUse } from '@renderer/utils/mcp-tools'
|
||||||
@ -30,7 +29,6 @@ const knowledgeBaseTool = defineTool({
|
|||||||
render: function KnowledgeBaseToolRender(context) {
|
render: function KnowledgeBaseToolRender(context) {
|
||||||
const { assistant, state, actions, quickPanel } = context
|
const { assistant, state, actions, quickPanel } = context
|
||||||
|
|
||||||
const knowledgeSidebarEnabled = useSidebarIconShow('knowledge')
|
|
||||||
const { updateAssistant } = useAssistant(assistant.id)
|
const { updateAssistant } = useAssistant(assistant.id)
|
||||||
|
|
||||||
const handleSelect = useCallback(
|
const handleSelect = useCallback(
|
||||||
@ -41,10 +39,6 @@ const knowledgeBaseTool = defineTool({
|
|||||||
[updateAssistant, actions]
|
[updateAssistant, actions]
|
||||||
)
|
)
|
||||||
|
|
||||||
if (!knowledgeSidebarEnabled) {
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<KnowledgeBaseButton
|
<KnowledgeBaseButton
|
||||||
quickPanel={quickPanel}
|
quickPanel={quickPanel}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user