fix: 工具选择状态记忆 + 过滤联网搜索 + 默认未启用
This commit is contained in:
50
www/app.js
50
www/app.js
@@ -118,13 +118,11 @@ async function loadBackendConfig() {
|
||||
|
||||
// 加载工具列表
|
||||
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();
|
||||
console.log('后台配置已加载', backendConfig);
|
||||
@@ -3044,6 +3042,9 @@ async function openAgent(agentId) {
|
||||
currentAgent = systemAgents.find(a => a.id === agentId);
|
||||
if (!currentAgent) return;
|
||||
|
||||
// 加载该智能体的工具选择状态
|
||||
loadToolsState();
|
||||
|
||||
// 检查未登录用户的智能体限制
|
||||
if (!currentUser) {
|
||||
const check = canUseAgent(agentId);
|
||||
@@ -3599,6 +3600,10 @@ function openConversation(id) {
|
||||
return;
|
||||
}
|
||||
|
||||
// 普通对话,加载普通对话的工具状态
|
||||
currentAgent = null;
|
||||
loadToolsState();
|
||||
|
||||
// 渲染对话页面
|
||||
const chatHtml = `
|
||||
<div id="chatPage">
|
||||
@@ -4232,6 +4237,9 @@ function confirmToolsSelection() {
|
||||
|
||||
enabledTools = selectedTools;
|
||||
|
||||
// 保存工具选择状态
|
||||
saveToolsState();
|
||||
|
||||
// 更新按钮显示
|
||||
const moreToolsBtn = document.getElementById('moreToolsBtn');
|
||||
if (moreToolsBtn) {
|
||||
@@ -4254,6 +4262,38 @@ function confirmToolsSelection() {
|
||||
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 和上传的图片)
|
||||
function renderAvatar(avatar) {
|
||||
if (!avatar) return '👤';
|
||||
|
||||
Reference in New Issue
Block a user