Skip to content

Releases: kilolonion/excelmanus

ExcelManus v1.8.1

ExcelManus v1.8.1 Pre-release
Pre-release

Choose a tag to compare

@kilolonion kilolonion released this 26 Sep 13:02

Full Changelog: v1.8.0...v1.8.1

ExcelManus v1.8.0

Choose a tag to compare

@kilolonion kilolonion released this 23 Sep 16:13

ExcelManus v1.8.0 Release Notes

发布日期: 2026-09-23
对比基线: v1.7.1 / 30c7fae4(1.7.2 源码点)

ExcelManus 1.8.0 是 1.7.x 之后的完整产品换代:从"多用户 + 渠道机器人 + Docker/CLI"路线,收敛为单用户本地工作台 + 独立工作区运行时 + Web / 桌面双形态。

完整变更清单(约 300 行,覆盖全部 63 个提交)见仓库内的 RELEASE_v1.8.0.md。


📦 下载

平台 文件
Windows x64 ExcelManus-1.8.0-win-x64-setup.exe
Android ExcelManus-1.8.0-preview.apk
macOS ExcelManus-1.8.0*.dmg

Android 提示:APK 为 debug 预览包(applicationId 后缀 .debug),需允许"安装未知来源应用";通过扫码配对连接本机服务端使用。

Windows 提示:安装包目前未做 Authenticode 签名,首次运行 SmartScreen 可能提示"未知发布者",选择"更多信息 → 仍要运行"即可。

macOS 提示:DMG 使用 ad-hoc 签名,首次打开需在「系统设置 → 隐私与安全性」中允许。

安装包内置 Python 3.12 与 Node.js 22 运行时,无需额外安装依赖。


✨ 亮点

🖥️ 全新桌面应用(Windows / macOS)

  • Electron 壳 + PyInstaller 后端 + Next standalone 前端,一键启动
  • 单实例保护、端口复用、同端口重启;正常关闭走 stdin 管道排空 API
  • 预渲染启动页(splash),后端 / 前端就绪后无缝切入工作台
  • Windows:Job Object 进程树管理、DACL 密钥文件保护、无控制台启动、长路径 manifest
  • 桌面模式禁用源码 Git 更新 / 部署入口,升级直接安装新版即可,profile 保留

🗂️ 独立工作区运行时

  • 会话绑定工作区,同工作区多会话共享文件;文件身份统一为 workspaceKey + relative
  • 所有写入走"锁 → 版本检查 → 原子替换 → 修订登记",expected_version 冲突返回 VERSION_CONFLICT
  • 修订历史落在 .excelmanus/revisions/,支持列出 / 预览 / 比较 / 恢复 / 删除

🤖 Agent 运行时

  • 主循环与子代理上限提升到 120,循环预算 / 连续失败熔断 / 并行计数统一
  • 主任务中断恢复:/turn、/resume、SSE subscribe、gap 检测、持久化 tool result
  • 审批内联解决、ask_user 阻塞式多问题队列、后台子代理(暂停 / 取消 / 继续 / 补充指令)
  • Code Mode:run_code SDK 与原生工具共享同一份有效目录、权限、审批与结果合同
  • 32 个内置工具、9 个内置技能,提示词分层与预算 / 合同 CI 门禁

📊 工作簿能力

  • 9 个表格意图工具:inspect / analyze / compare / edit / format / split / objects / trace_formulas / versions
  • 区域读写保留真实坐标,selection 与合并区域冲突检查,公式平移复制
  • CSV / TSV 与 XLSX 全面对齐;.xls / .xlsb 上传自动转换
  • 引用图:公式引用提取、Tier 1 / Tier 2 扫描、跨文件关系、影响分析

🔐 模型、凭证与安全

  • 产品设置统一走主数据库(model_profiles / config_kv),.env 不再是配置源
  • Codex OAuth、Google Gemini OAuth PKCE、凭证池自动轮换与熔断、能力探测
  • 内置搜索 Exa / Tavily / Brave
  • 默认绑定 127.0.0.1,非 loopback 必须设置 EXCELMANUS_MANAGE_TOKEN
  • FileAccessGuard 统一路径校验、SSRF 防护、上传净化、敏感命名空间拒绝读取

🎨 Web 工作台

  • 统一响应式外壳(桌面 / 平板 / 手机)
  • Univer 区域加载分页、首屏壳层、未加载区域编辑拦截
  • 文件预览统一宿主(Excel / Word / 文本 / 图片 / 对比)
  • 后台任务面板、文件历史工作区、模型管理、首次引导向导

⚠️ 破坏性变更与升级指南

1.8.0 不是 1.7.x 的平滑升级,请先阅读:

  1. 先备份:主数据库、.secret_key、所有工作区文件与 .excelmanus/revisions/。不要让新旧服务同时打开同一 profile。
  2. 配置迁移:旧 .env / config.env 不自动导入,请在设置页重新配置模型与 API Key。
  3. 用户数据:旧 users/ 目录不会自动合并;默认工作区改为 EXCELMANUS_HOME/data。
  4. 已移除:Telegram / QQ / 飞书渠道、旧 CLI 入口、Docker / 沙盒部署、Windows GUI 安装器、桌面快捷方式 API。如仍需要请留在 1.7.x。
  5. API:事务收据改用 /api/v1/sessions/{sid}/mutations/{operation_id};旧 /operations/{approval_id} 保持为操作历史详情。
  6. 只读 / 计划模式拒绝写入类工具;恢复修订必须携带 expected_version。

源码用户

git pull
uv sync --frozen --all-extras
cd web && npm ci && npm run build

📌 已知边界

  • 无 Microsoft Excel 重算引擎;公式缓存、复杂对象、图表更新、命名范围等不等价于 Excel 桌面端。
  • macOS ad-hoc 签名、Windows 未签名,正式分发仍需 Developer ID 公证 / Authenticode 证书。
  • 真实模型质量、OAuth 服务可用性、远程 MCP 生命周期未纳入自动化验收。

更多说明见 配置参考、运维手册、桌面版文档。

ExcelManus v1.7.1

Choose a tag to compare

@kilolonion kilolonion released this 04 Mar 04:46

ExcelManus v1.7.1 Release Notes

发布日期: 2026-03-04


🚀 部署基础设施升级

Blue/Green 部署

  • 新增 Blue/Green 部署模式 — 候选实例启动在独立端口,健康检查通过后切换流量,旧实例优雅排水
  • 参数支持:BackendCandidatePort、BackendDrainSeconds
  • deploy.ps1 / deploy.sh 双平台对齐实现

Canary 金丝雀发布

  • 新增 Canary 分步发布 — Nginx upstream weight 分流,按步骤递增流量比例(默认 10% → 50% → 100%)
  • 每步观察期(默认 60s),异常时自动回滚到 active 实例
  • Set-NginxCanaryWeight / Write-CanaryState / Test-CandidateHealth 函数
  • API 端点:POST /deploy/canary/start、POST /deploy/canary/abort

构建安全

  • Pre-build 备份 — 构建前备份 .next/BUILD_ID、routes-manifest.json、standalone/、static/
  • 构建失败时自动从备份恢复,避免 .next 被部分覆盖导致运行版本损坏
  • PM2 零停机 reload(已有进程用 pm2 reload,新进程用 pm2 start)

跨机器部署锁

  • 远程部署锁机制,防止多人/多机同时部署冲突
  • GET /deploy/lock/status — 查询锁状态(holder_host / elapsed / expired)
  • .env.deploy.example 示例配置文件

版本管理增强

  • Version manifest 新增 min_frontend_build_id / min_backend_version 兼容性字段
  • 指纹检测重启 — connection-store 捕获重启前版本指纹,Phase 1 快速检测版本变化(无需等待后端下线)
  • use-version-poll 自适应调度(schedulePoll 替代固定 setInterval)
  • RollbackPanel Canary UI 增强

🤖 渠道管理 & Bot UX 增强

渠道设置 API

  • 完整设置面板 — GET/PUT /api/v1/channels/settings 支持以下配置项:
字段 说明
admin_users 管理员用户列表
group_policy 群聊策略(open / whitelist / blacklist)
group_whitelist / group_blacklist 群聊白/黑名单
allowed_users 允许使用的用户列表
default_concurrency 默认并发模式
default_chat_mode 默认聊天模式
public_url 公开访问地址(用于下载链接)
tg_edit_interval_min/max Telegram 编辑间隔范围
qq_progressive_chars/interval QQ 渐进发送参数
feishu_update_interval 飞书卡片更新间隔
  • 枚举验证 + 数值范围验证 + 环境变量锁定字段保护
  • _propagate_channel_settings 热更新到运行中的 handler

群聊策略 & 管理员控制

  • Group Policy — open / whitelist / blacklist 三种群聊准入策略
  • 群聊拒绝冷却机制,避免重复提示
  • /admin 命令及子命令(运行时用户/群组管理)
  • 管理员自动放行 + 动态用户管理

渠道绑定 UI 重构

  • ChannelBindSection 提取为独立组件
  • 新增 ChannelsTab 设置面板(集成到 SettingsDialog)
  • ChannelsPanel 渠道管理面板

文件下载链接

  • 短效 JWT 下载令牌(30 分钟有效期)
  • POST /api/v1/files/download/link 生成链接
  • GET /api/v1/files/dl/{token} 公开下载端点
  • Bot 端文件回传:直接发送 → 失败回退下载链接 → 再回退 Web 提示

