Commit Graph
124 Commits
Author SHA1 Message Date
shuiyu1123 ef8de43693 移除 operit 相关插件: 删除 operit_bridge 和 plugins/operit/ 脚本
- 删除 plugins/operit/ 目录(47 个 Operit 脚本)
- 删除 plugins/operit_bridge.py
- 删除 tests/test_operit_bridge.py
- plugins_config.py: 移除 ENABLE_OPERIT_BRIDGE
- plugin_registry.json: 移除 operit_bridge 注册
- README.md: 更新插件计数和项目结构
- CHANGELOG.md: 移除 operit 相关条目
2026-06-23 10:51:21 +00:00
xiaoli-cli bot 88ddd18ded release: v6.0.0 - 插件生态 + 深度思考 + 工作模式
重大更新:
- 新增 terminal/operit_bridge/image_reader 三个插件
- 深度思考: 原生API适配(DeepSeek/MiMo/OpenAI/Claude/Grok) + 提示词兜底
- 工作模式: 普通/人工/无限制/计划模式
- 计划模式: 全自动+审查+重试+引擎故障切换
- 系统提示词兜底策略: 插件仓库→网上搜索→自己写插件
- 插件整理: 删除图像类,主仓库25个生产力插件
2026-06-23 10:24:31 +00:00
xiaoli-cli bot 810a057d25 feat: 工作模式系统 - 整合安全模式 + 计划模式
工作模式 (/mode 或 /safe 切换):
- 普通: AI识别风险,有风险才确认 (原安全模式)
- 人工确认: 所有指令都需确认 (原安全模式)
- 无限制: 直接执行 (原安全模式)
- 计划模式: 全自动 + 审查 + 重试 + 引擎切换 (新增)

计划模式行为:
- 全自动执行,不询问用户
- 引擎错误10次自动切换到其他引擎
- 无其他引擎时继续重试,但不把引擎错误加入上下文
- 任务完成后自动审查结果
- 审查发现问题自动重试

实现:
- safety.py: SafetyLayer → WorkMode,新增 MODE_PLAN
- cli_core.py: 新增 _plan_generate / _plan_review
- /safe 和 /mode 命令均可切换
2026-06-23 10:11:06 +00:00
xiaoli-cli bot 3f7df28423 feat: 通用深度思考适配 - 原生API + 提示词兜底
原生支持 (API参数):
- DeepSeek/MiMo: enable_thinking + reasoning_effort
- OpenAI o-series: reasoning.effort
- Claude: thinking.type + budget_tokens (按等级分配2k/8k/32k)
- Grok: thinking.enabled
- Gemini thinking: 模型名自带

不支持原生的模型 (提示词注入):
- low: 无额外提示词
- medium: 逐步思考提示 (分析→因素→方案→选择)
- high: 工程级深度推理框架 (问题分解→多角度分析→方案设计→验证优化)

所有模型统一 /engine.openai think [on|off|low|medium|high] 控制
2026-06-23 09:59:08 +00:00
xiaoli-cli bot 75194a9da7 feat: OpenAI 引擎支持 MiMo 深度思考
MiMo 使用 DeepSeek 兼容格式:
- enable_thinking: true (v2.5-pro 默认开启)
- reasoning_content 返回思维链
- reasoning_effort: low/medium/high
2026-06-23 09:50:26 +00:00
xiaoli-cli bot a6f6962184 feat: OpenAI 引擎支持深度思考开关
新增:
- /engine.openai think [on|off|low|medium|high] 命令
- deep_think 配置项 (config.json)
- reasoning_effort 参数 (low/medium/high)

支持模型:
- DeepSeek: enable_thinking + reasoning_content
- OpenAI o-series: reasoning.effort
- 通用: reasoning_effort 参数

深度思考开启后:
- 自动注入思考参数到请求体
- 返回的思维链(reasoning_content)显示在终端
- info 命令显示当前思考状态
2026-06-23 09:37:34 +00:00
xiaoli-cli bot 346f5fdcb4 feat: 系统提示词增加兜底策略
遇到能力不足时的三级解决路径:
1. 查插件仓库 (/plugin search → install)
2. 网上搜索 (ai_search)
3. 自己写插件 (Liugin 类)

