feat: MEMORY.md 访问保护、格式简化及预存问题修复

MEMORY.md 保护: 新建 file-guard.ts 共享守卫模块; read_file/write_file/search_files/run_command 禁止访问根目录 MEMORY.md; permissions.ts 增加 deniedPatterns 深度防御。格式简化: 元数据从 # 注释改为 > 引用语法; 校验规则从 6 条简化为 3 条; context-builder extractContent 适配。预存问题: 修复路径遍历前缀碰撞漏洞; 移除 browser_extract 内容截断; SearXNG 配置实时读取; web_search/web_fetch 移除截断; 侧边栏动态获取工具列表; 版本号 0.1.1
This commit is contained in:
thzxx
2026-07-05 21:24:22 +08:00
parent f4532a2bb2
commit 8cdb93f8bf
29 changed files with 2472 additions and 353 deletions
+17 -1
View File
@@ -157,7 +157,7 @@ interface MetonaAppAPI {
getVersion: () => Promise<string>;
getAppDataPath: () => Promise<string>;
openExternal: (url: string) => Promise<void>;
showItemInFolder: (path: string) => void;
showItemInFolder: (path: string) => Promise<void>;
selectFolder: (defaultPath?: string) => Promise<{ canceled: boolean; path: string }>;
}
@@ -179,6 +179,7 @@ interface MetonaToolInfo {
category: string;
riskLevel: string;
requiresPermission: boolean;
enabled: boolean;
}
interface MetonaToolsAPI {
@@ -186,6 +187,20 @@ interface MetonaToolsAPI {
toggle: (toolName: string, enabled: boolean) => Promise<{ success: boolean }>;
}
// ===== SearXNG API =====
interface MetonaSearXNGTestResult {
success: boolean;
statusCode?: number;
latencyMs?: number;
error?: string;
}
interface MetonaSearXNGAPI {
/** 测试 SearXNG 实例连接可达性与认证有效性 */
testConnection: (url: string, authKey: string, authType: string) => Promise<MetonaSearXNGTestResult>;
}
// ===== Data API =====
interface MetonaDataAPI {
@@ -207,6 +222,7 @@ interface MetonaBridge {
toast: MetonaToastAPI;
tools: MetonaToolsAPI;
data: MetonaDataAPI;
searxng: MetonaSearXNGAPI;
}
// ===== 全局 Window 增强 =====