Commit Graph
22 Commits
Author SHA1 Message Date
xiaoli-cli 36d1470b68 ci: 修正 Gitee Go 流水线格式 2026-04-26 14:11:51 +08:00
xiaoli-cli aae31a48bd ci: 添加 Gitee Go 流水线配置 2026-04-26 14:09:28 +08:00
xiaoli-cli 39d2b0368b feat(tui): 添加动画效果和多行输入支持
- 替换 Input 为 TextArea,支持多行文本输入
- Ctrl+Enter 发送消息,Enter 换行,Tab 缩进
- ThinkingSpinner: 旋转+脉冲思考指示器
- TypingIndicator: 模拟AI打字动画
- MessageBubble: 消息入场淡入动画
- 欢迎界面逐行动画显示
- CSS 过渡动画 + 关键帧动画
- 输入区域动态高度调整
- 清理未使用的 import,ruff 检查通过
2026-04-26 14:03:22 +08:00
xiaoli-cli 40ab129ba2 docs: 更新 CHANGELOG/HELP/CONTRIBUTING 适配 v5.1.1
- CHANGELOG: 新增 v5.1.1 条目 (浏览器/子Agent/安全层/OpenAI引擎/CI/插件优化)
- HELP.md: 全面重写,覆盖全部 15 个插件用法 + 安全模式说明
- CONTRIBUTING.md: 更新测试数/类名兼容说明
2026-04-26 06:19:02 +08:00
xiaoli-cli 4e3abeea98 docs: 全面更新 README 适配 v5.1.1
- 更新插件列表 (15个/141操作)
- 新增安全层说明 (三模式)
- 新增子 Agent 系统说明
- 新增浏览器自动化说明
- 更新项目结构 (safety.py/sub_agent.py/browser_auto.py)
- 移除过时内容 (code_search/git_workflow/project_analyzer/scheduler)
- 更新测试信息 (113 用例)
2026-04-26 06:17:44 +08:00
xiaoli-cli 5147662b88 feat: 统一安全层 - AI 风险识别 + 三模式切换
安全检查流程:
- 工具调用前统一经过 safety.check() 拦截
- 普通模式: AI 独立分析指令风险(不带历史对话)
- 识别出风险后展示: 指令/风险等级/影响,请求 y/n 确认
- 安全操作快速预检放行(读取类/查询类直接跳过)

三种模式 (/safe 切换):
- 普通模式 (默认): AI 识别风险,有风险才确认
- 人工确认模式: 所有指令都需确认
- 无限制模式: 直接执行,不检查

特殊指令始终需确认:
- cmd_executor: rm/chmod/chown
- file_manager: delete
- git_tools: checkout -b
2026-04-26 06:13:54 +08:00
xiaoli-cli 3c8ca42bfa feat: 新增子 Agent 插件 (sub_agent) - 多 Agent 协作系统
自研协议,主 AI 可以:
- spawn: 创建子 Agent 并分配独立任务
- list/status: 查看所有子 Agent 状态
- result: 获取子 Agent 执行结果
- send: 向运行中的子 Agent 发送消息
- kill/clean: 终止和清理

特性:
- 每个子 Agent 独立对话历史
- 后台线程异步执行
- 自动提取并执行工具调用
- 完成信号检测
- 并行多任务支持

测试: 113 个用例全部通过
2026-04-26 05:54:33 +08:00
xiaoli-cli 1831cfbcc5 chore: 更新 about.txt 版本号 + 添加 love.txt 2026-04-26 05:48:33 +08:00
xiaoli-cli 9a711dc809 feat: 新增浏览器自动化插件 (browser_auto)
基于 Playwright 的无头浏览器操控,33 个操作:
- 连接: start/stop/status
- 导航: open/back/forward/reload/title/url
- 交互: click/fill/select/check/hover/press
- 提取: text/html/attr/value/eval/query
- 截图: screenshot (全页/元素)
- 等待: wait/wait-gone/wait-url
- 高级: pdf/cookies/set-cookie/viewport/download

测试: 101 个用例全部通过
2026-04-26 05:46:45 +08:00
xiaoli-cli e92c000087 chore: bump version to 5.1.1 2026-04-26 05:43:27 +08:00
xiaoli-cli d57517197f ci: 添加 GitHub Actions CI + 93 个测试
CI 工作流 (.github/workflows/ci.yml):
- lint: 语法检查 + ruff 代码检查
- test: 插件功能测试 (Python 3.10/3.11/3.12 矩阵)
- structure: 项目结构完整性 + 旧文件清理检查

测试覆盖 (tests/test_plugins.py, 93 个用例):
- 插件加载: 13个插件 × 4项检查 (导入/类名/方法/tool_info)
- code_editor: 9 个功能测试 (edit/read_range/find/ast/stats/diff...)
- git_tools: 3 个测试 (status/log/branch)
- cmd_executor: 5 个测试 (echo/python/拦截/超时/空命令)
- file_manager: 7 个测试 (list/read/write/copy/delete/mkdir/info)
- auto_engineer: 4 个测试 (metrics/security/complexity)
- task_manager: 6 个测试 (add/list/complete/delete/clear)
- 引擎: 4 个测试 (加载/旧文件清理)
- 核心模块: 3 个导入测试

