Commit Graph
158 Commits
Author SHA1 Message Date
紫影233 80581deb37 v0.16.10: 最小必要性清理 — 删除非必要校验和注入提示
按"让 AI 自己判断"原则,删除所有"工程师判断"性质的校验代码和注入提示,
只保留安全防护(路径沙箱/命令安全/参数消毒)和必要的上下文管理(压缩/截断)。

删除项:
- completion-gate.ts 整个文件(notThinking/toolResultReview/contextEfficiency/planModeCompletion)
- verifyToolResult 工具结果核验函数 + TOOLS_NEED_VERIFY 常量
- 跨轮次死循环检测器(recordLoopSignature/detectLoopDeadlock/resetLoopDeadlockDetector)
- R77 checkRateLimit 速率限制 + R87 isToolCircuitBroken 熔断器 + R104 isDuplicateToolResult 去重
- R56 目标对齐验证 + R63 速率限制 + R87 熔断器 + R104 去重检测 + R119 优先级排序
- agent-metrics recordCompletionGate + completionGatePassed + avgCompletionScore 相关代码
- context-manager 低价值关键词黑名单 + 快速摘要改用 user role
- LoopContext 的 completionGateFailCount/verifyWarnings 字段

修复项:
- R76 路径沙箱 replace bug:用 startsWith 前缀锚定替代 replace,避免子串误判
- R28 命令注入检测:缩小匹配范围,仅拦截命令替换中包含危险命令的情况

总计 13 文件变更,+46/-1124 行
2026-07-16 16:44:04 +08:00
紫影233 a4b82b45bc v0.16.9: 核心引擎深度分析修复 — 27 个问题(P0×8 + P1×19 + P2 死代码)
引擎层(agent-engine.ts):
- P0-R1: handleExecuting 中止改 throw AbortError,让主循环 catch 统一处理 UI 反馈
- P0-E1: executeToolWithTimeout 注释修正,明确 fire-and-forget 限制
- P0-P3: persistLoopContext 改名 snapshotLoopContext + 补全字段,明确语义为运行时快照
- P1-E1: handleInit 增加 isAborted 检查(loadCustomFiles 和 search 后)
- P1-E2: catch 块调用 snapshotLoopContext 确保终止状态写入
- P1-E3: onConfirmTool await 后检查中止信号
- P1-E4: flushAllTraces 改为 await
- P1-E5: 死锁检测 ephemeral 消息加入 PRESERVE_PATTERNS
- P1-E6: 记忆提取 setTimeout 存储到 _pendingMemoryTimers,finally 块清理
- P1-R5: handleExecuting 中止时设置 _abortToolRecords

上下文层(context-manager.ts + agent-engine.ts):
- P0-C1: 删除 nonSystemCompressed,旧摘要不再保留(已合并到新摘要)
- P0-C2: 部分删除 tool 消息时也 strip tool_calls,降级为纯文本 assistant
- P1-C1: handleCompressing 移除 shouldAutoCompress 二次判断,直接执行压缩
- P1-C2: COMPRESSING 状态增加中止检查
- P1-C3: R15 tail 边界保护 middle 无 assistant 时移除孤立 tool 消息
- P1-C4: 压缩接受条件改 AND(3 处:handleInit/R8/handleCompressing)
- P1-C6: head 中已压缩消息的 tool_calls 清除,避免累积膨胀

渲染层(chat-area.ts + input-area.ts + workspace-panel.ts):
- P0-R2: appendAssistantPlaceholder 重置 _streamLastRenderedLen/_streamLastRenderedHash/_streamRenderContent
- P1-R1: rAF 竞态通过重置 _streamRenderContent 解决
- P1-R2: clearMessages/clearMessagesDOM 重置 _sysPromptRendered
- P1-R3: onNewIteration 渲染顺序修正(remove → render → append)
- P1-R4: updateToolCardDOM 改用 querySelectorAll 取最后一个匹配

持久化层(chat-db.ts + sqlite.ts + ipc.ts + history-modal.ts):
- P0-P1: onNewIteration 调用 saveCurrentSession 持久化中间消息
- P0-P2: 非 AbortError 异常时保存 partial 消息(标记 interrupted: true)
- P1-P1: saveSession 增量保存(_savedMsgIds Set 追踪),resetSavedMsgTracking
- P1-P2: 新增 saveSettingsBatch 批量写盘接口 + IPC handler
- P1-P3: 删除死表 tool_calls 的 saveToolCall/getToolCallsBySession 函数和 IPC handler

