feat: 移除所有工具结果截断,确保内容完整传给AI
删除TOOL_MAX_RESULT_SIZE配置表和formatDefaultToolResult截断; read_file移除2000行/100KB截断; read_multiple_files移除10000字符截断; list_directory移除2000条目上限; search_files移除10条匹配和50结果限制; run_command移除512KB输出截断; browser_extract移除15000字符截断; session_read移除50条消息限制; session_list移除20条限制; memory search移除8条限制; web_search移除10条结果限制; SearXNG HTML移除内容截断; 版本号升级至0.14.11; 实现工具三档执行模式(auto/confirm/disabled)
This commit is contained in:
+19
-5
@@ -23,7 +23,7 @@ import { initHistoryModal, closeHistoryModal } from './components/history-modal.
|
||||
import { initMemoryModal } from './components/memory-modal.js';
|
||||
import { initToolsModal, closeToolsModal } from './components/tools-modal.js';
|
||||
import { initTokenDashboard, closeTokenDashboard } from './components/token-dashboard.js';
|
||||
import { setToolEnabled, setRunCommandMode, refreshMCPTools } from './services/tool-registry.js';
|
||||
import { setToolEnabled, setToolMode, refreshMCPTools } from './services/tool-registry.js';
|
||||
import { startAllMCPServers } from './services/mcp-client.js';
|
||||
import { initToolConfirmModal } from './components/tool-confirm-modal.js';
|
||||
import { initWorkspacePanel, clearToolCardsExternal, clearTerminalExternal, switchToTab } from './components/workspace-panel.js';
|
||||
@@ -319,7 +319,7 @@ async function init(): Promise<void> {
|
||||
|
||||
// ── 防御性重置:确保首次启动不会遗留脏状态 ──
|
||||
state.set('toolCallingEnabled', true);
|
||||
state.set('runCommandMode', 'confirm'); // 默认需确认
|
||||
state.set('runCommandMode', 'confirm'); // 兼容旧代码读取
|
||||
state.set('thinkEnabled', false);
|
||||
|
||||
initLogPanel(); // ← 日志面板最先初始化,确保后续 init 日志能显示
|
||||
@@ -448,9 +448,23 @@ async function init(): Promise<void> {
|
||||
|
||||
// ── Tool Calling 设置(永久开启,不可关闭)──
|
||||
state.set('toolCallingEnabled', true);
|
||||
const runCommandMode = await db.getSetting('runCommandMode', 'confirm') as 'auto' | 'confirm' | 'disabled';
|
||||
state.set('runCommandMode', runCommandMode);
|
||||
setRunCommandMode(runCommandMode);
|
||||
// 统一加载所有工具的执行模式(auto/confirm/disabled)
|
||||
{
|
||||
// 优先读取合并存储的 toolModes JSON
|
||||
const savedModes = await db.getSetting<Record<string, 'auto' | 'confirm' | 'disabled'>>('toolModes', {});
|
||||
// 兼容旧版:如果 toolModes 中没有 run_command 但有独立的 runCommandMode,则迁移
|
||||
if (!savedModes['run_command']) {
|
||||
const legacy = await db.getSetting('runCommandMode', 'confirm') as 'auto' | 'confirm' | 'disabled';
|
||||
savedModes['run_command'] = legacy;
|
||||
await db.saveSetting('toolModes', savedModes);
|
||||
await db.saveSetting('runCommandMode', null); // 清除旧键
|
||||
}
|
||||
state.set('toolModes', savedModes);
|
||||
// 为每个工具应用模式
|
||||
for (const [toolName, mode] of Object.entries(savedModes)) {
|
||||
setToolMode(toolName, mode);
|
||||
}
|
||||
}
|
||||
|
||||
// ── MCP 工具注册 ──
|
||||
await startAllMCPServers();
|
||||
|
||||
Reference in New Issue
Block a user