SSE & 输出增强

  • Safe-mode 渠道旁路:tool_call 通知绕过 safe_mode 过滤
  • 工具参数摘要 + 错误反馈增强
  • 批量进度、子代理事件、LLM 重试事件处理

🔧 引擎改进 & 错误处理

ResponsesAPIError 状态码

  • OpenAIResponsesClient 抛出的 ResponsesAPIError 现在携带 status_code 属性
  • retry / classify_failure 管线能正确识别 429 / 5xx / 401 等状态码
  • 修复此前所有 HTTP 错误被视为不可分类 "内部错误" 的回归问题

文本工具调用恢复

  • 新增 _extract_text_tool_calls — 当模型以纯文本输出 JSON 工具调用时,自动解析恢复
  • _find_balanced_json — 平衡大括号匹配
  • _match_tool_in_dict — 工具名/参数提取

Prompt 策略更新

  • 35_run_code_patterns.md / complex_task.md / large_data_write.md 优化
  • explorer.md / subagent.md 子代理提示词更新

🎨 Web UI 优化

  • middleware → proxy 迁移 — middleware.ts 重命名为 proxy.ts(逻辑不变,命名更清晰)
  • Provider 品牌色 — provider-brand.ts 单一来源,TopModelSelector 使用品牌色视觉区分
  • MessageActions — UI 交互细节优化
  • ModelTab — 样式改进
  • Dockerfile — 多阶段构建优化 + .dockerignore 减小构建上下文

升级指南

# Docker 用户
docker pull kilol/excelmanus-api:1.7.1
docker pull kilol/excelmanus-web:1.7.1
docker pull kilol/excelmanus-sandbox:1.7.1

# 源码用户
git pull
uv sync --all-extras
cd web && npm install

新增环境变量

变量 默认值 说明
EXCELMANUS_PUBLIC_URL "" 公开访问地址(Bot 下载链接使用)
BACKEND_BLUEGREEN false 启用 Blue/Green 部署
BACKEND_CANARY false 启用 Canary 发布
BACKEND_CANDIDATE_PORT 8001 候选实例端口
BACKEND_DRAIN_SECONDS 30 旧实例排水时间
CANARY_STEPS "10,50,100" 金丝雀流量阶梯
CANARY_OBSERVE_SECONDS 60 每步观察时间

注意事项

  • Blue/Green 和 Canary 部署需要 Nginx 配置 upstream backend 块
  • 渠道设置通过 Web UI ChannelsTab 或 API 配置,环境变量锁定的字段不可通过 API 修改
  • 文本工具调用恢复对所有 provider 自动生效,无需额外配置

🧪 测试

  • 新增 test_deploy_improvements.py — 部署锁 / env 解析 / 构建回滚测试
  • 新增 test_manifest_compat.py — 版本兼容性字段测试
  • 新增 test_channel_settings.py — 渠道扩展设置 API 测试
  • 新增 test_group_policy.py — 群聊策略 & 管理员控制测试
  • 新增 test_responses_api_error_handling.py — ResponsesAPIError 错误处理回归测试
  • 新增 test_text_tool_call_recovery.py — 文本工具调用恢复测试
  • 更新既有测试:test_channels / test_multiuser_channel / test_require_bind_setting / test_codex_responses_migration

ExcelManus v1.7.0

Choose a tag to compare

@kilolonion kilolonion released this 03 Mar 15:55

ExcelManus v1.7.0 Release Notes

发布日期: 2026-03-03


🧠 会话历史感知 — Episodic Memory

本版本新增 Episodic Memory 层,让 Agent 能够跨会话记住"上次做了什么",在新会话首轮自动注入相关历史上下文:

数据层

  • session_summaries 表 — 新增 migration 20(SQLite + PostgreSQL),字段包含 session_id、user_id、summary_text、task_goal、files_involved、outcome、unfinished、embedding、token_count
  • SessionSummaryStore — CRUD + 语义检索(upsert / get_by_session / search_by_embedding / search_by_files / list_recent / delete),支持 user_id 隔离

摘要生成

  • SessionSummarizer — LLM 结构化摘要生成,输出 task_goal / files_involved / outcome / unfinished / summary 五字段 JSON
  • 输入截断:12K tokens / 48K chars / 120 条消息上限
  • 模型选择:优先 aux_model 节省 token,输出 max_tokens=500

生命周期集成

  • SessionManager 初始化 SessionSummaryStore 并注入 engine._session_summary_store
  • 4 个触发点:cleanup_expired / delete / clear_all_sessions / shutdown(均在 extract_and_save_memory 之后)
  • 门控:session_summary_enabled + session_turn >= min_turns + 无已有摘要 + embedding 向量化(如可用)
  • 自动排除当前会话,避免自引用

语义检索 & 注入

  • engine._search_session_history() — 三路混合检索:路径 A embedding 语义 Top-K → 路径 B 文件名精确匹配 → 路径 C 时间序兜底
  • chat() 中与记忆/文件/技能检索并行启动(仅 session_turn <= 1)
  • context_builder._build_session_history_notice() — 首轮/第二轮注入 dynamic prompt,格式:"## 历史会话参考" + 时间/目标/文件/结果/摘要
  • session_turn > 1 时返回空(零开销)

配置

环境变量 默认值 说明
EXCELMANUS_SESSION_SUMMARY_ENABLED true 总开关
EXCELMANUS_SESSION_SUMMARY_MIN_TURNS 3 最少对话轮次才生成摘要
EXCELMANUS_SESSION_SUMMARY_INJECT_TOP_K 3 注入历史会话数量
EXCELMANUS_SESSION_SUMMARY_MAX_TOKENS 800 注入 token 上限

🤖 多渠道 Bot 框架

全新的统一渠道抽象层,支持 Telegram · QQ · 飞书 三种机器人渠道:

统一架构

  • ChannelAdapter ABC — 统一消息收发、文件上传/下载、事件桥接接口
  • ChannelRegistry — 适配器工厂注册
  • ExcelManusAPIClient — 统一 REST API 封装(chat / approve / answer / abort)
  • message_handler — 通用命令路由 + 结果分发
  • session_store — JSON 持久化会话映射(支持 TTL 过期)

多用户绑定

  • ChannelBindManager — 绑定码生成 / 确认 / TTL 管理
  • auth middleware 支持 service token + X-On-Behalf-Of 委派认证
  • auth router 新增绑定确认 / 查询 / 解绑端点
  • Bot 端 /bind · /bindstatus · /unbind 命令

三种并发模式

模式 行为 适用场景
Queue (默认) FIFO 串行,per-user asyncio.Lock 普通对话
Steer 取消旧任务 + 后端 abort,立即处理新消息 快速切换话题
Guide 注入消息到运行中 Agent 的系统上下文 任务运行中补充指令

通过 /concurrency 命令切换,engine.py 新增 _guide_messages 队列 + push_guide_message() / drain_guide_messages()。

自适应流式输出

  • Telegram EditStreamStrategy — 自适应编辑间隔(1.5s→3.0s)、打字光标 ◍、工具进度内联、首次刷新智能阈值
  • QQ BatchSendStrategy — 段落级渐进发送(200 字符阈值 + 3s 间隔)、工具完成即时反馈、保活进度消息
  • 飞书 CardStreamStrategy — 进度事件集成到卡片底部、超长内容自动续卡、最终状态着色(green/red)
  • chunking — 超长表格截断(默认 30 行)+ 省略标注

健壮性

  • HTTP 重试 + 指数退避 — AsyncHTTPTransport(retries=2) 连接级重试 + 应用层指数退避(429 尊重 Retry-After,上限 30s + jitter)
  • send_file API 化 — 文件下载改走 api.download_file() 获取字节传输
  • PendingInteraction TTL — 30 分钟自动清理过期待确认项
  • EventBridge — 跨渠道实时事件推送(审批/问答)

渠道配置管理

  • ChannelConfigStore — 持久化渠道凭证(加密存储)
  • ChannelProfile — 渠道档案管理
  • launcher 重构 — 支持热启动/停止单个渠道 + 凭证注入

⚡ Claude Prompt Cache 优化

解决了 Claude 模型首次请求延迟高的问题,TTFT 从 16s 降至 3-5s:

  • 分层 Cache Breakpoint — System Prompt 拆分为 stable_prompt(identity + rules + channel + access,session 级不变)和 dynamic_prompt(每请求/迭代变化的 notice)两个独立 system 消息
  • Cache 放置策略 — cache_control: ephemeral 从最后一个 block 改为第一个 block(稳定前缀),修复了 runtime_metadata 每次必变导致整个 system prompt cache 永远 MISS 的结构性问题
  • Session Cache 预热 — warmup_prompt_cache() 异步方法,发送 max_tokens=1 请求预热稳定前缀(仅对 ClaudeClient 生效)
  • Chitchat 无工具快速路径 — route_mode="chitchat" 时跳过 build_v5_tools,仅返回 stable_prompt,prompt tokens 从 28k 降至 ~3k

🔀 Chitchat 分层路由 + LLM 工具路由

Chitchat 分层路由

  • 安全门控:正则全匹配 + 无文件路径 + 无图片 + ≤50 字
  • 短路返回 route_mode="chitchat",空 system_contexts
  • 多轮上下文降级:active_skills / pending / tool 角色 → 回退 all_tools
  • 节省 ~97% token 开销(~35K → ~1K tokens)