死代码清理:
- chat-area.ts: 删除 appendToolCallCardToPlaceholder/updateToolCallCardInPlaceholder(从未调用)
- chat-area.ts: 删除 _streamRenderThink/_streamRenderModel 未使用变量
- input-area.ts: 删除 updateMessageToolRecord 空函数 + 对应 import

版本号 0.16.8 → 0.16.9
2026-07-16 15:53:28 +08:00
紫影233 2ac07208b5 v0.16.8: Agent Loop P0-P3 修复 + 死代码清理 + 版本号升级
- P0: executeToolWithTimeout 重写为 Promise.race,实现真正超时中断
- P1 #2: R8 紧急压缩限制最多 2 次,防止溢出→压缩→重试无限循环
- P1 #3: 新增 snapshotSafetyState/restoreSafetyState,Sub-Agent 在隔离环境中运行
- P1 #4: persistLoopContext 中止时持久化 TERMINATED 状态
- P1 #5: Completion Gate 失败时注入纠正提示并重试(最多 1 次)
- P2 #6: executeSingleTool 重试逻辑兜底返回完善
- P2 #7: 压缩阈值提高(0.3→0.5, 0.8→0.85)+ compressedThisCycle 防同轮重复压缩
- P2 #8: 路径依赖检查优先于 ALWAYS_PARALLEL,防止读写同路径被错误并行
- P2 #9: R105 消息年龄追踪改为内容哈希 key(后被确认为死代码并清理)
- P3 #11: ctx_tokens 统一语义为 prompt_eval_count
- P3 #12: 自动记忆提取捕获 signal 引用,避免竞态
- P3 #13: verifyToolResult 返回警告字符串供 Completion Gate 使用
- 注入消毒增强:零宽字符移除、全角→半角、新增覆盖模式
- 死代码清理:R105 上下文年龄追踪系列函数(无任何调用点)
- 版本号 0.16.7 → 0.16.8(package.json/lock, menu.ts, index.html, README.md)
2026-07-16 14:31:19 +08:00
紫影233 bd3a06bfaf v0.16.7: 引擎修复 + 工具面板统一 + AGENT.md 改为仅工作空间加载
核心引擎修复:
- 状态转换表补全 THINKING/PARSING/EXECUTING -> COMPRESSING,修复紧急压缩成为死代码的 P1 问题
- 新增跨轮次死循环检测器(软性提示 + 硬性熔断),防止模型陷入重复工具调用死循环
- handleCompressing 空响应回到 THINKING 而非 REFLECTING,避免错误终止
- executeHooks 添加 .catch() 防止未处理的 Promise 拒绝
- ALWAYS_PARALLEL 移除 git 和 browser_evaluate(有副作用的工具不应并行)
- thinking fallback:content 为空但有 thinking 时,用 [推理过程] 作为 content 保留上下文
- 8个写类工具添加专用格式化器(含 success + message 字段)
- 清理死代码:3个未使用函数 + 3个未使用 import

工具面板统一:
- 10个工具独立下拉框统一为1个全局执行模式选择器
- FIFO 队列防止并行 showToolConfirm 导致静默取消
- delete_file 支持 paths 数组参数批量删除

工具定义与实现一致性修复:
- run_command 移除未使用的 timeout 参数,描述改为"超时可配置"
- list_directory 添加 2000 条截断逻辑 + filter_extension 参数
- calculator 正则移除 ^ 字符(parser 用 ** 替代)
- search_files/tree/web_search/fetch_top 描述与实现对齐

消息传递修复:
- trimByTokenLimit 改为原子组选择(assistant+tool_calls 与后续 tool 消息作为一组)
- 历史工具结果复用 formatToolResultForModel,与当前格式一致

AGENT.md 加载策略变更:
- 删除内置 AGENT.md 文件
- 仅从工作空间加载:有则注入,无则跳过

其他修复:
- 修复初始化失败 "Cannot convert undefined or null to object"(saveSetting null 导致 JSON.parse 陷阱)
- 修复工作空间命令行标签页 idle 状态残留导致样式错乱

