v7.2.0
v7.2.0
全面重构 Agent 框架,提升工具调用稳定性与扩展性
- 用新的
AgentLoop(QThread 驱动)替换原有的AgentToolMachine、AgentToolExecutor、UiToolExecutor,AI 对话中的流式输出、工具调用与权限检查全部由 AgentLoop 统一管理 - 新增
PermissionEngine,支持按工具配置 allow / ask / deny 规则,替代原来基于策略的工具审批机制 - 新增只读工具并发执行(批处理):当模型同时调用多个只读工具时可并行运行,减少等待时间
- 新增对话压缩(Compaction)与 token 估算,自动在超长对话时压缩历史消息,避免超出模型上下文限制
- AI 合并冲突解决(ResolveConflictJob)迁移至独立的 AgentLoop 实例
新增技能(Skills)系统,支持可扩展的提示词模板
- Agent 模式现在支持从项目目录加载 YAML 格式的技能文件(
.github/skills/等标准路径),技能内容在对话开始时作为系统提示注入 - 内置
patch-review技能随应用一起分发,代码审查功能通过该技能驱动,移除了原有的硬编码CODE_REVIEW_SYS_PROMPT和CODE_REVIEW_PROMPT - 技能支持别名与参数提示,可通过斜杠命令直接调用
新增斜杠命令(Slash Commands)输入支持
- 在 AI 聊天输入框中输入
/可弹出可用技能列表,选择后自动填充命令,键盘与鼠标均可操作 - 弹出框自动适应内容高度,命令名称以粗体显示便于识别
- 执行斜杠命令时直接触发对应技能,无需手动复制提示词
优化本地 LLM 配置,支持自定义 HTTP 请求头
- 偏好设置中新增自定义 HTTP 请求头管理界面,可为本地 LLM 请求添加任意 header(如
Authorization、X-API-Key等) - 原有的
localLlmAuth授权字段自动迁移至自定义请求头,升级后无需重新配置 - 支持为 OpenAPI 兼容模型指定默认模型名称
- 修复网络错误未正确传播至调用方的问题,网络异常现在会在对话中显示错误信息
修复 DiffView 文件状态显示异常
- 修复纯复制(copy-only)操作的目标文件在 DiffView 中未显示为"已添加"状态的问题(图标和颜色错误)
- 修复重命名/复制的文件状态在增量解析多段 diff 数据时丢失的问题,避免重命名目标被错误显示为"修改"
- 修复新增子模块在 diff 中未被标记为"已添加"的问题
Full Changelog: v7.1.0...v7.2.0