修复: code_editor diff_text 解析器被 split 拆坏的问题
2026-04-26 05:40:09 +08:00
xiaoli-cli 9aae8b2ca2 refactor: 插件大优化 17→13 个,5689→4309 行
合并:
- code_editor + code_search → code_editor (编辑+搜索统一)
- git_tools + git_workflow → git_tools (基础+工作流统一)
- auto_engineer + project_analyzer → auto_engineer (质量+分析统一)

修复:
- cmd_executor: 移除 Windows-only 限制,跨平台兼容
- cmd_executor: 移除坏掉的 from ai_cli import

精简:
- file_manager: 移除和 code_editor 重叠的行编辑操作

删除:
- scheduler.py (空文件)
- git_workflow.py (已合并)
- code_search.py (已合并)
- project_analyzer.py (已合并)
2026-04-26 05:36:18 +08:00
xiaoli-cli 119e939a23 refactor: 重写 launcher.py 启动器
- 从 1741 行精简到 666 行
- 修复重复的 run() 和 show_final_result() 方法
- 移除硬编码的旧引擎名 (mimo/glm/qwq/spark/maas)
- 引擎扫描自动适配 ollama + openai 结构
- 统一样式系统 (ANSI 色彩 + 图标)
- 保留全部功能: 环境检测/依赖扫描/引擎配置/插件管理
2026-04-26 05:30:10 +08:00
xiaoli-cli ea534c5b88 refactor: 移除所有非ollama引擎,新增OpenAI兼容格式引擎
- 删除: mimo_engine, GLM_http_engine, qwq_engine, xfyun_spark_engine, iflow_api_engine, maas_http_engine, SDK_openAI
- 保留: ollama_engine (本地Ollama引擎)
- 新增: openai_engine (通用OpenAI API兼容引擎,支持DeepSeek/Grok/硅基流动/vLLM等)
- 新增: config.json.example 配置模板
- 更新: README.md / README.en.md 引擎说明
2026-04-26 05:27:40 +08:00
xiaoli-cli 7c02642982 fix: 移除无效的 text-size CSS 属性 (TUI 报错根因) 2026-04-25 23:00:05 +08:00
xiaoli-cli 623d53f06f fix: 全面修复 TUI 和跨平台兼容性
- constants.py: requests/openai/numpy 改为 try/except 保护
- tui.py: asyncio.get_event_loop() → get_running_loop() (Python 3.10+)
- tui.py: _remove_thinking 增加异常保护
- tui.py: XiaoliTUI 占位类增加 __init__ 和 run 方法
- tui.py: bare except 改为 except Exception
- sandbox.py: resource 模块 try/except 保护 (Windows 兼容)
2026-04-25 22:54:41 +08:00
xiaoli-cli d819502b00 fix: 修复 Windows 上 resource 模块导入错误 2026-04-25 22:45:40 +08:00
xiaoli-cli 04e2d26809 refactor: 拆分 ai_cli.py 为模块化 xcli_core 包
将 4130 行的单文件拆分为 13 个职责清晰的模块:
- constants.py: 常量 + 可选依赖导入
- sandbox.py: 安全代码沙箱 (AST检查器 + 子进程隔离)
- config.py: 配置管理 + 日志
- plugin_manager.py: LiuginManager 插件管理器
- cli_base.py: BaseAICLI 基类 (初始化/引擎/插件/命令)
- cli_clawli.py: ClawliMixin 远程模式
- cli_tools.py: ToolMixin 工具调用
- cli_code_exec.py: CodeExecMixin 代码沙箱执行
- cli_display.py: DisplayMixin 显示/输出/图片/帮助
- cli_history.py: HistoryMixin 聊天记录
- cli_core.py: AICLI 主类 + 对话循环 + main()
- tui.py: Textual TUI 界面
- __init__.py: 包导出汇总

ai_cli.py 保留为入口文件 (11行), 根目录整洁。
原逻辑完全不变, 仅做结构拆分。
2026-04-25 22:27:59 +08:00
xiaoli-cli 7efb6dfe8b fix: ai_search改用s.jina.ai搜索端点,删除napcat_qq和ollama_image
- ai_search: 搜索从r.jina.ai嵌套必应改为s.jina.ai直接搜索,解决旧时间戳问题
- 删除 napcat_qq.py (52KB, 导入即启后台线程)
- 删除 ollama_image.py (冗余图像插件)
2026-04-25 21:42:18 +08:00
xiaoli-cli 6e14ee12a3 fix: 修复沙箱在无实例调用时的属性错误
- _execute_code_safely: 用getattr安全访问self属性
- _execute_code_safely: 导入traceback为_traceback避免命名冲突
- _sandbox_set_limits: 改用AICLI类方法引用
2026-04-25 21:28:20 +08:00
xiaoli-cli 48f5765c1f cleanup: 删除无用文件夹和缓存
- 删除 tests/(v2测试,引用已删除的xiaoli/core模块)
- 删除 开发文档/(v2开发文档)
- 删除 __pycache__/(Python缓存)
2026-04-25 21:18:35 +08:00
xiaoli-cli 4d341a7b55 refactor: 合并v2到v1,删除xiaoli/core包,架构统一
- 用v2的GitHub暗色主题TUI替换v1简陋TUI(侧栏、代码高亮、快捷键)
- 用v2的子进程隔离沙箱替换v1的线程内exec(6层安全)
- 删除xiaoli/包(v2重构版,7个模块+子包)
- 删除core/包(从未被引用的死代码)
- 保留v1全部功能:Clawli远程、WebSocket、Web服务器等
- 代码减少约3000行,架构更简洁
2026-04-25 21:13:14 +08:00