版本号: 0.16.5 -> 0.16.7
2026-07-14 16:26:43 +08:00
thzxx b8ea18e568 v0.16.2: 优化附件提示词格式 — 去base64/真实文件名/用户文字前置 2026-07-12 08:04:53 +08:00
thzxx d479666182 v0.16.1: 优化Reflecting阶段说了做但没做检测逻辑,降低误判率 2026-07-11 23:46:55 +08:00
thzxx 64b7d307e7 v0.16.0: Agent ReAct Loop 深度优化 R51-R128 (上下文管理/安全治理/性能分析/会话持久化) 2026-07-11 23:31:27 +08:00
thzxx cb2ce48eb7 v0.15.0: Agent ReAct Loop 核心引擎深度审计与生产级增强 (R1-R50)
核心引擎健壮性(R1-R10)、上下文管理优化(R11-R20)、工具安全与验证(R21-R30)、UI渲染性能(R31-R40)、基础设施与监控(R41-R50)、版本号升级
2026-07-11 20:56:48 +08:00
thzxx 4ceec0d855 chore: bump version to 0.14.15 2026-07-11 15:46:32 +08:00
thzxx e5224e4a8d chore: bump version to 0.14.14 2026-07-10 21:34:15 +08:00
紫影233 91a30193a7 v0.14.13: Token Dashboard 上下文计算修复 + 校准比例修正 + 已有TS错误修复 2026-07-10 16:14:38 +08:00
紫影233 c824562f68 v0.14.12: SearXNG pageno pagination + max_results HTML mode UI
- SearXNG: pageno分页+URL去重+早退, 准确满足max_results
- SearXNG: HTML模式禁用单次结果数输入框+提示
- menu.ts: 关于对话框版本号同步
- 版本号0.14.12
2026-07-10 12:55:51 +08:00
thzxx e3b44a0357 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)
2026-07-09 22:31:04 +08:00
紫影233 b947744f08 v0.14.10: Agent Loop 引擎优化 - 修复误杀+去重+稳定性增强 2026-07-08 13:03:45 +08:00
紫影233 d7d64c5579 fix: README图标引用改为存在的llama.png 2026-07-07 14:20:57 +08:00
紫影233 e9e64eb9c8 v0.14.9: fix prompt injection, context compression, auto memory, icon path 2026-07-07 14:05:17 +08:00
紫影233 7c78a65a9c fix: 全面修复内置工具问题 + 架构缺陷修复 (v0.14.8)
P0: replace_in_files glob重写, search_files正则修复, list_directory递归分页修复, git stash/tag参数修复, buildSearchResponse query字段修复; P1: compress命令注入修复, run_command输出限制, download_file UA+重试; P2: web_fetch extract_mode/mobile_ua生效, read_multiple_files默认值对齐, CONFIRM_TOOLS扩展, 工具图标/名称映射补全; P3: random死代码清理, IPC类型补全; 架构: 系统提示词重复渲染修复, 版本号动态注入, 上下文余量字段修复, 工具记录丢失修复
2026-07-07 11:44:48 +08:00
thzxx e67d638e06 chore: 版本号 0.14.6 → 0.14.7
fix: onNewIteration 只在 THINKING 状态调用,消除每状态切换的冗余触发
fix: renderMessages 全量清空重建,去掉增量 diff 的边界 bug
fix: 空消息跳过增加 think 判断,纯思考卡片不再被吞掉
fix: updateMessageToolRecord 改为空函数,工具卡片统一由 onDone 挂载
2026-06-28 23:16:05 +08:00
thzxx 20701433dd chore: 版本号 0.14.5 → 0.14.6
fix: onNewIteration 空数组真值导致重复消息卡片([] truthy in JS)
2026-06-28 21:08:50 +08:00
thzxx 2f37111074 chore: 版本号 0.14.4 → 0.14.5
refactor: Hook 系统精简 — 7个→2个(SecurityCheck + FileWriteDedup)
delete: verification.ts 删除(DiffAnalyzer/FileChangeAudit 仅打日志无实际作用)
remove: ResultValidation/IterationMetrics/PlanAutoTrack Hook
merge: write_file 路径记录内联到 agent-engine
2026-06-28 20:49:34 +08:00
thzxx adff2f36eb chore: 版本号 0.14.3 → 0.14.4
refactor: Plan Mode 进度仅变化时注入(避免每轮冗余)
refactor: Plan Mode 执行规则精简 20行→3行
refactor: 断点续传提示词合并
refactor: PlanAutoTrack Hook 去除模糊匹配,仅 AI 手动 plan_track 精确标记
refactor: buildHistoryMessages 取 user+assistant,不取 system
refactor: 附件传递改为 JSON 结构化(文件/视频 Base64,图片仅 images[])
refactor: 用户文字始终排在附件 JSON 之后
fix: onDone 双重渲染导致 AI 消息卡片重复(正常路径+重试路径)
2026-06-28 20:42:50 +08:00
thzxx 3ddd493847 chore: 版本号 0.14.2 → 0.14.3
fix: AI 回复消息卡片重复渲染 — onDone 去掉 updateLastAssistantMessage 避免双重 DOM
fix: 用户消息卡片只显示用户文字,代码生成的附件标记不显示
fix: onDone assistantMsg 补充 model 字段
2026-06-28 19:52:53 +08:00
thzxx 4c0405dc95 chore: 版本号 0.14.1 → 0.14.2
refactor: 移除抗幻觉全部功能(幻觉检测/反幻觉提示词/Completion Gate阻断)
perf: 精简提示词(去掉进度锚点/项目索引,简化任务感知/预算警告措辞)
fix: 模型能力徽章启动时不显示(await filterEmbedModels)
fix: 剩余上下文改用 estimateTokens 估算(Ollama KV Cache 导致虚高)
fix: 去掉流式空闲30s超时(大模型本地推理响应慢)
fix: 能力介绍类回复不再触发幻觉误判(已随抗幻觉移除一并解决)
2026-06-28 13:54:11 +08:00
thzxx b5a8a793e2 chore: 版本号 0.14.0 → 0.14.1
fix: 去掉流式空闲30s超时(大模型本地推理响应慢易误中止)
fix: await filterEmbedModels 确保启动时模型能力徽章正常显示
fix: 剩余上下文改用 estimateTokens 估算而非 Ollama eval_count(KV Cache 导致虚高)
2026-06-28 13:25:59 +08:00
thzxx 2a9d8606ba feat: v0.14.0 生产级引擎+渲染全面优化
Engine 核心优化 (P0-P3):
- 智能工具重试: 永久错误(ENOENT/EACCES)立即返回, 瞬态错误指数退避
- 路径依赖检测: write→read/create→write 自动串行化, 避免并行竞态
- AbortController 集中生命周期管理, 防泄漏+竞态
- 上下文压缩: 200条硬上限 + 120条增量压缩, 防止 Ollama OOM
- 流式分级超时: 空闲30s + 总300s, 区分思考/卡死
- 工具缓存: default TTL 60s, 各工具独立TTL, 不再永久缓存
- 结果截断: 2000字智能截断, 优先JSON/换行边界保护
- Plan Mode 断点续传: 中止后自动恢复未完成计划
- 幻觉检测: 中英双语规则, agent-engine+completion-gate 统一共享
- Trace 缓冲批量写入 + 3次重试
- Agent Metrics JSON/Prometheus 双格式导出