LLM 工具路由

  • ROUTE_TOOL_SCOPE 白名单 — data_read / write / chart / vision / code 五类工具范围映射
  • _classify_tool_route_llm() — AUX 模型分类(2s 超时),按语义意图精准选择工具子集
  • build_v5_tools 白名单过滤替代黑名单(清理旧版 TAG_EXCLUDED_TOOLS / VISION_TOOLS)

🖥️ 前端 UI 增强

渠道管理

  • 新增 ChannelsTab — 渠道凭证配置 / 启停 / 状态监控
  • 新增 ChannelIcons — 渠道图标组件
  • ProfilePage 集成渠道绑定管理
  • auth-api 新增渠道绑定 API

SSE 事件

  • 新增 tool_call_notice + reasoning_notice 事件处理
  • 新增 tool_notice / reasoning_notice block 类型

聊天体验

  • 上传失败文件跳过,仅成功图片发送 base64
  • 恢复消息合成时间戳(轮次间隔 6 分钟)
  • AssistantMessage / UserMessage / MessageStream 渲染优化

基础设施

  • 新增 GlobalRestartOverlay — 服务重启遮罩层
  • 新增 connection-store — 连接状态管理
  • 新增 backend-origin — 后端地址解析
  • use-server-restart / use-version-poll hooks 改进
  • onboarding-store auth-aware rehydration 修复
  • runtime-config 本地开发优先 :8000 回退
  • SettingsDialog 集成 ChannelsTab

⚙️ 引擎核心改进

  • Guide 消息注入 — _guide_messages 队列 + push_guide_message() / drain_guide_messages(),Bot Guide 模式下运行中注入用户上下文
  • Chitchat 快速通道 — max_iter=1、tools=[]、跳过 FileRegistry 扫描
  • route_tool_tags 传递 — 路由结果的工具标签传递到 build_v5_tools
  • 语义检索并行区 — asyncio.gather 集成记忆/文件/技能/历史会话四路并行检索
  • session cache 预热 — acquire_for_chat Phase 5 添加 fire-and-forget warmup_prompt_cache()
  • API 增强 — ChatRequest 新增 channel 字段;新增 POST /chat/{session_id}/guide 端点;EventBridge 推送审批/问答事件到 Bot 渠道
  • launcher 重构 — 始终创建,合并环境变量 + 持久化配置统一启动
  • _restart_reason — draining 期间传递重启原因

📝 记忆与会话增强

  • MemoryExtractor 语义去重 — _dedup_against_existing() cosine 比对(阈值 0.88),自动过滤重复记忆
  • memory_maintainer — 维护逻辑优化
  • session_title — 标题生成改进
  • playbook/reflector — 反思器优化
  • session_export — 导出/恢复功能增强,支持 EMX v2 格式(含 Excel 预览)

🏗️ 部署

  • Dockerfile 默认启用 telegram 渠道
  • deploy.sh / deploy.ps1 默认启用 qq 渠道,追加 EXCELMANUS_CHANNELS 到 .env
  • docker-compose.yml 传递 EXCELMANUS_CHANNELS 环境变量
  • start.sh / start.ps1 / start.bat 默认启用 qq 渠道
  • pyproject.toml 版本号 1.6.9 → 1.7.0

🧪 测试

  • 新增 test_session_history.py — 18 个 Episodic Memory 测试(SessionSummarizer 解析 / 检索 / 注入门控)
  • 新增 test_tiered_routing.py + test_tool_routing.py — 78 个路由测试
  • 新增 test_channels.py — 12 个渠道测试文件(并发模式 / Guide / Steer)
  • 新增 test_bot_ux_optimization.py — 31 个 Bot UX 测试
  • 新增 test_cache_optimization.py — 10 个 Cache 优化测试
  • 更新 test_session_export_restore — 新增 EMX v2 excel_previews 导入测试

🗑️ 移除

  • 清理旧版 TAG_EXCLUDED_TOOLS / VISION_TOOLS 遗留常量(policy.py),已由白名单路由替代

升级指南

# Docker 用户
docker pull kilol/excelmanus-api:1.7.0
docker pull kilol/excelmanus-web:1.7.0
docker pull kilol/excelmanus-sandbox:1.7.0

# 源码用户
git pull
uv sync --all-extras
cd web && npm install

新增环境变量

变量 默认值 说明
EXCELMANUS_CHANNELS "" 启用的 Bot 渠道(telegram,qq,feishu)
EXCELMANUS_SESSION_SUMMARY_ENABLED true 会话摘要总开关
EXCELMANUS_SESSION_SUMMARY_MIN_TURNS 3 最少轮次才生成摘要
EXCELMANUS_SESSION_SUMMARY_INJECT_TOP_K 3 注入历史会话数量
EXCELMANUS_SESSION_SUMMARY_MAX_TOKENS 800 注入 token 上限

数据库迁移

启动时自动执行 migration 20(新增 session_summaries 表),无需手动操作。

注意事项

  • 会话历史感知需要 EXCELMANUS_EMBEDDING_ENABLED=true,未启用时降级为时间序兜底检索
  • 多渠道 Bot 需要配置对应渠道凭证,通过 Web UI 设置页或环境变量配置
  • Claude prompt cache 优化对所有 Claude 用户自动生效,无需额外配置

ExcelManus v1.6.9

Choose a tag to compare

@kilolonion kilolonion released this 03 Mar 06:11

ExcelManus v1.6.9 Release Notes

发布日期: 2026-03-03


🧠 词嵌入深度集成

本版本将词嵌入能力从独立模块提升为引擎级基础设施,5 大集成点全面激活:

  • SemanticSkillRouter — 对 Skillpack 描述建立 embedding 索引,chat() 中并行检索自动匹配最优技能包
  • ErrorSolutionStore — 错误→解决方案向量索引,持久化到 .excelmanus/error_solutions/,支持 record_error / record_solution / search / get_guidance_text
  • 智能上下文压缩 — CompactionManager 加入 _score_message_relevance() 语义相关性评分,高相关消息截断上限翻倍并标注 [★高相关],低相关消息截断减半并标注 [低相关]
  • MemoryExtractor 语义去重 — 新记忆与已有条目 cosine 比对(阈值 0.88),自动过滤重复
  • SemanticRegistry 接入 — context_builder 中注入语义相关文件摘要

所有集成点通过共享的 _embedding_client 统一初始化,asyncio.gather 并行执行记忆/文件/技能语义检索,零额外延迟。embedding_enabled=False 时全部降级为无操作。

⚙️ 引擎核心改进

  • 上下文预算管理 (context_budget.py) — 新增动态上下文预算分配与管理模块,语义相关性评分驱动差异化截断策略
  • 会话状态增强 — session_state 优化,支持更丰富的状态跟踪
  • 子代理编排改进 — subagent_orchestrator 提升任务委派效率
  • tool_dispatcher / llm_caller / command_handler — 多处细节优化
  • prompt_composer — 提示词组装逻辑更新

🔒 安全认证增强

  • 加密模块 (security/cipher.py) — 新增数据加密能力
  • OAuth 流程优化 — oauth / credential_store / auth router 改进
  • 沙盒策略 — code_policy / docker_sandbox / sandbox_hook 安全策略优化

🔧 工具与提供者

  • 工具改进 — code_tools / data_tools / shell_tools / sleep_tools 功能增强
  • Claude / Gemini 提供者 — 适配更新,stream_types 优化
  • model_probe — 模型探测逻辑改进
  • 子代理 — builtin / executor / models / registry 全面更新

📝 提示词与技能包

  • 核心原则 — 10_core_principles.md 更新
  • 策略提示词 — formatting / image_replica / table_layout 优化
  • 子代理提示词 — explorer / subagent / verifier 改进
  • 技能包 — format_basic / sheet_ops SKILL.md 更新;aesthetic_guide / color_palette / format_patterns 参考文档优化

🖥️ 前端功能

新增组件

  • CheckpointTimeline — 检查点时间线可视化
  • TurnBrowser — 对话轮次浏览器
  • FileInfoDialog — 文件信息详情弹窗
  • RuntimeConfigScript — 运行时配置脚本注入

页面与组件更新

  • admin / auth / login / register 页面改进
  • ChatModeTabs / FailureGuidanceCard / TopModelSelector / UserMessage 优化
  • ModelTab / RuntimeTab / VersionTab 设置面板更新
  • ModelSelector / TreeNodeItem 侧边栏组件改进
  • runtime-config 工具库新增

基础设施

  • chat-store / SSE / API / auth-api 逻辑优化
  • use-server-restart hook 改进
  • Web Dockerfile 更新

🏗️ 部署与配置

  • Dockerfile.sandbox / docker-compose / nginx.conf 更新
  • deploy.sh 部署脚本改进
  • pyproject.toml 版本号升级

🧪 测试

  • 新增 test_error_solution_store_wiring — ErrorSolutionStore 接线测试
  • 新增 test_sleep_tools — sleep 工具测试
  • 更新测试: compaction / error_guidance / memory / prompt_composer / claude_provider / shell_tools / sandbox_bench_protect / think_act / tool_errors

🗑️ 移除

  • 移除 renderer_dashboard.py(功能已合并至其他模块)

升级指南

# Docker 用户
docker pull kilol/excelmanus-api:1.6.9
docker pull kilol/excelmanus-web:1.6.9
docker pull kilol/excelmanus-sandbox:1.6.9

# 源码用户
git pull
uv sync --all-extras
cd web && npm install