原则: 放弃是最后的选择。能装就装,能搜就搜,能写就写。
2026-06-23 09:33:49 +00:00
xiaoli-cli bot d336b04b61 feat: 新增 image_reader 插件 - 图片读取与 OCR 文字识别
功能:
- ocr: 从图片提取文字(支持 Tesseract / Windows PowerShell)
- info: 获取图片信息(尺寸/格式/大小/模式)
- read: 综合读取(信息 + OCR)
- ascii: 图片转 ASCII 字符画(终端显示)
- base64: 转 Base64 编码
- hash: 计算 MD5/SHA256

纯标准库实现,Tesseract 为可选依赖。
2026-06-23 09:29:28 +00:00
xiaoli-cli bot 125e00a485 chore: 整理插件分类 - 删除图像类,移动娱乐类
删除(图像类):
- ai_image.py (AI生图)
- image_generator.py (ComfyUI生图)
- send_image.py (远程发图)

移至插件仓库(娱乐/可选):
- color_picker.py
- bookmark_manager.py
- audio_player.py

保留24个必备生产力插件:
核心: code_editor/git_tools/file_manager/cmd_executor/terminal
工程: auto_engineer/frontend_tester/workflow/sub_agent
搜索: ai_search/tool_search/network_tools
自动化: browser_auto/gui_auto
数据: json_toolkit/regex_tester/markdown_tool/id_generator/snippet_manager
系统: scheduler/task_manager/memory_plugin/operit_bridge/speech_recognition

更新 README.md/plugin_registry.json/plugins_config.py
2026-06-23 09:25:25 +00:00
xiaoli-cli bot 5ea19b75ae refactor: terminal 插件重写 v2 - 极简接口
新设计: AI 的虚拟键盘和屏幕
- open: 打开终端
- type: 打字
- key: 按键 (enter/tab/ctrl+c/方向键/f1-f12等)
- read: 看整个屏幕
- last [N]: 只看最近N行(默认20,避免上下文爆炸)
- wait: 等待输出

从600行精简到250行,接口从12个减到8个
2026-06-23 09:14:15 +00:00
xiaoli-cli bot dfe21298b9 release: v5.4.2 - terminal模拟器 + Operit桥接
新增插件:
- terminal: 持久交互式终端,纯标准库,全平台,13个测试
- operit_bridge: Operit AI工具格式桥接,47个脚本288个工具,12个测试

其他:
- plugins/operit/: 47个Operit官方脚本
- 更新plugin_registry.json/plugins_config.py
- 更新about.txt/CHANGELOG.md至v5.4.2
2026-06-23 08:50:15 +00:00
shuiyu1123 b8faaae0c6 release: v5.4.1 v5.4.1 2026-06-19 00:30:15 +08:00
shuiyu1123 bac5ea01a9 feat: 统一错误处理 - ToolResult 类
- 新增 xcli_core/tool_result.py: ToolResult + ErrorCode
- unified_tool_manager: execute/mcp_call 返回 ToolResult
- cmd_executor: 所有返回改为 ToolResult
- file_manager: 所有返回改为 ToolResult
- 兼容旧接口: execute_dict() 返回 dict, handler 可返回 str 或 ToolResult
2026-06-19 00:26:49 +08:00
shuiyu1123 161ab9d3a8 feat: MCP stdio server + TUI回车发送 + 子Agent无限制 + 安全引擎优化 + diff弹窗绿红背景
- 新增 mcp_server.py: 标准 MCP stdio 传输层入口
- TUI: 回车发送消息,Shift+回车换行 (SendTextArea子类)
- 子Agent: 移除 max_steps=20 限制
- 安全引擎: 移除 ALWAYS_CONFIRM 关键词强制拦截
- code_editor: diff弹窗绿底(+)/红底(-)背景色
2026-06-19 00:10:27 +08:00
xiaoli-cli b0d9a24003 release: v5.4.0 - 跨平台进程保护机制 v5.4.0 2026-05-09 20:33:14 +08:00
xiaoli-cli 97cc2bb0f7 feat: 跨平台进程保护机制 v5.3.0
- 新增 process_protection.py 模块
  - 单实例保护: Windows命名Mutex / macOS+Linux fcntl文件锁
  - 进程优先级提升: Windows SetPriorityClass / POSIX os.nice()
  - Windows PPL风格保护: SetErrorMode抑制错误弹窗
  - POSIX信号保护: 忽略SIGHUP/SIGPIPE, 注册SIGTERM优雅关闭
  - 看门狗监控: 后台线程监控父进程状态
  - 关闭钩子系统: 进程退出时自动执行清理
  - /protect 命令查看保护状态