渲染优化 (P0-P2):
- 流式纯文本追加, 流结束才 Markdown, 消除 O(n²) 性能瓶颈
- 终端增量 DOM appendChild, 替代全量 innerHTML 重建
- 消息 diff: Set<number> 索引替代 DOM querySelectorAll 计数
- ANSI 解析: 正则批量替换替代逐字遍历
- 终端截断保留系统消息行

Qwen3 兼容:
- system 消息始终唯一且位于首位
- SOUL.md 合并到统一 system prompt
- 中途注入 system→user, 避免触发热模板 400

上下文长度控制:
- 设置面板下拉(128K/256K/512K/1M), 默认128K
- 模型栏显示配置值, 下拉框显示模型自身ctx
- 全局硬编码 24576→131072

版本号 v0.13.8 → v0.14.0
README.md + 帮助面板全面更新
2026-06-28 12:54:56 +08:00
thzxx e62f4fbcad chore: 版本号 0.13.7 → 0.13.8 2026-06-24 22:56:13 +08:00
thzxx 3d2a5c4e76 chore: 版本号 0.13.6 → 0.13.7 2026-06-24 22:40:17 +08:00
thzxx 76062036bb chore: 版本号 0.13.5 → 0.13.6 2026-06-24 22:21:34 +08:00
thzxx e41e4d9f80 chore: 版本号 0.13.4 → 0.13.5,全面更新README和帮助面板 2026-06-24 22:05:00 +08:00
thzxx 2348bea5c3 chore: 版本号 0.13.3 → 0.13.4 2026-06-24 21:57:21 +08:00
thzxx 9652533b35 chore: 版本号 0.13.2 → 0.13.3 2026-06-24 21:33:01 +08:00
thzxx 47bfc5e629 fix: 跨Agent Loop工具上下文断裂修复 — 历史消息注入tool_calls+tool结果+Plan进度 2026-06-24 21:22:12 +08:00
紫影233 3564087fb4 chore: 版本号 0.13.0 → 0.13.1 2026-06-24 15:49:46 +08:00
紫影233 0903d740da v0.13.0: 记忆系统重构 — MEMORY.md 文件化 + 路径保护 + 自动提取优化
核心变更:
- 删除 SQLite memories 表 + FTS5 + IVF 向量存储引擎 (~1300行)
- 4 个记忆工具合并为 1 个 memory 工具 (5 action)
- 记忆存储改为工作空间 MEMORY.md 单文件,严格格式校验
- 路径保护: checkPathAllowed 拦截所有工具,仅 memory 专用 IPC 通道可访问
- 应用启动/工作空间切换时自动校验并初始化 MEMORY.md(格式错误自动备份重建)
- 自动记忆提取重建: 对话结束时触发,多层质量过滤(内容/泛化/去重/安全/importance门槛)
- 工具总数: 42→40,UI 全面更新(帮助面板、工具面板、设置面板、README)
- 版本号更新: 0.12.11 → 0.13.0
2026-06-24 14:49:09 +08:00
紫影233 c7aa5df81c v0.12.11: Plan Mode 格式标准化 + 图片附件感知 + 弹窗UI优化
feat: Plan Mode 强制输出格式模板(任务分析/执行计划/预期结果)
feat: 支持无需工具步骤,纯分析推理任务不再强制工具调用
feat: 反幻觉铁律新增3条(已上传附件不查找、read_file不能看图、Plan不规划查找步骤)
fix: 上传图片后消息文本明确提示AI图片已随消息提供
fix: Plan Mode确认弹窗UI优化(步骤卡片样式/宽度/滚动)
style: extractPlanSteps 双策略解析,兼容多种模型输出格式
2026-06-24 11:40:18 +08:00
紫影233 d7275b08e8 v0.12.10: 修复工作空间目录设置不生效 + 版本号更新
fix: 工作空间目录设置三处断链修复
  - ipc.ts: setDir 时持久化到 SQLite,启动时自动恢复
  - settings-modal.ts: 设置成功后通知 workspace-panel 刷新
  - workspace-panel.ts: 监听目录变更事件,立即重载文件列表

chore: 版本号 0.12.9 → 0.12.10
2026-06-24 10:58:49 +08:00
thzxx 2d3ea85255 v0.12.9: Completion Gate 架构修复 + 工作空间文件夹选择 + 搜索/Plan 全链路加固
Fix:
- Completion Gate read_file 误报消除 — 缩窄匹配为仅明确工具声明 + 写后读豁免
- Gate 阻断重试消息重写 — 待办中与 Gate 拦截匹配时明确要求调工具而非模糊修正
- FileWriteDedupHook (pre_tool) + PlanAutoTrackHook (post_tool) — Harness 插件化
- 工作空间浏览按钮修复 — openFile→openDirectory,原生文件夹选择对话框
- pre_tool Hook 执行结果可阻断 — HookResult.passed=false 时拦截工具执行
- Plan 步骤上限 6 + 动词过滤 + 阶段标题过滤 — 适配不同模型格式
- Plan Mode 任务描述固化到系统提示词 — 压缩后不丢失任务目标
- 全部完成信号去重 — system 消息不重复注入
- handleReflecting 空响应 pop() 精确定位最后 assistant 消息

Refactor:
- agent-engine.ts 移除全部硬编码模块变量和函数 — 迁移到 Hook 系统
- extractPlanSteps 增加 ACTION_VERBS 动词过滤
- Plan rejection 不再重置 loopCount
2026-06-23 22:46:00 +08:00
thzxx 44cb5037ec v0.12.5: Plan 自动追踪 + 待办完成确认 + 搜索/上下文质量加固
Fix:
- Plan Mode 自动追踪 — 工具执行成功后自动匹配步骤标记完成,不再依赖模型调用 plan_track
- 待办全部完成时注入正面确认信号,防止模型遗忘已完成的写入操作
- plan_track 提示词简化 — 移除冗余催促文本,进度自动更新
- 搜索自动抓取硬上限 MAX_AUTO_FETCH=8 + 相关性过滤
- 工作空间路径安全豁免 — 修复 AppData 黑名单自相矛盾
- 浏览器回退 LRU 缓存 — 同 URL 10min 内不重复渲染
- Plan Mode 任务描述固化到系统提示词 — 压缩后不丢失
- ephemeral 清理高负载时跳过 — Plan 进度在压缩时仍可见
- SearXNG 抓取条数输入框 min=1 max=8
2026-06-23 21:15:17 +08:00
thzxx d3c3bacb8d v0.12.4: 安全豁免 + 搜索质量 + 上下文管控 + 版本纪律 Cleanup
Fix:
- 工作空间路径安全豁免 — AppData 拦截自相矛盾,tree/list_directory 恢复正常
- 搜索自动抓取硬上限 MAX_AUTO_FETCH=8,防止上下文爆炸 132%
- 搜索结果相关性过滤 — 跳过 Canva/ChatGPT 等无关条目
- 浏览器回退 LRU 缓存 — 同 URL 10min 内不再重复渲染
- Plan Mode 任务描述固化到系统提示词 — 压缩后不丢失目标
- ephemeral 清理时机优化 — 高负载时跳过,避免 Plan 进度丢失

