Releases: kilolonion/excelmanus
Release list
ExcelManus v1.8.1
ExcelManus v1.8.0
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、SSEsubscribe、gap 检测、持久化 tool result - 审批内联解决、
ask_user阻塞式多问题队列、后台子代理(暂停 / 取消 / 继续 / 补充指令) - Code Mode:
run_codeSDK 与原生工具共享同一份有效目录、权限、审批与结果合同 - 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 的平滑升级,请先阅读:
- 先备份:主数据库、
.secret_key、所有工作区文件与.excelmanus/revisions/。不要让新旧服务同时打开同一 profile。 - 配置迁移:旧
.env/config.env不自动导入,请在设置页重新配置模型与 API Key。 - 用户数据:旧
users/目录不会自动合并;默认工作区改为EXCELMANUS_HOME/data。 - 已移除:Telegram / QQ / 飞书渠道、旧 CLI 入口、Docker / 沙盒部署、Windows GUI 安装器、桌面快捷方式 API。如仍需要请留在 1.7.x。
- API:事务收据改用
/api/v1/sessions/{sid}/mutations/{operation_id};旧/operations/{approval_id}保持为操作历史详情。 - 只读 / 计划模式拒绝写入类工具;恢复修订必须携带
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
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)RollbackPanelCanary 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
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_noticeblock 类型
聊天体验
- 上传失败文件跳过,仅成功图片发送 base64
- 恢复消息合成时间戳(轮次间隔 6 分钟)
- AssistantMessage / UserMessage / MessageStream 渲染优化
基础设施
- 新增 GlobalRestartOverlay — 服务重启遮罩层
- 新增 connection-store — 连接状态管理
- 新增 backend-origin — 后端地址解析
use-server-restart/use-version-pollhooks 改进onboarding-storeauth-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_chatPhase 5 添加 fire-and-forgetwarmup_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到.envdocker-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
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
🎯 版本亮点
本版本带来三大核心升级: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:
- 用户在个人中心点击「连接 Codex」→ 获取 6 位验证码
- 在 auth.openai.com/codex/device 输入验证码授权
- 连接成功后系统自动枚举并注册用户的私有 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
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 — 兼容
clawhubCLI 的.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 序列化 + SessionStreamStateapi_routes_mcp.py(284 行)— MCP Server CRUDapi_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懒恢复会话标记,使用更短 TTLbroadcast_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 -3launcher - .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失败时自动添加并尝试githubremote - 版本读取绕过模块缓存 —
_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... |
ExcelManus v1.6.6
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_UPDATEDSSE 事件,实时通知前端 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.mdweb/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(新增)- 侧边栏文件列表支持系统文件可见性切换
- 工具进度追踪(
toolProgressstore) - 备份列表新增
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
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 自动检测
主模型视觉能力判断从纯关键词推断升级为三级优先级机制:
- 手动覆盖(
main_model_vision = true/false)— 最高优先级 - Probe 实际检测结果(ground truth)— 从数据库缓存读取,首次使用时自动调度后台 probe
- 关键词兜底推断 — 仅在无 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
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_MODELSJSON 数组中每个模型可独立配置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 |
旧版一键部署脚本 |