fix: remove experimental toggle
This commit is contained in:
parent
6b55812739
commit
cfbc6b9150
@ -57,7 +57,7 @@ const ChatInput = ({ model, className, initialMessage }: ChatInputProps) => {
|
|||||||
const { prompt, setPrompt } = usePrompt()
|
const { prompt, setPrompt } = usePrompt()
|
||||||
const { currentThreadId } = useThreads()
|
const { currentThreadId } = useThreads()
|
||||||
const { t } = useTranslation()
|
const { t } = useTranslation()
|
||||||
const { spellCheckChatInput, experimentalFeatures } = useGeneralSetting()
|
const { spellCheckChatInput } = useGeneralSetting()
|
||||||
|
|
||||||
const maxRows = 10
|
const maxRows = 10
|
||||||
|
|
||||||
@ -586,8 +586,7 @@ const ChatInput = ({ model, className, initialMessage }: ChatInputProps) => {
|
|||||||
</TooltipProvider>
|
</TooltipProvider>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{experimentalFeatures &&
|
{selectedModel?.capabilities?.includes('tools') &&
|
||||||
selectedModel?.capabilities?.includes('tools') &&
|
|
||||||
hasActiveMCPServers && (
|
hasActiveMCPServers && (
|
||||||
<TooltipProvider>
|
<TooltipProvider>
|
||||||
<Tooltip
|
<Tooltip
|
||||||
|
|||||||
@ -11,7 +11,6 @@ import {
|
|||||||
import { useMatches, useNavigate } from '@tanstack/react-router'
|
import { useMatches, useNavigate } from '@tanstack/react-router'
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
|
|
||||||
import { useGeneralSetting } from '@/hooks/useGeneralSetting'
|
|
||||||
import { useModelProvider } from '@/hooks/useModelProvider'
|
import { useModelProvider } from '@/hooks/useModelProvider'
|
||||||
import { getProviderTitle } from '@/lib/utils'
|
import { getProviderTitle } from '@/lib/utils'
|
||||||
import ProvidersAvatar from '@/containers/ProvidersAvatar'
|
import ProvidersAvatar from '@/containers/ProvidersAvatar'
|
||||||
@ -23,7 +22,6 @@ const SettingsMenu = () => {
|
|||||||
const matches = useMatches()
|
const matches = useMatches()
|
||||||
const navigate = useNavigate()
|
const navigate = useNavigate()
|
||||||
|
|
||||||
const { experimentalFeatures } = useGeneralSetting()
|
|
||||||
const { providers } = useModelProvider()
|
const { providers } = useModelProvider()
|
||||||
|
|
||||||
// Filter providers that have active API keys (or are llama.cpp which doesn't need one)
|
// Filter providers that have active API keys (or are llama.cpp which doesn't need one)
|
||||||
@ -79,15 +77,10 @@ const SettingsMenu = () => {
|
|||||||
title: 'common:hardware',
|
title: 'common:hardware',
|
||||||
route: route.settings.hardware,
|
route: route.settings.hardware,
|
||||||
},
|
},
|
||||||
// Only show MCP Servers when experimental features are enabled
|
{
|
||||||
...(experimentalFeatures
|
title: 'common:mcp-servers',
|
||||||
? [
|
route: route.settings.mcp_servers,
|
||||||
{
|
},
|
||||||
title: 'common:mcp-servers',
|
|
||||||
route: route.settings.mcp_servers,
|
|
||||||
},
|
|
||||||
]
|
|
||||||
: []),
|
|
||||||
{
|
{
|
||||||
title: 'common:local_api_server',
|
title: 'common:local_api_server',
|
||||||
route: route.settings.local_api_server,
|
route: route.settings.local_api_server,
|
||||||
|
|||||||
@ -29,7 +29,6 @@ import { OUT_OF_CONTEXT_SIZE } from '@/utils/error'
|
|||||||
import { updateSettings } from '@/services/providers'
|
import { updateSettings } from '@/services/providers'
|
||||||
import { useContextSizeApproval } from './useModelContextApproval'
|
import { useContextSizeApproval } from './useModelContextApproval'
|
||||||
import { useModelLoad } from './useModelLoad'
|
import { useModelLoad } from './useModelLoad'
|
||||||
import { useGeneralSetting } from './useGeneralSetting'
|
|
||||||
import {
|
import {
|
||||||
ReasoningProcessor,
|
ReasoningProcessor,
|
||||||
extractReasoningFromMessage,
|
extractReasoningFromMessage,
|
||||||
@ -37,7 +36,6 @@ import {
|
|||||||
|
|
||||||
export const useChat = () => {
|
export const useChat = () => {
|
||||||
const { prompt, setPrompt } = usePrompt()
|
const { prompt, setPrompt } = usePrompt()
|
||||||
const { experimentalFeatures } = useGeneralSetting()
|
|
||||||
const {
|
const {
|
||||||
tools,
|
tools,
|
||||||
updateTokenSpeed,
|
updateTokenSpeed,
|
||||||
@ -247,13 +245,12 @@ export const useChat = () => {
|
|||||||
let isCompleted = false
|
let isCompleted = false
|
||||||
|
|
||||||
// Filter tools based on model capabilities and available tools for this thread
|
// Filter tools based on model capabilities and available tools for this thread
|
||||||
let availableTools =
|
let availableTools = selectedModel?.capabilities?.includes('tools')
|
||||||
experimentalFeatures && selectedModel?.capabilities?.includes('tools')
|
? tools.filter((tool) => {
|
||||||
? tools.filter((tool) => {
|
const disabledTools = getDisabledToolsForThread(activeThread.id)
|
||||||
const disabledTools = getDisabledToolsForThread(activeThread.id)
|
return !disabledTools.includes(tool.name)
|
||||||
return !disabledTools.includes(tool.name)
|
})
|
||||||
})
|
: []
|
||||||
: []
|
|
||||||
|
|
||||||
let assistantLoopSteps = 0
|
let assistantLoopSteps = 0
|
||||||
|
|
||||||
@ -543,7 +540,6 @@ export const useChat = () => {
|
|||||||
setPrompt,
|
setPrompt,
|
||||||
selectedModel,
|
selectedModel,
|
||||||
currentAssistant,
|
currentAssistant,
|
||||||
experimentalFeatures,
|
|
||||||
tools,
|
tools,
|
||||||
updateLoadingModel,
|
updateLoadingModel,
|
||||||
getDisabledToolsForThread,
|
getDisabledToolsForThread,
|
||||||
|
|||||||
@ -6,10 +6,8 @@ import { ExtensionManager } from '@/lib/extension'
|
|||||||
type LeftPanelStoreState = {
|
type LeftPanelStoreState = {
|
||||||
currentLanguage: Language
|
currentLanguage: Language
|
||||||
spellCheckChatInput: boolean
|
spellCheckChatInput: boolean
|
||||||
experimentalFeatures: boolean
|
|
||||||
huggingfaceToken?: string
|
huggingfaceToken?: string
|
||||||
setHuggingfaceToken: (token: string) => void
|
setHuggingfaceToken: (token: string) => void
|
||||||
setExperimentalFeatures: (value: boolean) => void
|
|
||||||
setSpellCheckChatInput: (value: boolean) => void
|
setSpellCheckChatInput: (value: boolean) => void
|
||||||
setCurrentLanguage: (value: Language) => void
|
setCurrentLanguage: (value: Language) => void
|
||||||
}
|
}
|
||||||
@ -19,9 +17,7 @@ export const useGeneralSetting = create<LeftPanelStoreState>()(
|
|||||||
(set) => ({
|
(set) => ({
|
||||||
currentLanguage: 'en',
|
currentLanguage: 'en',
|
||||||
spellCheckChatInput: true,
|
spellCheckChatInput: true,
|
||||||
experimentalFeatures: false,
|
|
||||||
huggingfaceToken: undefined,
|
huggingfaceToken: undefined,
|
||||||
setExperimentalFeatures: (value) => set({ experimentalFeatures: value }),
|
|
||||||
setSpellCheckChatInput: (value) => set({ spellCheckChatInput: value }),
|
setSpellCheckChatInput: (value) => set({ spellCheckChatInput: value }),
|
||||||
setCurrentLanguage: (value) => set({ currentLanguage: value }),
|
setCurrentLanguage: (value) => set({ currentLanguage: value }),
|
||||||
setHuggingfaceToken: (token) => {
|
setHuggingfaceToken: (token) => {
|
||||||
|
|||||||
@ -46,9 +46,6 @@ import { stopAllModels } from '@/services/models'
|
|||||||
import { SystemEvent } from '@/types/events'
|
import { SystemEvent } from '@/types/events'
|
||||||
import { Input } from '@/components/ui/input'
|
import { Input } from '@/components/ui/input'
|
||||||
import { useHardware } from '@/hooks/useHardware'
|
import { useHardware } from '@/hooks/useHardware'
|
||||||
import { getConnectedServers } from '@/services/mcp'
|
|
||||||
import { invoke } from '@tauri-apps/api/core'
|
|
||||||
import { useMCPServers } from '@/hooks/useMCPServers'
|
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
export const Route = createFileRoute(route.settings.general as any)({
|
export const Route = createFileRoute(route.settings.general as any)({
|
||||||
@ -60,8 +57,6 @@ function General() {
|
|||||||
const {
|
const {
|
||||||
spellCheckChatInput,
|
spellCheckChatInput,
|
||||||
setSpellCheckChatInput,
|
setSpellCheckChatInput,
|
||||||
experimentalFeatures,
|
|
||||||
setExperimentalFeatures,
|
|
||||||
huggingfaceToken,
|
huggingfaceToken,
|
||||||
setHuggingfaceToken,
|
setHuggingfaceToken,
|
||||||
} = useGeneralSetting()
|
} = useGeneralSetting()
|
||||||
@ -209,38 +204,6 @@ function General() {
|
|||||||
}
|
}
|
||||||
}, [t, checkForUpdate])
|
}, [t, checkForUpdate])
|
||||||
|
|
||||||
const handleStopAllMCPServers = async () => {
|
|
||||||
try {
|
|
||||||
const connectedServers = await getConnectedServers()
|
|
||||||
|
|
||||||
// Stop each connected server
|
|
||||||
const stopPromises = connectedServers.map((serverName) =>
|
|
||||||
invoke('deactivate_mcp_server', { name: serverName }).catch((error) => {
|
|
||||||
console.error(`Error stopping MCP server ${serverName}:`, error)
|
|
||||||
return Promise.resolve() // Continue with other servers even if one fails
|
|
||||||
})
|
|
||||||
)
|
|
||||||
|
|
||||||
await Promise.all(stopPromises)
|
|
||||||
|
|
||||||
// Update server configs to set active: false for stopped servers
|
|
||||||
const { mcpServers, editServer } = useMCPServers.getState()
|
|
||||||
connectedServers.forEach((serverName) => {
|
|
||||||
const serverConfig = mcpServers[serverName]
|
|
||||||
if (serverConfig) {
|
|
||||||
editServer(serverName, { ...serverConfig, active: false })
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
if (connectedServers.length > 0) {
|
|
||||||
toast.success(`Stopped ${connectedServers.length} MCP server(s)`)
|
|
||||||
}
|
|
||||||
} catch (error) {
|
|
||||||
console.error('Error stopping MCP servers:', error)
|
|
||||||
toast.error('Failed to stop MCP servers')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="flex flex-col h-full">
|
<div className="flex flex-col h-full">
|
||||||
<HeaderPage>
|
<HeaderPage>
|
||||||
@ -430,19 +393,6 @@ function General() {
|
|||||||
</Card>
|
</Card>
|
||||||
{/* Advanced */}
|
{/* Advanced */}
|
||||||
<Card title="Advanced">
|
<Card title="Advanced">
|
||||||
<CardItem
|
|
||||||
title="Experimental Features"
|
|
||||||
description="Enable experimental features. They may be unstable or change at any time."
|
|
||||||
actions={
|
|
||||||
<Switch
|
|
||||||
checked={experimentalFeatures}
|
|
||||||
onCheckedChange={async (e) => {
|
|
||||||
await handleStopAllMCPServers()
|
|
||||||
setExperimentalFeatures(e)
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
<CardItem
|
<CardItem
|
||||||
title={t('settings:others.resetFactory', {
|
title={t('settings:others.resetFactory', {
|
||||||
ns: 'settings',
|
ns: 'settings',
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user