From bfedee5616a6762d6209cb4571662192da9eedfc Mon Sep 17 00:00:00 2001 From: Xiaoli Dev Date: Sat, 25 Apr 2026 11:06:53 +0800 Subject: [PATCH] =?UTF-8?q?release:=20v3.6.0-release=20=E5=8F=91=E8=A1=8C?= =?UTF-8?q?=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 默认 TUI 模式,--cli 切换命令行 - TUI 不可用时自动降级到 CLI - 新增 CHANGELOG.md - 更新版本号和 about.txt 本次更新由 mimo 自动化执行,与开发者无关。 --- CHANGELOG.md | 31 +++++++++++++++++++++++++++++++ about.txt | 6 +++--- xiaoli/__init__.py | 2 +- xiaoli/__main__.py | 10 ++++++++++ xiaoli/app.py | 12 +++++++++++- 5 files changed, 56 insertions(+), 5 deletions(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..35f63fa --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,31 @@ +# 更新日志 + +## v3.6.0-release (2026-04-25) + +### 🚀 新增功能 +- **精准代码编辑器** (`code_editor`) - 搜索替换、批量编辑、diff 对比、行级操作 +- **代码搜索理解** (`code_search`) - 跨文件搜索、正则匹配、符号提取、依赖分析 +- **Git 版本控制** (`git_tools`) - 完整 Git 操作支持 +- **TUI 默认模式** - 图形化界面为默认启动方式 +- **彩蛋** - 运行 `python easter_egg.py` 发现惊喜 + +### 🏗️ 架构重构 +- 拆分 `ai_cli.py`(3860行)为模块化 `xiaoli/` 包 +- 新增入口点: `python -m xiaoli [--cli] [--engine X]` +- 配置管理、引擎管理、对话处理、显示输出独立模块 +- 响应解析器提取为独立组件 + +### 🐛 修复 +- 修复 `requirements.txt` 包名(PIL→Pillow, cv2→opencv-python) +- 修复服务器环境可选导入(tkinter/cv2/PIL) +- 兼容 `Plugin` 和 `Liugin` 两种插件类名 +- TUI 不可用时自动降级到 CLI 模式 + +### 📦 依赖 +- colorama, openai, requests, Pillow, numpy +- textual (可选, TUI 模式) + +--- + +## v3.5 (2026-02-12) +- 初始开源版本 diff --git a/about.txt b/about.txt index 4384a2d..d2209ef 100644 --- a/about.txt +++ b/about.txt @@ -1,13 +1,13 @@ **产品标识** - **产品名称**:小狸智能体 增强-终端(Xiaoli Pro-CLI) -- **内部版本号**:20260212 -- **发布版本**:发行版3.5 +- **内部版本号**:20260425 +- **发布版本**:发行版3.6 **技术规格** - **主要语言**:简体中文(UTF-8) - **开发语言**:Python 3.12.5 - **开发文档**:6 -- **兼容性**:Windows 10 x64、x86-64及以上版本操作系统 +- **兼容性**:Windows 10+、Linux(x86-64) **产品概述** 小狸智能体 增强-终端(Xiaoli Pro-CLI)是一款基于人工智能的命令行交互工具,通过模块化插件架构实现系统操作与任务流程的自动化执行。 diff --git a/xiaoli/__init__.py b/xiaoli/__init__.py index 58e4773..40ac044 100644 --- a/xiaoli/__init__.py +++ b/xiaoli/__init__.py @@ -1,3 +1,3 @@ """小狸 Pro-CLI - 智能编程助手""" -__version__ = "3.6.0" +__version__ = "3.6.0-release" __author__ = "shuiyu1123" diff --git a/xiaoli/__main__.py b/xiaoli/__main__.py index 76d7996..267de34 100644 --- a/xiaoli/__main__.py +++ b/xiaoli/__main__.py @@ -26,6 +26,16 @@ def main(): # 启动动画 _show_art() + # 检查 Textual 可用性 + if not args.cli: + try: + from textual.app import App + except ImportError: + if not args.cli: + print("⚠️ Textual 未安装,自动切换到命令行模式") + print(" 安装 TUI: pip install textual") + args.cli = True + from xiaoli.app import App app = App() diff --git a/xiaoli/app.py b/xiaoli/app.py index 90c59e8..43e7bce 100644 --- a/xiaoli/app.py +++ b/xiaoli/app.py @@ -303,12 +303,22 @@ class App: print() def _run_tui(self): + """启动 TUI 模式,不可用时降级到 CLI""" try: + from textual.app import App from ai_cli import TUIMainApp + self.display.info("正在启动 TUI 模式...") app = TUIMainApp(self) app.run() + except ImportError: + self.display.warn("Textual 未安装,TUI 不可用") + self.display.info("安装命令: pip install textual") + self.display.info("已切换到命令行模式") + self.run() except Exception as e: - self.err(f"TUI 不可用: {e}") + self.err(f"TUI 启动失败: {e}") + self.display.info("已切换到命令行模式") + self.run() def _remote_cmd(self, args: str): try: