12 KiB
12 KiB
更新日志
所有重要更改都记录在此文件中。格式基于 Keep a Changelog。
v5.4.0 (2026-05-09) — Release
✨ 新增功能
- 跨平台进程保护模块 (
xcli_core/process_protection.py)- 单实例保护 — 防止重复启动,Windows 使用命名 Mutex,macOS/Linux 使用 fcntl 文件锁(自动清理残留锁文件)
- 进程优先级提升 — Windows:
SetPriorityClass(ABOVE_NORMAL/HIGH/REALTIME),macOS/Linux:os.nice()+renice - Windows PPL 风格保护 —
SetErrorMode抑制系统错误弹窗 (SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX)、faulthandler崩溃堆栈捕获 - POSIX 信号保护 — macOS/Linux 忽略 SIGHUP(终端关闭不退出)、注册 SIGTERM 优雅关闭、macOS 忽略 SIGPIPE
- 看门狗监控 — 后台线程监控父进程状态,父进程退出时自动清理并退出
- 关闭钩子系统 — 注册自定义清理函数,进程退出时自动执行
- 一键启用 —
enable_process_protection()单函数调用启用全部保护 /protect命令 — CLI 中查看保护状态,/protect test重新测试所有保护
改进
platform_utils.py新增is_process_running()、get_process_priority()、set_process_priority()跨平台工具函数cli_base.py启动时自动初始化进程保护,退出时自动清理cli_core.py启动 banner 显示保护状态图标(单实例/优先级/PPL/看门狗)- 全版本号统一更新至 v5.4.0
v5.2.0 (2026-05-08)
✨ 新增功能
- 插件内存管理器 (
plugin_memory_manager.py) — TTL 自动淘汰 + 懒加载机制- 后台线程定期扫描空闲插件,超过 TTL(默认 5 分钟)自动从内存卸载,释放资源
- AI 调用已卸载的插件时自动重新加载(懒加载),对用户完全透明
- 核心插件(
tool_search)可钉住永不淘汰,保障基础功能可用 - 可配置参数:TTL 时间、最大空闲插件数、扫描间隔、钉住列表
/status命令和 TUI 侧栏实时显示内存管理状态(已加载/已卸载/统计)search_tools支持搜索已卸载插件(使用缓存的元数据,无需加载实例)
统一插件格式
- 统一自研插件入口类名为
Liugin— 18 个插件从class Plugin统一为class Liugin- 加载器保留
Plugin回退兼容,第三方插件仍可用旧格式 - 测试块中
Plugin()调用同步更新为Liugin()
- 加载器保留
TUI 修复
- 修复消息分类失效 —
_write_raw中空字符串'' in msg永远为 True,导致所有消息显示为工具成功样式;替换为正确的 emoji 标记(✅/❌/🤖) - 修复侧栏切换失效 — Textual 无
.visible布尔属性,改用has_class("hidden")+ CSS 类控制显隐 - 修复侧栏隐藏动画 — CSS
display: none阻止过渡动画,改用width: 0+opacity: 0方案 - 修复 TextArea 导入缺失 —
constants.py可用性检查未导入TextArea、Rule - 修复
set_timer(0)崩溃 — 欢迎动画首行延迟为 0.0 导致 Textual 8.x 除零错误(ZeroDivisionError),使用max(0.01, delay)修复
改进
UnifiedToolManager重构:集成PluginMemoryManager,所有工具访问统一走_ensure_loaded路径- 新增
get_all_tools_info()方法,系统提示词可列出所有注册工具(含已卸载) - 新增
get_tool_by_name()/memory_manager属性,兼容旧LiuginManager接口
v5.1.4 (2026-04-29)
新增功能
-
桌面GUI自动化插件 (
gui_auto, 20 操作) — 基于 Windows UI Automation (UIA) API,AI 可识别和操控桌面应用- 元素树获取 (
snapshot) — 获取整个屏幕或指定窗口的 UI 元素树,支持自定义遍历深度 - 元素交互 — 点击/右键/双击(名称模糊匹配 + 坐标点击),文本输入(中文 Unicode)、清空、发送按键
- 窗口管理 — 列出所有窗口 (
windows)、聚焦指定窗口 (focus) - 元素查询 — 查找/查找所有/详情/值/子树/存在检查/状态,共 8 个查询操作
- 高级功能 — 等待元素出现(带超时)、高亮闪烁元素(GDI 红色边框)、滚动
- MCP/FC 完整定义,AI 通过 Function Calling 直接调用,非 Windows 环境优雅降级
- 元素树获取 (
-
AI 生图插件 (
ai_image) — 基于 ai.2x.nz 自然语言生图接口- 自然语言描述 + 直接 Tag 双模式
- 工作流切换、画风选择、分辨率调整
- 异步生成 + WebSocket 进度推送
- 生成历史记录
-
Web UI 后端 (
webui_server.py) — WebSocket 实时通信 + 静态文件服务- 纯 Python 实现,基于
websockets库 - 支持命令行参数 (
--port/--host) - 与前端
webui.html配合,提供完整的浏览器端 AI 交互体验
- 纯 Python 实现,基于
改进
- Web UI 前端重写 (
webui.html) — 从纯静态页面升级为 WebSocket 实时交互- 大厂设计感 UI,响应式布局
- 实时消息流、打字机效果
- 支持工具调用结果展示
文档
- 更新 README.md: 插件列表、项目结构、badge 版本号
- 更新 CHANGELOG.md: v5.1.4 完整变更记录
- 更新 HELP.md: 新增 GUI 自动化使用说明
测试
- 新增 gui_auto 插件 30 个单元测试(工具信息、MCP 定义、参数转换、错误处理、操作路由)
v5.1.3 (2026-04-28)
新增功能
- 图像生成插件 (
image_generator) — 基于 ai.2x.nz 的 ComfyUI 在线服务,自然语言/Tag 双模式,支持中文描述,28 个角色工作流可选,分辨率可调(最大 1344×1344) - 记忆系统插件 (
memory_plugin) — 包装xcli_core/memory.py的完整记忆工具,AI 可写日记、读日记、搜索记忆、管理聊天记录、操作长期记忆 MEMORY.md - AI 编程助手横评页面 (
compare.html) — 7 款工具(Claude Code / Codex CLI / Gemini CLI / Aider / Copilot CLI / 小狸 / TG HELPER)25+ 维度同口径对比
修复
- 修复记忆系统插件(
Liugin类在xcli_core/memory.py中定义但未被插件管理器加载)导致 AI 无法调用记忆工具的问题,新增plugins/memory_plugin.py包装层
文档
- 全面更新 README.md 至 v5.1.3
- 新增记忆系统、Clawli 远程模式、MCP 协议支持、定时任务、系统通知等功能说明
- 更新插件列表:15 个 → 17 个(+image_generator, +memory_plugin)
- 更新操作数:141 → 141+
- 补充 MCP 协议支持说明(17 个插件全部实现 MCP 定义)
- 补充插件开发文档中
Liugin/Plugin双协议说明
贡献者
- 感谢 艾轮 卧壳 对本版本的贡献 🖤
v5.1.2 (2026-04-26)
新增功能
- 自动语法检查系统 — 编辑操作(edit/multi/insert/delete_lines/create/write/append)完成后自动检查代码语法,通过显示 ✓,失败显示详细错误信息(行号、列号、错误描述)
- 主动语法检查 — 新增
syntax_check <文件>/check <文件>操作,AI 可随时主动检查任意文件语法 - 多语言支持 — 语法检查覆盖 Python (ast.parse + py_compile)、JavaScript、TypeScript、JSON、YAML、TOML、HTML/XML (标签匹配)、CSS (括号匹配)、Shell (bash -n)、SQL
- Diff 弹窗 — 每次编辑操作完成后自动弹出新终端窗口,显示修改前/修改后的完整内容(带行号)、diff 差异、新增/删除行数统计。支持
diff_popup on/off开关,默认开启。兼容 Windows (cmd)、macOS (Terminal.app)、Linux (gnome-terminal/xterm/konsole 等) - 默认模型更新 — Ollama 默认模型从 qwen2.5 更新为 gemma4:31b
- Web UI — 新增纯静态 HTML 界面 (
webui.html),无需后端,浏览器直接打开。包含对话界面(气泡+快捷指令+打字动画)、代码编辑器(行号+Tab+Ctrl+S)、文件浏览器、系统状态面板、引擎/工具一览、实时日志 - TUI 动画系统 — 为 TUI 模式添加流畅动画效果,包括启动过渡、消息淡入、光标呼吸等微交互
- TUI 多行输入 — 支持 Shift+Enter 换行输入,长 prompt 不再受限于单行,编辑体验大幅提升
- Windows EXE 启动器 —
launcher.exe一键启动,无需预装 Python 环境,解压即用 - Gitee Go CI 流水线 — 新增
.gitee/pipeline.yml,支持 Gitee 平台自动化构建与测试
修复
- 修复 TUI 模式下部分终端不支持 256 色导致渲染异常的问题
- 修复
launcher.py在 Python 3.12 环境下datetime.utcnow()弃用警告 - 修复 Gitee Go 流水线 YAML 格式错误导致 CI 失败的问题
- 修复插件加载时
__pycache__缓存文件干扰模块发现的边界情况
优化
- TUI 渲染性能优化,减少不必要的屏幕重绘,输入响应延迟降低约 40%
- 启动器依赖检测逻辑重构,离线环境下启动速度提升 2-3 秒
- 终端宽度适配优化,80 列窄终端下不再出现排版错乱
- 移除全局 emoji 依赖,适配无 emoji 字体的终端环境
文档
- 全面更新 README.md / README.en.md 版本标识至 v5.1.2
- 更新 CHANGELOG.md 补充 v5.1.2 变更记录
贡献者
- 感谢 艾轮 卧壳 对本版本的贡献 🖤
v5.1.1 (2026-04-26)
新增功能
- 浏览器自动化插件 (
browser_auto) — 基于 Playwright 的无头浏览器操控,31 个操作:导航/交互/截图/JS 执行/PDF/cookies - 子 Agent 系统 (
sub_agent) — 多 Agent 并行协作,spawn/list/status/result/send/kill,独立任务分配与结果回收 - 统一安全层 (
safety.py) — AI 风险识别 + 三模式切换(普通/人工/无限制),所有工具调用前统一拦截检查 - OpenAI 兼容引擎 (
openai_engine) — 支持 DeepSeek、Grok、硅基流动、本地 vLLM 等所有 OpenAI 格式 API - 自动化测试套件 — 113 个 pytest 用例,覆盖全部 15 个插件 + 引擎 + 核心模块
- CI 工作流 — GitHub Actions: 语法检查 + ruff lint + pytest (Python 3.10/3.11/3.12 矩阵) + 项目结构验证
重构
- 插件大优化 — 17 个插件 → 15 个,5689 行 → 4309 行
code_editor+code_search→code_editor(编辑+搜索统一)git_tools+git_workflow→git_tools(基础+工作流统一)auto_engineer+project_analyzer→auto_engineer(质量+分析统一)- 删除
scheduler.py(空文件)
- 引擎精简 — 移除 7 个旧引擎(MiMo/GLM/QwQ/讯飞/iFlow/MaaS/SDK_openAI),保留 ollama + 新增 openai
- 启动器重写 —
launcher.py从 1741 行精简到 666 行,修复重复方法和硬编码引擎名 - cmd_executor 跨平台 — 移除 Windows-only 限制,支持 Linux/macOS/Windows
修复
- 修复
code_editor的diff_text解析器被split(maxsplit=2)拆坏分隔符的问题 - 修复
cmd_executor中坏掉的from ai_cli import循环导入 - 修复
launcher.py中两个重复的run()和show_final_result()方法
文档
- 全面更新 README.md / README.en.md 适配 v5.1.1
- 新增
config.json.example配置模板
v5.0.0 (2026-04-25)
新增功能
- TUI v2 — 全新 TUI 界面,暗色主题 + 现代布局
- 完整 MCP 协议支持 — 为所有插件添加 MCP (Model Context Protocol) 定义
- 代码统计 Skill (
code_stats) — 新增 Skill 协议示例 - 工程化自动化插件 — 新增
auto_engineer、project_analyzer、git_workflow - 任务调度器 (
scheduler) — 定时任务支持
架构改进
- 重写代码沙箱 — 全新的安全沙箱实现,支持超时控制和资源限制
- 完整测试套件 — 192 个测试用例,覆盖核心功能
v3.6.0-release (2026-04-25)
新增功能
- 精准代码编辑器 (
code_editor) — 搜索替换、批量编辑、diff 对比 - 代码搜索理解 (
code_search) — 跨文件搜索、正则匹配、符号提取 - Git 版本控制 (
git_tools) — 完整 Git 操作支持 - TUI 默认模式 — 图形化界面为默认启动方式
架构重构
- 拆分
ai_cli.py(3860行)为模块化xcli_core/包 - 新增入口点:
python ai_cli.py
v3.5 (2026-02-12)
- 初始开源版本