如需使用词嵌入功能,请确保配置了 embedding 相关环境变量。embedding_enabled=False 时所有语义功能自动降级,不影响正常使用。

ExcelManus v1.6.8

Choose a tag to compare

@kilolonion kilolonion released this 02 Mar 16:24

🎯 版本亮点

本版本带来三大核心升级:OpenAI Codex 订阅集成(Device Code Flow 无密钥连接私有模型)、OpenAI Responses API 全链路支持(新一代推理 API)、聊天体验全面提升(乐观 UI + 停滞检测 + 错误引导系统)。同时完成了 Setup UI 现代化重构(Vite + React + Tailwind CSS)、uv 包管理器全面迁移,并新增 11 个 LLM 提供商图标和大量 UI 精细化打磨。


🆕 新增功能

OpenAI Codex 订阅集成

通过 Device Code Flow(RFC 8628)连接用户的 OpenAI Codex 订阅,自动发现私有模型,无需手填 API Key:

  1. 用户在个人中心点击「连接 Codex」→ 获取 6 位验证码
  2. 在 auth.openai.com/codex/device 输入验证码授权
  3. 连接成功后系统自动枚举并注册用户的私有 Codex 模型

后端实现:

  • excelmanus/auth/providers/ — 新增 OAuth 提供商抽象层
  • CredentialStore — Fernet 加密存储 auth_profiles 表
  • CredentialResolver — 运行时凭证优先级:OAuth > user_key > system
  • 数据库 v18 迁移:新增 auth_profiles 表
  • 5 个新 API 端点:/auth/codex/device-code/start / poll / status / refresh / disconnect

前端实现:

  • Device Code 页面 + popup 回调处理
  • ProfilePage 新增 CodexProviderSection 组件
  • 新手引导优化

需要在 ChatGPT 设置 → 安全 中开启 "Enable device code authentication for Codex"。


OpenAI Responses API 全链路支持

新增 OpenAIResponsesClient 适配新一代 /v1/responses 推理 API,支持 streaming / thinking 模式。


错误引导系统(Error Guidance)

任务失败时自动分析错误类型,通过 FAILURE_GUIDANCE SSE 事件推送可操作建议:

  • 覆盖场景:认证失败 / API 配额超限 / 网络超时 / 参数错误等
  • 前端展示错误标题 + 操作按钮(立即重试 / 检查模型设置 / 复制诊断 ID)

聊天体验优化

乐观 UI: 消息发送前立即显示 + 文件上传同步收集

停滞检测: 90 秒无数据自动中止 + 改进错误提示

工具调用精准更新: 按 tool_call_id 精准更新,不再按顺序错位


Excel Store 乐观更新

所有写操作引入快照 + 乐观更新 + 失败回滚机制


Setup UI 现代化重构

Windows 图形化部署工具内嵌 Web UI 迁移至 Vite + React + Tailwind CSS


会话标题即时生成

首轮立即截取用户消息作为初始标题,后台异步 AI 精炼优化


🔧 改进

模型配置增强

  • ModelInfo 接口扩展:display_name / resolved_model / provider / user_scoped
  • 区分系统模型 vs 用户私有模型
  • 新增 MiniMax provider 支持

管理/设置页面增强

  • Admin 用量展示 — 按用户/提供商/模型三级展示 LLM 调用量
  • LoginConfigTab — 改进登录配置选项布局

11 个 LLM 提供商图标

新增阿里云、百度、字节跳动、华为、HuggingFace、Meta、Mistral、NVIDIA、Perplexity、QQ、xAI 图标

uv 包管理器全面迁移

所有部署脚本和 CI/CD 流程优先使用 uv(依赖安装速度提升 10-100x)

UI 组件精细化

AssistantMessage / ChatInput / CodePreviewModal / MessageActions / ExcelFilesBar / SessionList 等组件全面优化

Memory Store 优化

改进内存存储性能与 ImageLifecycleManager 资源释放逻辑


🐛 关键修复

  • 移动端聊天附件/操作按钮溢出
  • Admin OAuth 移动端配置按钮布局
  • 欢迎页 Demo 卡片重复发送
  • MiniMax /models 404 回退

🗑️ 移除

  • deploy/build_setup.bat / requirements-setup.txt / setup_app.py — Setup UI 已迁移 Vite

📦 文件变更统计

~180 files changed, 12000+ insertions(+), 4000+ deletions(-)

ExcelManus v1.6.7

Choose a tag to compare

@kilolonion kilolonion released this 01 Mar 15:43

ExcelManus v1.6.7 Release Notes

🎯 版本亮点

本版本引入 新用户引导系统(Onboarding Wizard + Coach Marks)、ClawHub 技能市场集成、集中数据管理(data_home)、自动更新机制,并对 模型配置(Profile 扩展 / 远程模型列表 / Thinking 模式)、记忆系统(语义注入 / 过期清理 / LLM 维护代理)、LLM 调用可靠性(自动重试 / 内联 thinking 检测)进行了全面增强。Windows 安装程序重构为 Vite + React 现代前端,支持快速启动、版本一致性检查、Node.js 版本验证。前端完成设置页大幅扩展、认证流程加固、Excel Diff 改进等 50+ 组件优化。CI/CD 新增前端构建任务、安全扫描扩大范围;Docker 升级 Node 22 + 非 root 用户运行。


🆕 新增功能

新用户引导系统(Onboarding)

首次使用时提供全屏引导向导,帮助用户完成初始配置:

  • OnboardingWizard — API Key 配置 / 模型选择 / 功能介绍的分步引导
  • CoachMarks — 两阶段教练标记(基础功能探索 + 进阶功能探索)
  • TourTooltip / TourOverlay — 高亮目标元素的引导 UI 组件
  • SettingsTourHints — 设置页内的上下文提示

涉及文件:web/src/components/onboarding/(新增目录)、web/src/stores/onboarding-store.ts(新增)、web/src/app/client-layout.tsx

ClawHub 技能市场

集成 ClawHub 在线技能市场,支持搜索、安装、更新第三方技能包:

  • ClawHubClient — HTTP 客户端(API 直连 + CLI 降级混合模式)
  • ClawHubLockfile — 兼容 clawhub CLI 的 .clawhub/lock.json 锁文件管理
  • SkillpackManager — 集成 ClawHub 操作(search / install / update / list)
  • 前端 SkillsTab — 技能设置页新增市场搜索与安装 UI
  • CLI — /clawhub 子命令(search / install / update / list / info)

涉及文件:excelmanus/skillpacks/clawhub.py(新增)、excelmanus/skillpacks/clawhub_lockfile.py(新增)、excelmanus/skillpacks/manager.py、web/src/components/settings/SkillsTab.tsx

集中数据管理(data_home)

统一管理用户数据目录 ~/.excelmanus/data,解耦项目代码与用户数据:

  • 安装注册 — 记录安装路径与版本到 ~/.excelmanus/installations.json
  • 配置迁移 — 项目 .env 自动提取到 ~/.excelmanus/config.env(最低优先级)
  • 数据迁移 — 项目级 uploads / outputs / users 迁移到集中目录

涉及文件:excelmanus/data_home.py(新增)、excelmanus/config.py、excelmanus/api.py

自动更新

支持检测新版本并一键更新:

  • updater — 版本检测(GitHub API)、代码拉取、依赖安装、数据库迁移预验证
  • API 路由 — GET /api/v1/version、POST /api/v1/update/check、POST /api/v1/update/apply
  • 前端 VersionTab — 版本信息展示与更新操作 UI
  • ServerRestartOverlay — 更新后服务重启遮罩层
  • 三平台更新脚本 — deploy/update.sh、deploy/update.bat、deploy/update.ps1

涉及文件:excelmanus/updater.py(新增)、excelmanus/api_routes_version.py(新增)、web/src/components/settings/VersionTab.tsx(新增)、web/src/components/ServerRestartOverlay.tsx(新增)

VLM 单轮合并提取

强模型(如 Gemini 2.5 Pro)可一次性提取结构 + 数据 + 样式,减少 VLM 调用次数:

  • 按模型分级路由:strong → 始终 single_pass,standard → 条件 single_pass,weak → pipeline
  • 单轮失败自动回退到 4 阶段 Pipeline

涉及文件:excelmanus/pipeline/single_pass.py(新增)、excelmanus/engine_core/tool_handlers.py

记忆维护代理

LLM 驱动的记忆后台维护,自动去重、合并、清理低质量条目:

  • 支持配置触发条件(最小条目数 / 新增阈值 / 最小间隔)
  • 维护结果结构化输出(merge / delete / keep 操作)

涉及文件:excelmanus/memory_maintainer.py(新增)

会话导出

支持将会话历史导出为 Markdown / 纯文本 / EMX (JSON) 三种格式。EMX (ExcelManus eXport) 为自定义 JSON 格式,可重新导入为完整会话。

涉及文件:excelmanus/session_export.py(新增)


🐛 关键修复

认证中间件 SSE 缓冲

AuthMiddleware 从 BaseHTTPMiddleware 重写为纯 ASGI 中间件,解决 Starlette BaseHTTPMiddleware 对 SSE 长连接的 chunk 缓冲问题,修复 SSE 事件投递延迟。

涉及文件:excelmanus/auth/middleware.py

降级模式启动

配置缺失(API Key / Base URL / Model)时不再崩溃,改为以降级模式启动,引导用户通过前端设置页完成配置。