- 更新 platform_utils.py 新增进程工具函数
- 集成到 cli_base.py 启动时自动初始化
- 更新 CHANGELOG.md / README.md 至 v5.3.0
2026-05-09 20:28:17 +08:00
xiaoli-cli bot a7f64cd797 refactor: 移除插件内存管理系统 + 新增工作流引擎
移除内容:
- 删除 plugin_memory_manager.py (TTL淘汰 + 懒加载系统)
- unified_tool_manager.py 精简为直接加载,去掉内存管理器集成
- tui.py 移除内存管理状态显示

新增内容:
- plugins/workflow.py: YAML 工作流引擎
  - 顺序执行多步骤 (tool/shell/echo/wait/set/if)
  - 步骤间变量传递 ({{steps.name.output}})
  - 条件分支 (if/then/else)
  - 错误处理 (continue_on_error / on_fail)
  - 断点续跑 (状态持久化)
  - 调用其他插件作为步骤
- workflows/example.yaml: 示例工作流

修复:
- unified_tool_manager.shutdown() 增加 graceful cleanup
- unregister_tool() 增加实例清理
v5.3.0
2026-05-08 18:07:55 +08:00
OpenClaw 115ce38370 docs: CHANGELOG 补充插件格式统一记录 2026-05-08 00:54:02 +08:00
OpenClaw 357cd0958f refactor: 统一自研插件格式为 Liugin
18个插件: class Plugin -> class Liugin
10个插件: 测试块 Plugin() -> Liugin()
移除 ai_image.py 中多余的 Liugin = Plugin 别名

所有自研插件现统一使用 class Liugin 作为入口类名,
加载器保留 Plugin 兼容以支持第三方插件。
2026-05-08 00:52:25 +08:00
OpenClaw bfefbef475 release: v5.2.0 - 插件内存管理 + TUI 修复 v5.2.0 2026-05-08 00:47:38 +08:00
OpenClaw fb41c79b14 feat: 插件内存管理 - TTL自动淘汰 + 懒加载
新增 plugin_memory_manager.py:
- 后台线程定期扫描空闲插件,超过TTL自动从内存卸载
- AI调用已卸载插件时自动重新加载(懒加载)
- 核心插件(tool_search)可钉住永不淘汰
- 可配置: TTL(300s), 最大空闲数(10), 扫描间隔(60s), 钉住列表

改造 unified_tool_manager.py:
- 集成 PluginMemoryManager
- execute/mcp_call/search_tools/get_tool 统一走 _ensure_loaded
- search_tools 可搜索已卸载插件(使用缓存信息)
- 新增 get_all_tools_info/get_tool_by_name/memory_manager 属性

改造 tui.py:
- /status 命令显示内存管理详细状态
- 侧栏显示已加载/已卸载工具数
2026-05-08 00:40:01 +08:00
OpenClaw 038fbe24c8 fix(tui): 修复set_timer(0)导致的ZeroDivisionError
_render_welcome_animated中delay=i*0.1在i=0时为0.0,
Textual 8.x的set_timer(0,...)内部interval为0导致除零崩溃。
使用max(0.01, delay)确保最小延迟。
2026-05-08 00:24:26 +08:00
OpenClaw fe79f0e5d4 fix(tui): 修复消息分类、侧栏切换、动画失效、TextArea导入
- _write_raw: 空字符串'' in msg永远为True导致所有消息归类为tool-ok,
  替换为正确的emoji标记(✅/❌/🤖)