Refactor:
- 全项目 v0.12.0 → v0.12.4 版本号同步(7 文件)
- 版本号纪律:仅 5 白名单文件保留版本号,其余 14 源码全部清除
- docs/DEVELOPMENT.md 据实重写(目录/架构/规范/SearXNG/Harness)
- SearXNG 抓取条数输入框改为 min=1 max=8 数字框
- 代码注释中的版本标记全部移除,仅描述功能
2026-06-23 20:45:53 +08:00
紫影233 042e00e4a6 v0.12.3: 全面审计修复 + 稳定性加固 + 文档更新
P0 安全/稳定性修复 (6项):
- sqlite persist 改用临时文件+rename,I/O错误日志
- IPC fs 处理器加入 checkPathAllowed 路径验证
- handleCompress 命令注入修复 + 跨平台 (powershell/tar/zip/unzip)
- browser 全页截图简化,使用 capturePage full rect
- workspace 竞态条件修复
- editFile 5MB 大小限制

P1 安全/稳定性修复 (7项):
- 大小写不敏感搜索: query 同步转换小写
- web_fetch 无 content-length 时流式读取+10MB限制防OOM
- Windows SIGTERM 改用 taskkill /PID /T /F 强制终止
- startsWith 路径检查 Windows 大小写不敏感
- 安全黑名单扩展: 33个目录路径 + 30条危险命令 (Linux+Windows)
- plan_track stepIndex 改用 typeof === 'number' 精确检查
- MCP 前缀改用双下划线分隔 mcp_{server}__{tool} 防歧义

P2 代码质量修复 (8项):
- 修复 EXECUTING→THINKING 死循环Bug (转换表缺失)
- COMPRESSING 硬上限绕过时同步 _loopState 全局状态
- Abort 路径补齐 onDone 回调, 防止UI状态残留
- 幻觉检测从4条扩展到16条规则, 覆盖全部工具类别
- 移除 getTokenEfficiency 死代码
- 跨平台路径清理 (replace(/[\/]+$/, ''))
- 动态 import 加 try/catch, 失败自动批准不阻断
- #modelSelect 加 null 守卫, 防止运行时崩溃

