fix: 工具选择状态记忆 + 过滤联网搜索 + 默认未启用
This commit is contained in:
50
www/app.js
50
www/app.js
@@ -118,13 +118,11 @@ async function loadBackendConfig() {
|
|||||||
|
|
||||||
// 加载工具列表
|
// 加载工具列表
|
||||||
if (backendConfig.allTools) {
|
if (backendConfig.allTools) {
|
||||||
allTools = backendConfig.allTools;
|
// 过滤掉联网搜索(已有单独按钮)
|
||||||
|
allTools = backendConfig.allTools.filter(t => t.type !== 'search');
|
||||||
}
|
}
|
||||||
|
|
||||||
// 加载默认启用的工具
|
// 不加载默认启用的工具,所有工具默认未启用
|
||||||
if (backendConfig.tools) {
|
|
||||||
enabledTools = backendConfig.tools.map(t => t.tool_id);
|
|
||||||
}
|
|
||||||
|
|
||||||
updateAgentsDisplay();
|
updateAgentsDisplay();
|
||||||
console.log('后台配置已加载', backendConfig);
|
console.log('后台配置已加载', backendConfig);
|
||||||
@@ -3044,6 +3042,9 @@ async function openAgent(agentId) {
|
|||||||
currentAgent = systemAgents.find(a => a.id === agentId);
|
currentAgent = systemAgents.find(a => a.id === agentId);
|
||||||
if (!currentAgent) return;
|
if (!currentAgent) return;
|
||||||
|
|
||||||
|
// 加载该智能体的工具选择状态
|
||||||
|
loadToolsState();
|
||||||
|
|
||||||
// 检查未登录用户的智能体限制
|
// 检查未登录用户的智能体限制
|
||||||
if (!currentUser) {
|
if (!currentUser) {
|
||||||
const check = canUseAgent(agentId);
|
const check = canUseAgent(agentId);
|
||||||
@@ -3599,6 +3600,10 @@ function openConversation(id) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 普通对话,加载普通对话的工具状态
|
||||||
|
currentAgent = null;
|
||||||
|
loadToolsState();
|
||||||
|
|
||||||
// 渲染对话页面
|
// 渲染对话页面
|
||||||
const chatHtml = `
|
const chatHtml = `
|
||||||
<div id="chatPage">
|
<div id="chatPage">
|
||||||
@@ -4232,6 +4237,9 @@ function confirmToolsSelection() {
|
|||||||
|
|
||||||
enabledTools = selectedTools;
|
enabledTools = selectedTools;
|
||||||
|
|
||||||
|
// 保存工具选择状态
|
||||||
|
saveToolsState();
|
||||||
|
|
||||||
// 更新按钮显示
|
// 更新按钮显示
|
||||||
const moreToolsBtn = document.getElementById('moreToolsBtn');
|
const moreToolsBtn = document.getElementById('moreToolsBtn');
|
||||||
if (moreToolsBtn) {
|
if (moreToolsBtn) {
|
||||||
@@ -4254,6 +4262,38 @@ function confirmToolsSelection() {
|
|||||||
showToast(`已启用 ${enabledTools.length} 个工具`);
|
showToast(`已启用 ${enabledTools.length} 个工具`);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 保存工具选择状态
|
||||||
|
function saveToolsState() {
|
||||||
|
if (currentAgent) {
|
||||||
|
// 智能体对话:保存到 localStorage(按智能体ID)
|
||||||
|
localStorage.setItem(`agentEnabledTools_${currentAgent.id}`, JSON.stringify(enabledTools));
|
||||||
|
} else {
|
||||||
|
// 普通对话:保存到 localStorage
|
||||||
|
localStorage.setItem('chatEnabledTools', JSON.stringify(enabledTools));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 加载工具选择状态
|
||||||
|
function loadToolsState() {
|
||||||
|
if (currentAgent) {
|
||||||
|
// 智能体对话:加载该智能体的工具状态
|
||||||
|
const saved = localStorage.getItem(`agentEnabledTools_${currentAgent.id}`);
|
||||||
|
if (saved) {
|
||||||
|
enabledTools = JSON.parse(saved);
|
||||||
|
} else {
|
||||||
|
enabledTools = [];
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// 普通对话:加载普通对话的工具状态
|
||||||
|
const saved = localStorage.getItem('chatEnabledTools');
|
||||||
|
if (saved) {
|
||||||
|
enabledTools = JSON.parse(saved);
|
||||||
|
} else {
|
||||||
|
enabledTools = [];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 渲染头像(支持 emoji 和上传的图片)
|
// 渲染头像(支持 emoji 和上传的图片)
|
||||||
function renderAvatar(avatar) {
|
function renderAvatar(avatar) {
|
||||||
if (!avatar) return '👤';
|
if (!avatar) return '👤';
|
||||||
|
|||||||
Reference in New Issue
Block a user