涉及文件:excelmanus/api.py

登录自动登录竞态

修复 autoLoginAttemptedRef 在 recentAccounts rehydrate 前被消费导致的二次自动登录问题,改为单次尝试 + mountedRef 保护。

涉及文件:web/src/app/login/page.tsx

Explorer prescan 竞态

新增 _explore_in_progress 标记防止 TOCTOU 竞态导致重复探索注入。

涉及文件:excelmanus/engine.py

数据库迁移安全加固

  • _safe_execute_sql(): SQLite ALTER TABLE 幂等保护(PRAGMA table_info 检查列是否已存在)
  • _backup_before_migrate(): 迁移前自动备份 DB + WAL/SHM
  • 失败时保留已成功版本的 schema_version

涉及文件:excelmanus/database.py


🔧 改进

模型配置增强

  • ModelProfile 扩展 — 新增 thinking_mode(thinking 参数格式覆盖)、model_family(实际模型族)、custom_extra_body、custom_extra_headers
  • 远程模型列表 — 前端 ModelTab 支持从 API 端点拉取可用模型列表
  • 数据库 Migration 17 — model_profiles 表同步新增 4 列
  • ModelTab 大幅重构 — 主模型区移除(统一为 profiles),新增远程模型浏览、profile 高级字段编辑

涉及文件:excelmanus/config.py、excelmanus/database.py、excelmanus/stores/config_store.py、web/src/components/settings/ModelTab.tsx

LLM 调用可靠性

  • 自动重试 — 遇到 5xx / 429 / 网络错误时指数退避重试(可配置 llm_retry_max_attempts / base_delay / max_delay),优先使用 Retry-After 头
  • 内联 Thinking 检测 — InlineThinkingStateMachine 流式检测 <thinking> 标签(兼容中转站将 extended thinking 混入 text block 的情况)
  • Provider 增强 — Claude / Gemini / OpenAI 三个 Provider 均增强 thinking 内容提取与流式转发

涉及文件:excelmanus/engine_core/llm_caller.py、excelmanus/providers/stream_types.py、excelmanus/providers/claude.py、excelmanus/providers/gemini.py、excelmanus/providers/openai_responses.py

记忆系统增强

  • 语义记忆动态注入 — 有语义记忆时不再全量静态注入,改为按用户消息相关性检索后注入
  • 图片生命周期管理 — ImageLifecycleManager 三维策略(keep_rounds / max_active / token_budget),替代粗暴的立即降级
  • 记忆过期清理 — cleanup_expired(days) 自动清理过期条目
  • 提取质量升级 — 反例引导 + 跨会话复用原则,避免提取一次性任务细节
  • FileMemoryBackend — 主题文件聚合替代 MEMORY.md 直读,消除双写冗余

涉及文件:excelmanus/memory.py、excelmanus/memory_extractor.py、excelmanus/persistent_memory.py、excelmanus/stores/file_memory_backend.py

Compaction 压缩改进

LLM 摘要失败时新增规则化极简摘要兜底(提取工具调用序列 + 关键结果),替代此前的纯硬截断。

涉及文件:excelmanus/compaction.py

工具系统

  • ToolDef 智能截断 — 二分法 list 缩减 + dict / string 阶段化截断 + 首尾保留(truncate_head_chars / truncate_tail_chars)
  • Sheet 名三级模糊匹配 — 精确 → 忽略大小写 → SequenceMatcher fuzzy(阈值 0.6)
  • SACR 紧凑记录 — 去除 null/NaN 键的 DataFrame → list[dict] 转换,减少 74% token

涉及文件:excelmanus/tools/registry.py、excelmanus/tools/_helpers.py、excelmanus/tools/data_tools.py

api.py God Module 拆分

api.py 从 6827 → 6042 行(-785 行),提取 3 个子模块:

  • api_sse.py(418 行)— SSE 序列化 + SessionStreamState
  • api_routes_mcp.py(284 行)— MCP Server CRUD
  • api_routes_rules.py(261 行)— Rules CRUD + Memory API

涉及文件:excelmanus/api_sse.py(新增)、excelmanus/api_routes_mcp.py(新增)、excelmanus/api_routes_rules.py(新增)

前端设置页全面扩展

  • RuntimeTab — 大幅扩展,涵盖会话 / 多用户 / 记忆 / VLM / 压缩 / 重试等 30+ 配置项
  • MemoryTab — 新增记忆维护与过期清理配置
  • SettingsDialog — 新增 VersionTab 标签页

前端 UI 改进

  • ApprovalModal — 审批弹窗大幅增强
  • ExcelDiffTable — Diff 展示改进
  • UniverSheet — 触控适配优化
  • WelcomePage — 欢迎页改进
  • SessionList — 会话列表增强
  • 凭证加密 — 浏览器端凭证加密存储(credential-crypto)
  • Next.js Middleware — 路由保护

会话管理增强

  • pending_creates 防重入保护
  • restored_readonly 懒恢复会话标记,使用更短 TTL
  • broadcast_model_profiles 向所有活跃会话广播模型档案变更
  • notify_file_deleted/renamed 并发安全(list 快照 + try-except)

涉及文件:excelmanus/session.py

部署与安装程序增强

  • Setup UI 现代化重构 — Windows 安装向导前端从内嵌 HTML 字符串重写为 Vite + React + Tailwind CSS 单文件应用,经 embed_static.py 嵌入 C# exe
  • 快速启动与版本一致性检查 — 新增 .install_complete 标记与 pyproject.toml 版本比对,版本不一致时自动触发重新部署
  • Node.js 版本验证 (E6) — 环境检测要求 Node.js ≥ v18,低版本给出明确提示
  • Python 启动器回退 (E2) — python 不可用时自动尝试 py -3 launcher
  • .env UTF-8 BOM 修复 (E37) — 使用无 BOM 的 UTF-8 写入 .env,修复 python-dotenv 解析首行失败
  • .env 端口配置解析 — 启动时从 .env 读取后端/前端端口配置
  • start.sh / start.ps1 — 集中数据目录支持、环境检测增强
  • deploy.sh / deploy.ps1 — macOS sed 兼容性修复、standalone 检测加固
  • 应用重命名 — ExcelManusDeployTool.exe → ExcelManus.exe,统一品牌名称
  • 部署向导精简 — 从三步简化为两步(环境检测 → 启动部署),移除前端内置的 LLM 配置步骤

自动更新增强

  • Gitee API 优先 — 版本检测优先走 Gitee API,失败后回退 GitHub API
  • GitHub remote 回退 — git fetch origin 失败时自动添加并尝试 github remote
  • 版本读取绕过模块缓存 — _read_version_from_disk() 直接从磁盘读取 __init__.py / pyproject.toml,避免 git pull 后 Python 模块缓存返回旧版本
  • 备份失败清理 — 备份过程失败时自动清理残留目录
  • Git stash 容错 — stash 失败不再阻断更新流程
  • 数据库迁移预检简化 — 仅检查连接可达性与 schema 版本,迁移 SQL 由服务启动时自动执行

CI/CD 与 Docker

  • 前端构建 CI — python-ci.yml 新增 frontend-build 任务(Node 22 + npm ci + npm run build)
  • 安全扫描扩大范围 — security-secrets.yml 移除 path 过滤,所有 PR/push 均触发扫描
  • Docker 版本解析修复 — docker-multiarch.yml 中 grep -oP 替换为 sed,兼容非 GNU 环境
  • Docker 安全加固 — 后端 Dockerfile 新增非 root 用户 appuser,依赖安装改为 .[all]
  • Node.js 升级 — 前端 Docker 基础镜像从 node:20-alpine 升级至 node:22-alpine

文档与品牌

  • README 双源推荐 — 国内用户优先推荐 Gitee clone,Releases 同时提供 Gitee + GitHub 链接
  • 引导文案更新 — 技能包导入来源更新为「Gitee/GitHub」

提示词策略更新

  • 核心法则 Think-Act 协议精简、信号驱动分级
  • 新增合并单元格处理策略(merged_cell_handling.md)
  • 记忆策略无条件注入(memory_strategy.md)
  • 沙盒感知无条件注入(移除 full_access 条件)

📦 文件变更统计(vs v1.6.6)

231 files changed, 29881 insertions(+), 6863 deletions(-)

新增文件