文档 & UI 更新:
- README.md: 版本号/特性表/架构图/安全机制/工具清单全面刷新
- 帮助面板: 新增 Plan Mode、抗幻觉&稳定性章节, Agent Loop补8状态机
- 工具面板: plan_track卡片 + plan-mode徽章样式, 标题更新为42+1
- 工作空间面板宽度: 480px → 400px
- 源码注释移除所有版本标签, 仅保留4处必要位置
- 版本号 0.12.2 → 0.12.3
2026-06-23 17:06:43 +08:00
thzxx 20cbfbd169 v0.11.11: 彻底移除技能系统,工具 44→42,SQLite 7→6 张表
- 删除 src/renderer/services/skill-manager.ts (480行)
- sqlite.ts: 删除 skills 表/索引/迁移/SkillRow接口/CRUD
- ipc.ts: 删除 6 个 skills IPC handler
- preload.ts/types.d.ts: 删除 skills bridge 方法/类型
- agent-engine.ts: 删除技能匹配上下文注入/自动提取
- tool-registry.ts: 删除 skill_list/skill_view 工具定义/执行
- log-service.ts/sub-agent.ts/workspace-panel.ts: 清理引用
- index.html: 帮助面板/工具卡片更新,44→42
- README/release-notes/DEVELOPMENT/AGENT: 文档全量同步
2026-06-22 18:13:01 +08:00
thzxx 950450bc65 chore: 版本号 0.11.9 → 0.11.10 2026-06-20 13:30:14 +08:00
thzxx e84f62c482 v0.11.9: 修复纯文本消息卡片丢失 + 子代理参数可配置
fix: 恢复纯文本消息的 else if 分支,修复 fed1e6d 重构后用户消息卡片不显示
fix: allVids 类型注解补充 base64 字段,消除 TS2322 编译错误
feat: 子代理最大轮次和超时接入设置面板(subAgentMaxLoops/subAgentTimeout)
chore: 版本号 0.11.7 → 0.11.9
2026-06-20 13:04:17 +08:00
thzxx 5ed9a1f9f6 feat: 视频上传支持 (v0.11.7)
- 新增视频上传按钮,支持 mp4/avi/mov/mkv/webm (≤10MB)
- ffmpeg 1fps 提取帧序列,自动缩放至512px,带时序标注
- 消息中注入帧序列时间线,多模态模型原生理解视频时序
- 视频按钮与 vision 模型能力自动联动
- 版本号 0.11.6 → 0.11.7,同步更新 README/帮助面板/菜单
2026-06-18 10:58:55 +08:00
thzxx a74fca741d fix: 修复 Think 模式开关无效 — toggleThink 缺少 change 事件导致 state 未同步
- model-bar.ts: 新增 toggleThink change 事件监听,同步 state.thinkEnabled
- setThinkAvailable(true) 保留自动开启行为(模型支持时强制开启)
- 版本号 0.11.5 → 0.11.6,同步7个文件13处
2026-06-17 12:34:23 +08:00
thzxx a336a66516 v0.11.5: 搜索抓取增强 + 流式进度修复 + 超时/写入容错
feat: 搜索面板新增认证类型 Bearer/Basic,自动抓取条数/类型(顺序/随机)
feat: 随机抓取失败自动从未抓取池补1条,上限移除
fix: write_file 缺 path 时返回引导性报错(含工作空间路径+平台示例)
fix: Ollama tool_calls arguments JSON字符串解析
fix: 流式进度日志不再删除,改为完整时间线记录
fix: 进度日志同步appendChild确保排在工具日志之前
fix: 超时设置面板/主进程 remove max上限
chore: 版本号 0.11.4 → 0.11.5
2026-06-13 21:35:22 +08:00
thzxx 0b58639295 chore: 0.11.3 -> 0.11.4 2026-06-13 08:17:44 +08:00
thzxx 45777a5945 feat: v0.11.3 - 工具卡片三态转换 + 流式进度监控 + 默认工具页签
- 工具卡片完整生命周期: 准备中 -> 执行中 -> 完成
- onToolCallPrepare 流式阶段提前显示工具意图
- 工作空间监控定时器: AI处理中提示
- 日志面板流式进度: 每5秒输出, 15秒无新内容警告
- 提示栏按状态分组显示所有工具
- write_file 写入前增加开始日志
- 工具页签新卡片始终自动滚动到底部
- 默认页签切换为工具页签
2026-06-12 22:28:16 +08:00
thzxx ce4eea40ee docs: 更新帮助面板和README中搜索相关描述,反映SearXNG双模式集成 2026-06-12 13:07:17 +08:00
thzxx 2bdcb2735f chore: bump version to 0.11.2 2026-06-12 12:45:57 +08:00