- action_toggle_sidebar: Textual无.visible属性,改用has_class/addClass
- CSS .hidden: display:none阻止transition动画,改用width+opacity方案
- constants.py: 添加TextArea、Rule到Textual可用性检查导入列表
2026-05-08 00:17:36 +08:00
OpenClaw Bot af9fffc4a6 docs: rewrite README for Gitee compliance 2026-05-03 23:37:31 +08:00
OpenClaw Bot 7ada90ac27 Add project logo: anime-style face icon 2026-05-03 23:33:48 +08:00
xiaoli-cli bot 407ecc0f47 docs: README 添加插件仓库引用
- 插件列表章节添加 xiaoli-cli-plugins 链接
- 链接区添加插件仓库地址
2026-04-30 03:08:07 +08:00
shuiyu1123 78b74d1bb1 feat: 新增 7 个实用插件
- json_toolkit: JSON 工具箱(格式化/压缩/校验/路径查询/差异比较/Schema推断)
- snippet_manager: 代码片段管理器(保存/搜索/分类/标签/导入导出)
- regex_tester: 正则表达式测试器(匹配/提取/替换/解释/常用模式库/性能测试)
- id_generator: UUID/ID 生成器(UUID v1/v4/v5/NanoID/短ID/雪花ID/ULID/自定义模板)
- color_picker: 颜色工具(HEX/RGB/HSL/HSV/CMYK转换/WCAG对比度/调色板/色盲模拟)
- bookmark_manager: 书签管理器(分类/标签/搜索/导入导出/可访问性检查)
- markdown_tool: Markdown 工具(TOC/统计/表格生成/待办提取/语法检查/字数统计)

所有插件均支持 Plugin/Liugin 双协议和 MCP 定义。
2026-04-30 03:01:11 +08:00
xiaoli-cli bot bef3fe560d feat: 注册表添加 onebot 插件 2026-04-30 02:50:37 +08:00
xiaoli-cli bot 0b19ec64a4 fix: 修复 Gitee 下载支持,通过 API + token 下载插件
- Gitee raw URL 返回 403,自动转为 API 调用
- 从 GITEE_TOKEN 环境变量读取访问令牌
- 修复 Fore.DIM → Style.DIM
- 测试通过: install / list / remove 全流程正常
2026-04-30 02:42:52 +08:00
xiaoli-cli bot 6f13d41c11 feat: 添加 /plugin 插件市场命令
功能:
- /plugin list - 列出可用插件(自动同步远程源)
- /plugin search <关键词> - 搜索插件
- /plugin info <插件码> - 查看插件详情
- /plugin install <插件码|URL> - 安装插件(自动下载、启用、动态加载)
- /plugin remove <名称> - 卸载插件
- /plugin update <插件码> - 更新插件
- /plugin add-source <URL> - 添加远程插件源

文件:
- xcli_core/plugin_market.py - PluginMarketMixin 核心逻辑
- plugin_registry.json - 本地插件码注册表
- xcli_core/cli_core.py - 集成 PluginMarketMixin
- HELP.md - 添加插件市场文档
2026-04-30 02:37:05 +08:00
xiaoli-cli-bot 0d27f2b774 feat: add /manual command + fix cross-engine command routing
- /manual → switch to manual engine (CLI + TUI)
- /manual status → run manual engine sub-commands
- /manual restart → restart manual terminal
- /engine.manual status → now works from any engine (not just manual)
- Fixed handle_engine_command to route to correct engine by name
2026-04-29 20:04:40 +08:00
xiaoli-cli-bot 03685ab5e7 fix: WebUI engine switch now updates UI and shows errors 2026-04-29 19:57:17 +08:00
xiaoli-cli-bot 7a72a5c69e fix: Ollama model validation, TUI CSS, WebUI overhaul
1. Ollama: validate model is configured before API call, show helpful error
2. TUI: remove unsupported scroll-behavior CSS property
3. WebUI server: add full tool calling loop (FC + JSON action)
4. WebUI HTML: complete redesign
   - Modern dark theme with better typography
   - Markdown rendering via marked.js
   - Tool call/result visualization with colored cards
   - Dynamic sidebar (engines + tools from server)
   - Better input area with gradient send button
   - Responsive layout