文件 说明
excelmanus/data_home.py 集中数据目录管理
excelmanus/updater.py 自动更新检测与执行
excelmanus/api_routes_version.py 版本与更新 API 路由
excelmanus/api_sse.py SSE 序列化 + StreamState
excelmanus/api_routes_mcp.py MCP Server CRUD 路由
excelmanus/api_routes_rules.py Rules/Memory CRUD 路由
excelmanus/memory_maintainer.py LLM 记忆维护代理
excelmanus/session_export.py 会话导出
excelmanus/shortcuts.py 快捷操作注册表
excelmanus/pipeline/single_pass.py VLM 单轮合并提取
excelmanus/skillpacks/clawhub.py ClawHub 客户端
excelmanus/skillpacks/clawhub_lockfile.py ClawHub lockfile 管理
excelmanus/engine_core/llm_client_manager.py LLM 客户端管理器
excelmanus/prompts/strategies/merged_cell_handling.md 合并单元格策略
deploy/update.sh Linux/macOS 更新脚本
deploy/update.bat Windows 更新脚本
deploy/update.ps1 PowerShell 更新脚本
deploy/icon.ico 安装程序图标
deploy/embed_static.py Vite 构建产物 → C# 嵌入文件生成器
deploy/EmbeddedAssets.cs 自动生成的前端 HTML 嵌入文件
deploy/setup-ui/ Vite + React + Tailwind 安装向导前端项目
web/src/components/onboarding/ 新用户引导组件目录(10+ 文件)
web/src/stores/onboarding-store.ts 引导状态 Store
web/src/components/ServerRestartOverlay.tsx 服务重启遮罩
web/src/components/settings/VersionTab.tsx 版本管理标签页
web/src/hooks/use-server-restart.ts 服务重启 hook
web/src/lib/credential-crypto.ts 凭证加密工具
web/src/middleware.ts Next.js 中间件
web/public/providers/ Provider 图标资源
tests/test_clawhub.py ClawHub 测试
`tests/t...
Read more

ExcelManus v1.6.6

Choose a tag to compare

@kilolonion kilolonion released this 28 Feb 12:06

ExcelManus v1.6.6 Release Notes

🎯 版本亮点

本版本新增 验证门控执行循环(Verification-Gated Execution)与 Playbook 自进化战术手册两大核心引擎特性,大幅增强 Agent 执行质量与自学习能力。同时引入 备份撤销(Undo)机制、工作区配额前置检查、会话标题自动生成,并对登录注册页面、设置对话框、代码/图片预览弹窗等前端组件进行了全面 UI 重构。


🆕 新增功能

验证门控执行循环(Verification Gate)

任务完成前可自动执行结构化验证,支持 5 种检查类型:

  • row_count — 校验行数是否匹配
  • sheet_exists — 检查工作表是否存在
  • formula_exists — 验证公式是否已写入
  • value_match — 检查单元格值是否正确
  • custom — 自定义验证条件

task_create schema 升级支持结构化 verification 字段,complex_task.md 策略引导 Agent 前置规划验证条件。

涉及文件:excelmanus/engine_core/verification_gate.py(新增)、excelmanus/task_list.py、excelmanus/tools/task_tools.py、excelmanus/engine_core/context_builder.py

Playbook 自进化战术手册

Agent 从历史任务执行中自动提炼经验,形成可复用的战术条目,后续任务自动检索注入相关经验:

  • PlaybookStore — SQLite 持久化,支持 CRUD / 语义检索 / 评分 / 清理
  • TaskReflector — 解析 LLM 输出为 PlaybookDelta
  • PlaybookCurator — 语义去重合并 + 低质量条目淘汰
  • ObservationMasker — 对旧轮次 tool result 结构化遮蔽,减少上下文噪声

涉及文件:excelmanus/playbook/(新增目录)、excelmanus/engine_core/observation_masker.py(新增)

备份撤销(Undo)

用户应用备份(Apply)后可一键撤销,恢复到应用前的状态:

  • 提交 staged 文件前自动备份原始文件到 _undo 目录
  • 新增 POST /api/v1/backup/undo 端点
  • 前端 UndoableCard 支持逐文件撤销
  • Apply/Discard 响应新增 pending_count 字段
  • 新增 STAGING_UPDATED SSE 事件,实时通知前端 staging 状态变化

涉及文件:excelmanus/api.py、excelmanus/file_versions.py、web/src/components/chat/UndoableCard.tsx、web/src/stores/excel-store.ts

工作区配额前置检查

对话开始前检查工作区文件数/存储容量是否超限,超限时阻止对话并提示用户清理:

  • 支持按用户个性化配额(管理员默认 1 GB,普通用户 200 MB)
  • 系统文件(data.db、backups、approvals)不计入用户配额
  • 前端侧边栏新增 StorageBar 组件,实时显示存储用量
  • 默认文件数上限从 5 调整为 1000

涉及文件:excelmanus/api.py、excelmanus/workspace.py、web/src/components/sidebar/StorageBar.tsx(新增)

会话标题自动生成

首轮对话完成后自动生成简洁的会话标题,无需用户手动命名:

  • ChatResponse 新增 title 字段
  • 超时保护(5 秒),不影响主对话响应速度

涉及文件:excelmanus/api.py、tests/test_session_title.py(新增)

文本文件预览

新增 TEXT_PREVIEW 事件,Agent 读取文本文件后在聊天中内联展示文件内容:

  • 支持行号显示、内容截断提示
  • 新增 TextPreviewView / ScrollablePreview 前端组件

涉及文件:excelmanus/events.py、web/src/components/chat/TextPreviewView.tsx(新增)、web/src/components/chat/ScrollablePreview.tsx(新增)

隐私政策与服务条款

新增隐私政策和服务条款文档页面:

  • docs/privacy-policy.md、docs/terms-of-service.md
  • web/src/app/privacy/page.tsx、web/src/app/terms/page.tsx

🐛 关键修复

rememberMe 密码保存逻辑

修复 handleTokenResponse 更新账户信息时意外覆盖清空已保存密码的问题。当未显式传递 rememberMe 参数时,保留已有的密码和自动登录过期时间。

涉及文件:web/src/stores/recent-accounts-store.ts

full_access 跨会话持久化

full_access 开关从仅会话内生效改为持久化到用户级配置,新会话自动继承上次设置,无需每次手动开启。

涉及文件:excelmanus/engine.py、excelmanus/stores/config_store.py


🔧 改进

管理后台增强

  • 新增 删除用户 功能:清空工作空间 → 删除所有会话 → 删除用户记录
  • 支持为用户设置个性化存储配额(max_storage_mb、max_files)
  • 管理面板 UI 全面重构

涉及文件:excelmanus/auth/router.py、excelmanus/auth/store.py、web/src/app/admin/page.tsx、web/src/components/admin/AdminPanel.tsx(新增)

登录注册页面重构

  • 登录页、注册页、忘记密码页 UI 全面升级
  • 个人资料面板改为侧滑抽屉(SlidePanel)

涉及文件:web/src/app/login/page.tsx、web/src/app/register/page.tsx、web/src/app/forgot-password/page.tsx、web/src/components/profile/ProfilePanel.tsx(新增)、web/src/components/ui/slide-panel.tsx(新增)

前端 UI 大幅优化

  • CodePreviewModal — 代码预览弹窗重构,支持语法高亮和全屏查看
  • ImagePreviewModal — 图片预览弹窗重构
  • ApprovalModal — 审批弹窗改进
  • ApplyPanel — 备份应用面板增强,支持变更摘要和 undo
  • SettingsDialog — 设置对话框精简重构
  • ModelTab — 模型设置页大幅改进
  • TopModelSelector — 顶部模型选择器优化
  • SessionList — 会话列表交互改进
  • StatusFooter — 侧边栏底部状态栏增强
  • SubagentBlock — 子代理展示块优化
  • TextDiffView / StreamingTextPreview — 差异和流式预览组件改进
  • MessageActions — 消息操作按钮增强
  • 全局 CSS 样式大幅更新(+471 行)

Verifier 子代理增强

  • Advisory 模式后台验证任务(不阻塞 finish_task 回复)
  • Verifier prompt 引导升级
  • Blocking 模式测试加固

涉及文件:excelmanus/engine.py、excelmanus/prompts/subagent/verifier.md、tests/test_verifier_blocking.py

提示词策略微调

多个策略文件精细化调整:analysis.md、complex_task.md、error_recovery.md、formatting.md、formula_vs_value.md、image_replica.md、plan_mode_fallback.md、plan_strategy.md、table_layout.md、explorer.md

引擎核心

  • 移除已废弃的 plan 拦截逻辑(intercept_task_create_with_plan、_plan_intercept_task_create)
  • CommandHandler 新增命令扩展
  • ToolDispatcher 事件发射增强
  • ToolHandlers 验证门控集成

其他

  • UI Store 新增 persist 中间件,fullAccessEnabled 状态持久化
  • file-tree-helpers.ts 工具函数扩展
  • hljs-utils.ts 语法高亮辅助(新增)
  • use-auth-image.ts 认证图片 hook(新增)
  • 侧边栏文件列表支持系统文件可见性切换
  • 工具进度追踪(toolProgress store)
  • 备份列表新增 in_flight 状态和变更摘要

🗑️ 移除

  • 移除 web/src/hooks/__tests__/use-mobile.test.ts(已过时)
  • 移除已废弃的 plan 模式拦截逻辑

📦 文件变更统计(vs v1.6.5)

118 files changed, 8090 insertions(+), 3294 deletions(-)

新增文件

文件 说明
excelmanus/engine_core/verification_gate.py 验证门控引擎
excelmanus/engine_core/observation_masker.py 观察结果遮蔽器
excelmanus/playbook/__init__.py Playbook 模块入口
excelmanus/playbook/store.py Playbook SQLite 存储
excelmanus/playbook/reflector.py 任务反思器
excelmanus/playbook/curator.py 条目去重与淘汰
docs/privacy-policy.md 隐私政策
docs/terms-of-service.md 服务条款
web/src/app/privacy/page.tsx 隐私政策页面
web/src/app/terms/page.tsx 服务条款页面
web/src/components/admin/AdminPanel.tsx 管理面板组件
web/src/components/chat/ScrollablePreview.tsx 可滚动预览组件
web/src/components/chat/TextPreviewView.tsx 文本文件预览组件
web/src/components/profile/ProfilePanel.tsx 个人资料侧滑面板
web/src/components/sidebar/StorageBar.tsx 存储用量进度条
web/src/components/ui/slide-panel.tsx 通用侧滑面板
web/src/hooks/use-auth-image.ts 认证图片 hook
web/src/lib/hljs-utils.ts 语法高亮工具
web/public/brand-icon.svg 品牌图标
tests/test_session_title.py 会话标题测试
tests/test_verification_criteria.py 验证条件测试(22 个)
tests/test_verification_gate.py 验证门控测试(32 个)
tests/test_playbook_store.py Playbook 存储测试(25 个)
tests/test_reflector.py 反思器测试(16 个)
tests/test_curator.py 策展器测试(7 个)
tests/test_observation_masker.py 遮蔽器测试(14 个)

主要修改文件

文件 变更量 说明
excelmanus/api.py +196/-17 配额检查 / Undo 端点 / 标题生成 / SSE 事件
excelmanus/engine.py +113/-40 验证门控 / full_access 持久化 / verifier 后台任务
excelmanus/engine_core/context_builder.py +137/-5 Playbook / 验证注入
excelmanus/file_versions.py +151/-6 Undo 支持 / diff 摘要
excelmanus/workspace.py +58/-4 配额策略 / 系统文件排除
excelmanus/task_list.py +96/-4 VerificationCriteria
excelmanus/engine_core/command_handler.py +88/-3 命令扩展
excelmanus/engine_core/tool_handlers.py +83/-30 验证门控集成
web/src/app/login/page.tsx +661 登录页重构
web/src/app/globals.css +471 全局样式更新
web/src/components/chat/CodePreviewModal.tsx +726 代码预览重构
web/src/components/settings/ModelTab.tsx +1187 模型设置页重构
web/src/components/chat/ApplyPanel.tsx +418 备份面板增强
web/src/components/sidebar/StatusFooter.tsx +359 状态栏增强
web/src/components/sidebar/SessionList.tsx +302 会话列表改进
web/src/stores/excel-store.ts +107 Undo / 预览 / staging
web/src/lib/chat-actions.ts +162 新 SSE 事件处理

ExcelManus v1.6.5

Choose a tag to compare

@kilolonion kilolonion released this 27 Feb 19:55

ExcelManus v1.6.5 Release Notes

🎯 版本亮点

本版本新增 CSV 文件预览与扫描、视觉能力 Probe 自动检测,修复了非视觉模型图片处理崩溃、SSE 流式推送序列化异常等关键 Bug,同时将部署脚本升级至 v2.1.0,大幅增强远程部署的健壮性与兼容性,并优化了移动端触控体验。


🆕 新增功能

CSV 文件预览与扫描

  • API 端:get_excel_snapshot 新增 CSV 快捷路径,自动检测文件编码(utf-8-sig / utf-8 / gbk / gb18030 / latin-1),将 CSV 解析为与 Excel 一致的 snapshot 格式返回,前端可直接预览 CSV 文件
  • 文件注册:FileRegistry._scan_file_sheets 新增 CSV 分支,跳过 openpyxl,直接用标准库 csv 模块扫描行列数和表头,使 CSV 文件能正确出现在工作区文件列表中

涉及文件:excelmanus/api.py、excelmanus/file_registry.py

视觉能力 Probe 自动检测

主模型视觉能力判断从纯关键词推断升级为三级优先级机制:

  1. 手动覆盖(main_model_vision = true/false)— 最高优先级
  2. Probe 实际检测结果(ground truth)— 从数据库缓存读取,首次使用时自动调度后台 probe
  3. 关键词兜底推断 — 仅在无 probe 结果时使用

首次使用时自动在后台调度 run_full_probe,检测结果缓存到数据库,下次创建 engine 时直接使用 probe 结果,避免关键词推断不准确的问题。

涉及文件:excelmanus/engine.py


🐛 关键修复

非视觉主模型图片处理

当主模型不支持视觉能力时,不再向其发送 image_url 类型消息(会导致 API 报错),改为发送文本占位符 [已上传 N 张图片,将由视觉模型分析],由 VLM B 通道单独处理图片描述。

涉及文件:excelmanus/engine.py

SSE 流式推送崩溃修复

ProgressivePipeline 的进度回调原先直接 emit 原始 dict,与 SSE 序列化层的 ToolCallEvent 类型不匹配,导致流式推送崩溃。现已改为正确发送 ToolCallEvent 对象。

涉及文件:excelmanus/pipeline/progressive.py

前端构建产物修复

next.config.ts 新增 typescript: { ignoreBuildErrors: true },解决因 TS 类型错误阻塞 standalone 产物生成的问题,确保部署流程不被中断。

涉及文件:web/next.config.ts


🔧 改进

部署脚本 v2.1.0

deploy.ps1 和 deploy.sh 同步升级至 v2.1.0,包含以下改进:

  • 自动注入 REMOTE_SYSTEM_PATH — 解决 SSH 非交互会话中 PATH 为空导致 git/node/npm 找不到的问题
  • 修复 cmd/c SSH 挂死 — PowerShell 版改为直接调用 ssh 进程,避免 cmd /c 包装长命令输出时缓冲挂死
  • 远程自动安装 git — 远程服务器无 git 时自动通过包管理器(yum/apt/dnf/apk)安装
  • 无 PM2 环境兼容 — 当远程服务器未安装 PM2 时,自动降级为 nohup 直接进程管理
  • PEM 权限自动修复 — SSH 密钥文件权限不正确时自动修复
  • PowerShell 5.1 兼容 — 修复 $var ?? 'fallback' 空合并运算符语法(PS 5.1 不支持),改用 if/else
  • 移除 tail 依赖 — npm install 输出不再通过 | tail -3 管道,避免依赖 tail 命令
  • PATH 注入统一 — 远程命令不再逐条手动 export PATH=...,改为 _remote() / Invoke-Remote() 统一注入

移动端触控优化

  • CSS 触控目标规则从 iOS 专属(@supports (-webkit-touch-callout: none))改为全触控设备通用(@media (pointer: coarse)),修复 Android 等设备上的水平溢出问题
  • 移除不必要的 min-width: 44px 约束,避免紧凑布局中按钮被撑宽
  • 清理 Univer 工具栏链接的冗余触控尺寸覆盖

Docker 多架构构建

  • 默认构建平台从 3 个(amd64 + arm64 + arm/v7)精简为 2 个(amd64 + arm64),提升构建速度
  • README 新增 Docker 镜像拉取命令和多平台自行构建说明

前端组件

  • SettingsDialog — 移除内嵌的 DialogTrigger 按钮,改由外部统一控制弹窗开关,避免重复触发器
  • AssistantMessage — 消息渲染逻辑优化(+81/-0)
  • ModelTab — 健康检查逻辑调整(+29/-0)
  • RuntimeTab — 运行时设置改进(+75/-0)

其他

  • 修复 README logo 路径(.png → .svg)
  • 新增 web/public/icon.png,修复加载页 logo 404
  • 新增示例 CSV 文件:广告与销售数据.csv、月度销售报表.csv、订单数据.csv
  • 新增 deploy/_fix_frontend.sh 前端热修复辅助脚本

🗑️ 移除

  • 移除旧版 deploy/windows_deploy_gui.py(1311 行),由 C# 部署工具完全替代
  • 移除 一键部署.bat,功能已整合进 ExcelManusDeployTool.exe
  • 移除遗留图片文件 f99a15b3ae663f1d74a1d2c25379ac7b.jpg

📦 文件变更统计(vs v1.6.4)

36 files changed, 2350 insertions(+), 1730 deletions(-)

新增文件

文件 说明
ExcelManusDeployTool.exe Windows 图形化部署工具
deploy/ExcelManusSetup.cs 部署工具源码(1093 行)
deploy/build_multiarch.bat Windows 多平台 Docker 构建
deploy/build_multiarch.sh Linux/macOS 多平台 Docker 构建
deploy/buildkitd.toml Docker Hub 镜像加速配置
deploy/_fix_frontend.sh 前端热修复辅助脚本
.github/workflows/docker-multiarch.yml CI 多架构镜像发布
excelmanus/restart.py 跨平台服务重启模块(168 行)
web/src/components/chat/ConfigErrorCard.tsx 配置错误提示卡片
web/public/icon.png 加载页 logo
web/public/samples/*.csv 示例 CSV 数据文件(3 个)

主要修改文件

文件 变更量 说明
deploy/deploy.ps1 +149/-0 部署脚本 v2.1.0
deploy/deploy.sh +73/-0 部署脚本 v2.1.0
excelmanus/engine.py +75/-47 视觉 Probe 检测 + 非视觉模型图片处理
excelmanus/api.py +129/-0 CSV snapshot + API 扩展
excelmanus/file_registry.py +49/-0 CSV 文件扫描支持
excelmanus/pipeline/progressive.py +17/-0 SSE 事件类型修复
web/src/app/globals.css +22/-0 移动端触控优化
web/src/components/chat/AssistantMessage.tsx +81/-0 消息渲染优化
web/src/components/settings/RuntimeTab.tsx +75/-0 运行时设置改进
web/next.config.ts +1 TS 构建错误跳过
README.md +98/-0 文档更新

删除文件

文件 说明
deploy/windows_deploy_gui.py 旧版 Python 部署 GUI(1311 行)
一键部署.bat 旧版一键部署脚本
f99a15b3ae663f1d74a1d2c25379ac7b.jpg 遗留图片文件

v1.6.4

Choose a tag to compare

@kilolonion kilolonion released this 27 Feb 18:19

ExcelManus v1.6.4 Release Notes

🎯 版本亮点

本版本新增模型协议显式选择、用户个人中心、Windows 图形化部署工具、多平台 Docker 镜像构建,大幅增强部署脚本的健壮性,并修复了多项前后端问题。


🆕 新增功能

模型协议显式选择(Protocol)

全栈新增 protocol 字段,允许用户为每个模型端点显式指定 API 协议,不再仅依赖 URL 模式自动检测。

  • 支持 5 种协议:auto(默认,按 URL 自动检测)、openai、openai_responses、anthropic、gemini
  • 环境变量:EXCELMANUS_PROTOCOL(主模型)、EXCELMANUS_AUX_PROTOCOL(辅助模型)、EXCELMANUS_VLM_PROTOCOL(视觉模型)
  • 多模型配置:EXCELMANUS_MODELS JSON 数组中每个模型可独立配置 protocol 字段
  • 数据库:model_profiles 表新增 protocol 列,管理面板中可逐模型设置
  • 全链路传递:主引擎、子代理、SkillRouter、Session 记忆提取、模型探测/连接测试均正确传递 protocol

涉及文件:config.py、providers/__init__.py、engine.py、session.py、skillpacks/router.py、subagent/executor.py、stores/config_store.py、database.py、api.py

用户个人中心

  • 新增 ProfilePage.tsx(570 行),支持头像上传、显示名修改、密码修改、邮箱修改、账户信息展示
  • 新增 web/src/app/profile/page.tsx 路由页面
  • 后端新增 auth/router.py 三个端点:/auth/me/change-password、/auth/me/change-email、/auth/me/avatar(+218 行)
  • 后端 auth/models.py 新增 hasPassword 等字段
  • 前端 auth-api.ts 新增 changePassword()、changeEmail()、uploadAvatar() API 函数

Windows 图形化部署工具

  • 新增 ExcelManusDeployTool.exe,Windows 用户双击即可完成全部署流程
  • 基于 .NET Framework 4.0(Windows 内置),零外部依赖的单文件 exe
  • 自动检测并安装 Python、Node.js、npm、Git 等环境(通过 winget)
  • 可视化界面填写 LLM 配置,一键启动服务
  • 源码:deploy/ExcelManusSetup.cs(1093 行),可通过 deploy/build_exe.bat 重新编译

多平台 Docker 镜像构建

  • 新增 deploy/build_multiarch.sh(Linux/macOS)和 deploy/build_multiarch.bat(Windows)
  • 支持 linux/amd64、linux/arm64、linux/arm/v7 三平台同时构建
  • 新增 GitHub Actions 工作流 .github/workflows/docker-multiarch.yml,自动化多架构镜像发布
  • 新增 deploy/buildkitd.toml,内置 Docker Hub 镜像加速源配置

运行时配置扩展

API /config/runtime 新增以下可热更新字段:

  • thinking_effort / thinking_budget — 思考强度与预算
  • subagent_max_iterations / subagent_timeout_seconds / parallel_subagent_max — 子代理执行参数
  • prompt_cache_key_enabled — Prompt 缓存开关
  • auth_enabled — 认证开关(变更后自动重启服务)

进程重启模块

  • 新增 excelmanus/restart.py,提供跨平台的服务自重启能力
  • 通过临时 Python 脚本实现端口释放检测 → 新进程启动的完整重启链路
  • 支持异步(schedule_restart)和同步(schedule_restart_sync)两种调用方式
  • 替代原先内嵌在 api.py 中的重启逻辑,代码更清晰、可复用

前端新组件

  • ConfigErrorCard — LLM 配置缺失或错误时,在聊天界面内联展示友好的错误提示与快速修复入口
  • FilePathLink — 聊天消息中的文件路径可点击打开(114 行新组件)
  • settings-cache — 设置页 Tab 切换时的模块级缓存,避免重复 API 请求

🔧 改进与修复

后端

  • 修复 protocol 探测逻辑:probe_model_capabilities 和 test_model_connection 中,当前端未传 protocol 时改为使用服务端配置值 _config.protocol,而非硬编码 "auto"
  • 修复对齐值映射(_style_extract.py):水平/垂直对齐从 0-based 改为 1-based(适配 Univer 表格引擎),wrapText 值从 1 改为 3
  • 修复工作区扫描(workspace.py):跳过隐藏目录(如 .avatars)中的文件,避免扫描结果污染
  • 重构重启逻辑:从 api.py 抽离至独立 restart.py 模块

部署脚本

  • 修复构建退出码丢失(deploy.sh + deploy.ps1):移除 | tail -10 管道,避免吞掉 npm run build 的非零退出码导致误判构建成功
  • 新增构建产物校验:Validate-FrontendBuild / _validate_frontend_build 函数,检查 .next/BUILD_ID 和 routes-manifest.json 是否存在,校验不通过时保留当前运行版本、不执行重启,避免 502
  • 构建失败保护:构建失败或产物校验失败时跳过重启,保留线上版本

前端 — 模型设置 (ModelTab)

  • 修复健康检查红色告警残留:新增 normalizeFetchedCapabilities(),重新进入设置页时自动清除上次探测的失败提示
  • 强制刷新能力探测结果:打开 Tab 时改为 fetchAllCapabilities(true),避免沿用缓存中的过期失败状态

前端 — 运行时设置 (RuntimeTab)

  • 重构重启等待逻辑:两阶段探测(等待下线 → 等待上线),替代原先的单次轮询
  • 新增重启超时提示:后端未在预期时间内恢复时显示超时提示 + 手动刷新按钮
  • 修复健康检查地址:支持 NEXT_PUBLIC_BACKEND_ORIGIN 环境变量,兼容 same-origin(Nginx 代理)、显式配置、默认 hostname:8000

前端 — 其他

  • ChatInput — 输入组件功能增强(+129 行)
  • MentionHighlighter — @提及高亮增强(+42 行)
  • AssistantMessage — 消息渲染优化(+186 行)
  • SettingsDialog — 设置弹窗重构,改进 Tab 管理(+153 行)
  • RulesTab — 规则设置重构(+148 行)
  • PlaceholderAlert — 占位提示增强(+124 行)
  • WelcomePage — 欢迎页改版(+103 行)
  • Sidebar 组件群 — ExcelFilesBar、FlatFileListView、TreeNodeItem、StatusFooter、Sidebar 等多处改进
  • ExcelPreview — cell-style-utils.ts 对齐值适配 Univer

文档 (README / README_EN)

  • 重写快速开始章节:按平台分区(Windows 图形化工具 / macOS+Linux 脚本),更清晰直观
  • 新增 Windows 部署工具文档:在部署章节添加完整的图形化工具使用说明
  • 精简启动步骤,从四步缩减为三步

🗑️ 移除

  • 移除旧版 deploy/windows_deploy_gui.py(1311 行),由新的 C# 部署工具完全替代
  • 移除 一键部署.bat,功能已整合进 ExcelManusDeployTool.exe
  • 清理项目根目录多余文件

📦 文件变更统计(vs v1.6.3)

68 files changed, 4862 insertions(+), 636 deletions(-)

新增文件

文件 说明
ExcelManusDeployTool.exe Windows 图形化部署工具
deploy/ExcelManusSetup.cs 部署工具源码(1093 行)
deploy/build_exe.bat 编译部署工具的脚本
deploy/build_multiarch.bat Windows 多平台 Docker 构建
deploy/build_multiarch.sh Linux/macOS 多平台 Docker 构建
deploy/buildkitd.toml Docker Hub 镜像加速配置
.github/workflows/docker-multiarch.yml CI 多架构镜像发布
excelmanus/restart.py 跨平台服务重启模块
web/src/components/profile/ProfilePage.tsx 个人中心页面(570 行)
web/src/app/profile/page.tsx 个人中心路由
web/src/components/chat/ConfigErrorCard.tsx 配置错误提示卡片
web/src/components/chat/FilePathLink.tsx 文件路径可点击组件
web/src/lib/settings-cache.ts 设置页缓存模块
web/public/samples/收款收据.jpg 示例文件

主要修改文件

文件 变更量 说明
excelmanus/config.py +35 protocol 环境变量解析
excelmanus/providers/__init__.py +24/-1 create_client 支持 protocol 参数
excelmanus/engine.py +16 protocol 全链路传递
excelmanus/auth/router.py +218 修改密码/邮箱/头像端点
excelmanus/api.py +133 protocol + 运行时配置扩展 + 重启重构
excelmanus/stores/config_store.py +18/-1 protocol 数据库读写
deploy/deploy.sh +72/-32 构建校验 + 退出码修复
deploy/deploy.ps1 +53/-8 构建校验 + 退出码修复
web/src/components/settings/RuntimeTab.tsx +525 运行时设置大幅扩展
web/src/components/chat/AssistantMessage.tsx +186 消息渲染优化
web/src/components/settings/ModelTab.tsx +153 健康检查修复 + 缓存
web/src/components/settings/SettingsDialog.tsx +153 设置弹窗重构
web/src/components/chat/ChatInput.tsx +129 输入组件增强
web/src/components/welcome/WelcomePage.tsx +103 欢迎页改版
web/src/lib/auth-api.ts +63 个人资料 API
README.md / README_EN.md +158 / +180 文档重写

删除文件

文件 说明
deploy/windows_deploy_gui.py 旧版 Python 部署 GUI(1311 行)
一键部署.bat 旧版一键部署脚本