thzxx
c7a184bfa9
feat: web_search新增fetch_top参数,搜索后自动抓取前N条完整内容,无需AI手动调web_fetch
2026-06-12 14:16:08 +08:00
thzxx
16dd877860
fix: SearXNG 搜索引擎参数去掉默认值,留空使用实例默认引擎
2026-06-12 13:18:23 +08:00
thzxx
366824c00a
feat: 日志面板显示搜索模式(SearXNG/内置),结果带_mode标记
2026-06-12 13:15:21 +08:00
thzxx
ff786f50c5
fix: SearXNG max_results 面板配了以面板为准,未配(0)用AI传入默认值
2026-06-12 13:05:31 +08:00
thzxx
d495b96f4b
chore: web_search 默认结果数 15→30
2026-06-12 13:03:42 +08:00
thzxx
25678bf866
fix: SearXNG max_results 以面板配置为准,不再与AI传入比较
2026-06-12 13:02:32 +08:00
thzxx
016c96c565
fix: SearXNG max_results 面板配置未生效,现读取面板值作为上限(与AI传入取较小值)
2026-06-12 12:57:57 +08:00
thzxx
9a547849eb
feat: SearXNG 添加 format 参数,支持 json/html 两种模式。html 模式提取网页纯文本交由 AI 自行分析
2026-06-12 12:55:14 +08:00
thzxx
f16d0238f7
fix: SearXNG API 地址改为必填,保存时校验格式
2026-06-12 12:48:05 +08:00
thzxx
2bdcb2735f
chore: bump version to 0.11.2
2026-06-12 12:45:57 +08:00
thzxx
7030e69234
feat: 集成 SearXNG 元搜索引擎,支持 JSON API 搜索替代四引擎 HTML 解析
...
- 新增 SearXNG 配置模态框,支持 API 地址、引擎列表、语言、安全搜索等参数
- 顶部添加独立 🔍 搜索按钮,带启用状态小绿点
- 启用后 web_search 走 SearXNG JSON API(70+ 引擎聚合)
- 禁用时回退原有 Bing+百度+搜狗+360 四引擎 HTML 解析方案
- 认证 Key 通过 HTTP Header Authorization: Bearer 传递,非必填
- 配置持久化到 SQLite settings 表
2026-06-12 12:44:41 +08:00
thzxx
933ce7a082
v0.11.1: Agent Loop稳定性增强 + 6个系统工具 + 搜索引擎替换
...
【Agent Loop 稳定性】
- P0-1: 工具消息硬限制40条,超出自动删旧
- P0-2: 截断周期从5轮缩短为3轮
- P1-1: 增量记忆提取改为fire-and-forget
- P1-2: TOOLS_WITH_DATA_DEPS精简为仅web_fetch
- P2: 重复检测改为注入警告而非强制终止
- Final Answer检测增强: >300字自动放行 + 收紧反过早停止
【新增工具】(40→44)
- datetime: 系统精确时间(中文日期+时段+人性化)
- calculator: 安全数学计算(递归下降解析器)
- random: 随机数/随机选择(int/float/pick/string)
- uuid: UUID v4生成(crypto.randomUUID)
- json_format: JSON格式化+验证+键排序
- hash: MD5/SHA1/SHA256/SHA384/SHA512
【搜索引擎替换】
- Google+DuckDuckGo → 搜狗+360搜索
- 四引擎变为: Bing+百度+搜狗+360搜索
【删除】
- 联网搜索代理全部代码(search-proxy/ + 7文件代理逻辑)
- https-proxy-agent依赖
【UI】
- 模型栏: 上下文总长(蓝色)+剩余上下文(绿色)实时显示
- 设置面板上下文长度移至模型栏
- SOUL.md/AGENT.md精简为纯抽象定义
【系统提示词】
- OS环境信息改为从preload同步获取真实值(os.homedir/os.arch/os.userInfo)
2026-06-11 22:07:46 +08:00
thzxx
7f3f4d3914
fix: 代理改用 https.request+HttpsProxyAgent 直连,绕过 undici fetch 兼容问题
2026-06-10 16:22:13 +08:00
thzxx
c718d99108
fix: 代理失败日志增强 + undici ProxyAgent参数修正
2026-06-10 16:09:47 +08:00
thzxx
25809c1532
fix: 添加 https-proxy-agent 依赖,解决代理DNS解析问题
2026-06-10 16:00:46 +08:00
thzxx
53dec75528
fix: 代理改用undici ProxyAgent显式指定,不再依赖环境变量(更可靠)
2026-06-10 15:50:52 +08:00
thzxx
3f11e7c3cd
feat: 设置面板添加代理配置 — web_search/web_fetch走HTTP代理(Clash等)
2026-06-10 15:38:56 +08:00
thzxx
f7e2843d4c
fix: 修复编译错误 — handleAppendFile残留引用 + _enhanced类型断言
2026-06-10 15:08:20 +08:00
thzxx
5bbd8b720c
chore: 版本号 v0.10.3 → v0.11.0
2026-06-10 14:44:28 +08:00
thzxx
e2bd511489
refactor: 删除append_file工具,功能合并入write_file(mode=append),工具数39→38
2026-06-10 14:42:25 +08:00
thzxx
5a38acce03
feat: 系统提示词注入OS环境信息(不可压缩)+日期标记不可压缩+run_command返回cwd信息
2026-06-10 14:31:47 +08:00
thzxx
b3de861faf
feat: 浏览器控制工具全面增强 — browser_open(wait_selector)/screenshot(full_page+selector)/extract(selector+max_chars)/click(wait滚动到视图)/type(clear+submit)/scroll(selector)/新增browser_wait
2026-06-10 14:23:56 +08:00
thzxx
d6cf7d846f
feat: 5个文件系统工具增强 — list_directory(2000)/edit_file(regex)/delete_file(返回大小)/read_multiple(50文件10KB)/tree(深度5)
2026-06-10 14:19:03 +08:00
thzxx
04f2446337
feat: write_file 全面增强 — base64写二进制/mode(overwrite+append)/覆盖提示/10MB/返回行数+文件大小
2026-06-10 14:15:26 +08:00
thzxx
da249d43de
chore: read_file 默认行数 500→2000
2026-06-10 14:12:55 +08:00
thzxx
751f548b0c
feat: read_file 全面增强 — binary模式/字节分页/5MB限制/截断提示hint/offset_bytes+limit_bytes
2026-06-10 14:11:08 +08:00
thzxx
f8842f195e
feat: web_search 智能增强 — 时间范围过滤/智能排序(可达+权重+质量)/摘要自动增强/tool参数扩展
2026-06-10 14:06:15 +08:00
thzxx
b57fd0f7e4
feat: web_fetch 全面增强 — 反爬headers/Sec-Fetch/UA自动切换/403自动回退浏览器渲染
2026-06-10 14:01:54 +08:00
thzxx
23918b8223
chore: v0.10.3 — 选择支持think的模型自动启用思考模式, 修复AI回复不显示模型标签, 版本号升级
2026-06-10 13:14:58 +08:00
thzxx
6390457312
feat: v0.10.2 - 可配置超时设置 + 默认值提升
...
- HTTP超时: 15s→30s(可配5s~300s), MCP超时: 30s→60s(可配10s~300s), 流式超时: 180s→300s(可配0~600s)
- 设置面板新增超时配置区域(HTTP/流式/MCP),留空使用默认值
- 主进程HTTP_TIMEOUT/MCP_TIMEOUT改为可配置变量,通过IPC setTimeouts通道接收
- 帮助面板/README/release-notes更新四引擎搜索和超时描述
- 版本号同步更新至v0.10.2(16处)
2026-06-10 09:39:59 +08:00
thzxx
64264cc0f8
v0.10.1: 修复显存泄漏 + 删除普通聊天模式 + Tool Calling 始终开启
...
fix: ollama.ts - chat() 添加默认 keep_alive: '1h',chatStream done 时不再 reader.cancel()
refactor: 删除普通聊天模式,所有消息统一走 Agent Loop
refactor: Tool Calling 开关始终开启且不可关闭
chore: 版本号 0.10.0 → 0.10.1 (12 处)
docs: 更新帮助面板和 README 反映架构变更
2026-06-06 12:06:48 +08:00
thzxx
c9adc764ae
feat: v0.10.0 — 全面增强网络搜索、Agent Loop、工具稳定性与性能
...
网络搜索增强:
- web_search: 4引擎并行(Bing+百度+DuckDuckGo+Google), LRU缓存5min, URL可达性预检, 结构化JSON输出
- web_fetch: 自动重试(指数退避2次), 移动端UA切换, SPA页面自动升级浏览器渲染
Agent Loop增强:
- 流式调用超时保护(默认180s可配置)
- Final Answer多模式检测 + 内容长度验证
- 预算警告改用ephemeral标记(context优先丢弃)
- Token感知动态迭代预算(>80%自动缩减到3轮)
- 工具缓存TTL(搜索5min/网页10min/文件30min)
- 自动子任务拆解(并行关键词检测+spawn子代理)
- 增量记忆提取(每20轮触发)
- 智能批次划分: 16个只读工具加入ALWAYS_PARALLEL白名单
- 旧工具结果超过10轮自动截断到500字符
工具增强:
- read_multiple_files: 串行→并行Promise.all
- diff_files: 三级回退(diff -u → git diff → builtin)
- search_files: 新增use_regex正则搜索
- list_directory: 新增offset分页
- Git: stash参数修复, clone/push/pull超时保护
- browser: 提取ensureBrowserReady()消除重复, browser_open切换URL自动重建
文档更新:
- 帮助面板新增Agent Loop v0.10.0增强章节
- README中英文同步更新(四引擎搜索/工具描述)
- SOUL.md/AGENT.md更新(v0.10.0能力描述/SPA规则翻转)
2026-06-05 21:20:03 +08:00
thzxx
2217113014
feat: v0.9.1 — 图片压缩、文件token预算截断、并行上传、文档同步
...
- 图片上传: Canvas前端压缩(1280px等比缩放+JPEG), 300KB以下跳过
- 文件上传: Token预算感知截断(30% numCtx), 26种语言注释剥离
- 性能: handleImagePaths/handleTextFilePaths 并行化(Promise.all)
- sub-agent.ts: 修复3个TS编译错误(tool_name类型, success重复)
- 版本号: 全项目统一至0.9.1(10处)
- 文档: BUILD.md/DEVELOPMENT.md 同步实际架构, 移除过期分支引用
- README: 组件列表修正(log-panel.ts→prompt-modal.ts)
- 帮助面板: 更新图片/文件上传描述
2026-06-05 11:32:40 +08:00
thzxx
988efd1733
v0.9.0: SOUL.md/AGENT.md/USER.md 化为工作空间文件,去掉代码内硬编码提示词
...
- 版本号 v1.1.0 → v0.9.0
- AGENT_SYSTEM_PROMPT + TOOL_USAGE_GUIDE 提取为 AGENT.md(工作空间优先,内置 fallback)
- SOUL.md 同级改造(工作空间优先,内置 fallback)
- 删除 inferUserProfile 自动用户画像,改为 USER.md 手动编辑
- 三个 .md 内置版本放在 src/renderer/public/(Vite publicDir 自动复制)
2026-06-05 09:35:39 +08:00
thzxx
db6cb8d2cc
feat: v1.1.0 — 上下文引擎重构 + 技能系统升级 + SOUL.md 支持
...
- 版本号更新: 1.0.0 → 1.1.0,全量同步 package.json/lock/README/docs/UI
- 上下文长度自动检测: 切换模型时从 model_info 读取实际 context_length
- SOUL.md 支持: 每次发送自动扫描工作空间 SOUL.md,注入为首条 system 消息且不可压缩
- 系统提示词卡片: AI 回复顶部可折叠展示实际发送给模型的完整 system prompt
- Token 校准: 利用 Ollama 返回的实际计数动态修正估算器(EMA)
- 消息重要性评分: 纯规则打分,trim/summarize 按重要性而非时间顺序
- 结构化压缩: LLM 压缩输出 JSON 格式(topics/decisions/pendingTasks/constraints)
- 技能系统 v1.1: 语义匹配(embedding) + 参数自优化 + 未使用衰减 + 技能链合并
- 修复: 100+ TypeScript strict 模式编译错误清零
2026-06-04 21:47:18 +08:00
OpenClaw Agent
4781abadf0
optimize: enhance web_search, web_fetch, browser tools
...
- browser.ts: Fix XSS injection in browserClick/browserType via JSON.stringify
- browser.ts: Replace fixed 1000ms wait with did-finish-load event + 30s timeout
- web_fetch: Add 15s HTTP timeout via AbortController
- web_fetch: Improve HTML→text conversion (block-level tags→newlines, nav/header/footer removal, comprehensive HTML entity decoding)
- web_fetch: Add content-length pre-check (10MB limit)
- web_search: Add 15s HTTP timeout per engine request
- web_search: Add URL deduplication across results
- web_search: Clean residual HTML tags/entities from snippets
- download_file: Add 60s download timeout
- tool-registry: Fix missing logWarn import
- Extract shared decodeHTMLEntities with 40+ entity mappings
2026-04-28 11:30:55 +08:00
thzxx
dbeba20286
fix(security): add path validation to git tool handler
...
handleGit was missing checkPathAllowed validation on the working
directory (cwd), allowing git operations to execute in any directory
bypassing the security policy. Added validation for:
- The cwd used by all git operations
- The clone destination directory (write permission check)
2026-04-24 13:58:19 +08:00
thzxx
15b4895351
fix: replace 'as any' with proper type assertion for git tool args
...
The git tool handler in ipc.ts was using 'args as any' to bypass type
checking. Replaced with the explicit typed params interface matching
handleGit's signature to maintain type safety.
2026-04-24 13:56:30 +08:00
Metona Dev
5fafaa691f
feat: Token 仪表盘支持全局统计,跨会话累计 Token 分析
2026-04-24 12:53:50 +08:00
Metona Dev
15ad2f3ef3
fix: skills 表增加 summary 列,修复渐进式技能加载数据丢失
...
Skill 接口包含 summary 字段且 extractSkillsFromToolRecords() 会生成摘要,
但 SQLite schema 和 saveSkill() 遗漏了该列,导致保存时 summary 丢失。
- CREATE TABLE 增加 summary TEXT DEFAULT ''
- 兼容迁移:ALTER TABLE 补充 summary 列
- saveSkill() INSERT 语句增加 summary 参数
- SkillRow 接口增加 summary 字段
2026-04-24 12:44:23 +08:00
thzxx
21b9a14824
fix: Token统计准确性修复 + 仪表盘增强
...
1. 修复eval_count只记最后一轮的bug:改为每轮累加
2. 新增prompt_eval_count(输入token)统计
3. 修复total_duration使用Ollama实际推理时间而非墙钟时间
4. 数据库messages表新增prompt_eval_count列(含兼容迁移)
5. 仪表盘显示输入/输出token分项统计
6. 柱状图堆叠显示输入(紫色)+输出(橙色)比例
7. 明细表格新增输入/输出/合计三列
2026-04-23 16:11:17 +08:00
Metona
3265b26fba
fix: remove all tool execution timeouts
...
- tool-registry.ts: remove 25s/60s IPC hard timeout on all tools
- browser.ts: remove executeJsWithTimeout wrapper, direct executeJavaScript
- No timeout on any tool — user controls lifecycle
2026-04-20 18:15:57 +08:00
Metona
9999e669d3
fix: browser tool IPC timeout — add executeJsWithTimeout + isBrowserOpen guard
...
- browser.ts: add executeJsWithTimeout() wrapping executeJavaScript with 10-15s timeout
(renderer 冻结时不再无限挂起导致 IPC 25s 超时)
- All browser functions (evaluate/extract/click/type/scroll/screenshot) check isBrowserOpen()
before execution, return clear error instead of auto-recreating empty browser window
- tool-registry.ts: browser tool IPC timeout increased from 25s to 60s
- Root cause: heavy pages (718+ links) can freeze Chromium renderer, executeJavaScript hangs
indefinitely; after browser_close, getAgentBrowser() auto-created blank window confusing agent
2026-04-20 18:10:58 +08:00
thzxx
6be27f4cfd
fix: 联网搜索强制注入当前日期(system prompt + 工具层双保险)
2026-04-20 10:17:34 +08:00
Metona Build
69a28a8500
refactor: 修复 any 滥用 & 拆分 tool-handlers.ts & 记忆数据治理 (v5.1.3)
...
Fix 2 - 类型安全:
- (window as any).metonaDesktop → window.metonaDesktop
- any[] → Record<string, unknown>[]
- 回调 :any → ChatSession | null
- 78 处 → 38 处(减少 51%)
Fix 3 - 架构拆分:
- tool-handlers.ts (1308行) → 4 个模块:
- tool-handlers-shared.ts: 共享工具函数
- tool-handlers-fs.ts: 15 个文件系统操作
- tool-handlers-system.ts: 6 个系统网络操作
- tool-handlers-git.ts: 1 个 Git 操作
Fix 4 - 记忆数据治理:
- 90 天未使用自动降低 importance
- 清理评分新增 agePenalty
- 向量错误日志增强(记忆ID、内容摘要、模型、栈)
- 去重增强(前缀匹配)
2026-04-19 18:38:31 +08:00
thzxx
1f99d61a12
fix: 日志导出移至日志顶栏, 搜索引擎Bing优先
2026-04-19 17:10:42 +08:00
thzxx
e2cb87a060
fix: 搜索引擎DuckDuckGo→百度, 移除全部超时限制, 默认85轮可配置, 执行日志导出
...
- 搜索引擎从 DuckDuckGo 换成百度(Baidu),解决国内不可达问题
- 移除全部超时限制:Agent Loop、流式响应、工具执行、web_fetch、download_file
- Agent 最大轮数从 15 改为默认 85 轮,设置面板可配置
- 日志面板新增导出按钮,支持导出为 TXT 文件
- TOOL_USAGE_GUIDE 新增禁止猜 URL 和中文搜索结果利用规则
- 版本号更新至 5.1.1
2026-04-19 17:08:46 +08:00
thzxx
9d68a07b47
fix: 修复搜索引擎/DuckDuckGo超时/web_fetch UA/Agent去重误杀,优化搜索fallback指导,版本号更新至5.0.1
2026-04-18 11:44:48 +08:00
Metona Dev
8ffba1a857
fix: 全面审查修复 - 日志/死代码/工具卡片/技能描述
...
- sqlite.ts: 移除 console.warn,改用状态变量跟踪 FTS5 可用性
- tool-handlers.ts: download_file/append_file/edit_file 补充 sendLog 执行日志
- chat-area.ts: 工具卡片补齐 29 个工具的图标/名称/参数/结果渲染
- main.ts: 移除未使用的 stopAllMCPServers 导入
- skill-manager.ts: 修复 /** 注释语法错误,补充 browser*/spawn_task 工具描述
2026-04-18 10:47:38 +08:00
Metona Dev
a6d38ed9cb
fix: 工具面板/帮助面板同步更新 + 图片上传限制
...
- 工具面板: 20→29个工具,补齐 web_search/memory_*/session_*/spawn_task/browser_*
- 帮助面板: 工具数量21→29,新增人格模式/MCP/Cron/Heartbeat说明,补充/retry等命令
- 图片上传: preload透传完整options,ipc尊重multiple参数,图片选择器限制单文件
2026-04-18 10:42:58 +08:00