2026-04-29 19:51:42 +08:00
xiaoli-cli-bot baa2cbc49a feat: diff display mode - popup or inline (SSH compatible)
- Startup prompt asks user to choose popup or inline diff mode
- Added inline diff display in main terminal with colored output
- Green for added lines, red for deleted lines (both modes)
- TUI mode uses Rich markup, CLI mode uses ANSI colors
- New commands: diff_popup popup / diff_popup inline
- Default: inline mode (SSH compatible)
2026-04-29 19:40:07 +08:00
xiaoli-cli-bot f41d5d5a7c fix: remove unsupported @keyframes from Textual CSS
Textual CSS parser does not support @keyframes syntax (it's a Web CSS feature).
These keyframes were unused - all animations are implemented via Python's
set_interval() and animate() methods. Removing them fixes the stylesheet
parse error that prevented TUI mode from starting.
2026-04-29 19:28:53 +08:00
shuiyu1123 8865084905 !4 chore: 清理仓库,删除不需要的文件
Merge pull request !4 from shuiyu1123/cleanup-v5.1.4
2026-04-29 10:36:31 +00:00
shuiyu1123 da9cfb6c9d chore: 清理仓库,删除不需要的文件
删除内容:
- xiaoli-cli-v5.1.2.zip(旧版本构建产物)
- compare.html / webui-analysis.html(AI编程助手横评页面)
- scheduler_tasks.json(空运行时数据)
- skills/file-manager/scripts/test.txt / test_multi.txt(测试数据)
- .gitee/pipeline.yml / .github/workflows/ci.yml(CI配置)
2026-04-29 18:34:20 +08:00
shuiyu1123 f142e3bae8 删除文件 scheduler_tasks.json 2026-04-29 10:26:01 +00:00
shuiyu1123 e3b2d56686 删除文件 webui-analysis.html 2026-04-29 10:25:47 +00:00
shuiyu1123 aa37ec0e44 删除文件 compare.html 2026-04-29 10:25:33 +00:00
openclaw-bot 2bd8ca0fba release: v5.1.4 — 桌面GUI自动化 + AI生图 + Web UI后端
- 新增 gui_auto 插件 (20 操作): Windows UIA 桌面元素识别与操控
- 新增 ai_image 插件: 基于 ai.2x.nz 自然语言生图
- 新增 webui_server.py: WebSocket 实时通信后端
- 重写 webui.html: 大厂设计感 WebSocket 交互界面
- 插件数: 17 → 19, 操作数: 141+ → 161+
- 测试数: 113 → 150+
- 更新 README/CHANGELOG/HELP
v5.1.4
2026-04-29 15:50:40 +08:00
shuiyu1123 530a255091 !3 feat: 新增桌面GUI自动化插件 (gui_auto) - Windows UIA 元素识别与操控
Merge pull request !3 from shuiyu1123/feature/gui-auto-plugin
2026-04-29 07:42:34 +00:00
openclaw-bot e6fddf14f8 feat: 新增桌面GUI自动化插件 (gui_auto) - Windows UIA 元素识别与操控
- 新增 gui_auto 插件 (20 操作): 元素树获取、点击/输入/按键、窗口管理、元素查询、高亮闪烁
- 基于 Windows UI Automation API,支持模糊匹配、中文输入、ValuePattern 自动识别
- 完整 MCP/FC 定义,AI 可通过 Function Calling 直接调用
- 非 Windows 环境优雅降级
- 新增 30 个单元测试
- 更新 README/CHANGELOG/HELP
- 插件数: 17 → 18, 操作数: 141+ → 160+
2026-04-29 15:37:10 +08:00
shuiyu1123 a00396b4fd !2 feat(webui): 重写 Web UI — WebSocket 后端 + 大厂设计感
Merge pull request !2 from shuiyu1123/feat/webui-v2
2026-04-29 07:16:16 +00:00
shuiyu1123 c2dfa284d1 !1 feat: 添加 AI 生图插件 (ai_image)
Merge pull request !1 from shuiyu1123/feature/ai-image-plugin
2026-04-29 07:15:47 +00:00
XiaoLi Contributor 614b081364 feat(webui): 重写 Web UI — WebSocket 后端 + 大厂设计感
- 新增 webui_server.py: WebSocket 后端,桥接小狸 AI 引擎
  - WebSocket 实时通信(对话/工具调用/状态同步)
  - HTTP 静态文件服务
  - 引擎热切换、安全模式切换
  - 延迟初始化,不阻塞启动

- 重写 webui.html: 纯静态前端,连接 WebSocket 后端
  - 设计风格: Linear/Vercel 级别的暗色主题
  - 真实 WebSocket 通信(非前端模拟)
  - 对话/工具双视图
  - 实时状态栏(引擎/安全模式)
  - 代码高亮、打字动画、快速操作
  - 响应式布局

用法:
  python webui_server.py              # 启动 (HTTP:8080, WS:8079)
  python webui_server.py --port 3000  # 自定义端口
  python webui_server.py --no-ai      # 纯 UI 模式
2026-04-28 19:06:12 +08:00
OpenClaw 245413b2cd release: v5.1.3 — 图像生成 + 记忆系统插件 + 横评页面
- 新增 image_generator 插件(ComfyUI 在线生图)
- 新增 memory_plugin 插件(包装记忆系统供 AI 调用)
- 新增 compare.html 7工具横评页面
- 更新 README.md 全面重写(MCP/Clawli/记忆/通知/定时任务)
- 更新 CHANGELOG.md 新增 v5.1.3 条目
- 更新 about.txt 版本号至 5.1.3
- 插件数: 15 → 17, 操作数: 141 → 141+
v5.1.3
2026-04-28 03:37:37 +08:00
OpenClaw 3fa1d56632 feat: 新增图像生成插件 + 记忆系统插件 + 7工具横评页面
- plugins/image_generator.py: 基于 ai.2x.nz ComfyUI 的图像生成插件
  - 自然语言/Tag 双模式,支持中文描述
  - WebSocket 实时进度,28 个角色工作流
  - 分辨率可调(最大 1344x1344)

- plugins/memory_plugin.py: 包装 xcli_core/memory.py 的记忆插件
  - AI 可写日记、读日记、搜索日记
  - 全局搜索(MEMORY + 日记 + 聊天记录)
  - 自动保存对话 + 上下文压缩
  - 长期记忆 MEMORY.md 管理

- compare.html: 7 款 AI 编程助手横评页面
  - Claude Code / Codex CLI / Gemini CLI / Aider / Copilot CLI / 小狸 / TG HELPER
  - 25+ 维度功能对比 + 评分 + 场景推荐

- .gitignore: 排除运行时生成的记忆数据和图片
2026-04-28 03:13:53 +08:00
openclaw-bot 68d085df28 fix: 自动选择默认工作流,无 Lora 优先 2026-04-28 00:52:09 +08:00
openclaw-bot 62c761b7d8 feat: 添加 AI 生图插件 (ai_image)
基于 ai.2x.nz 接口的自然语言生图插件,支持:
- 自然语言描述生图 (generate)
- Danbooru Tag 生图 (tag)
- Tag + 自然语言混合模式 (both)
- 工作流列表与切换 (workflows/switch)
- 图片尺寸设置 (size/width/height)
- 改写模式与覆写模式开关 (rewrite/override)
- 生成状态查询 (status)
- 自动下载生成图片到本地

依赖: requests, websocket-client
2026-04-28 00:36:36 +08:00