AutoMind 使用手册
20261101-0830-final-pro)与 ENT
4/4 completed(独立 run 20261101-0840-final-real,不拼接);角色预算迭代
12/120k→3/4、20/200k→3/4、30/300k→4/4;残余风险见 8.37)·
🧭 已交付不提示续跑(主任务 / 收尾预算分离:主交付完成后收尾预算耗尽不再 partial / 续跑;
真正 partial 仍可续跑;新增 12 个离线用例,本地 12 passed,见 8.37)·
🌐 Web 评测取当前模型(沿用 v1.11.24)(取当前已接入模型与已保存 Key;无 Key 返回 409,
响应不返回 Key,见 8.36.3)·
📊 实测结果(真实运行,单轮 n=1)(PRO 4×multi 4/4:512.69s / 648,081 tok / 97 次 LLM 调用;
ENTERPRISE 4×multi 4/4(独立 run):757.94s / 1,069,092 tok / 133 次调用,verification 4/4、
artifacts 3/3;单模型单机 n=1,不构成统计显著结论)·
🚀 版本发布(核心 / 商业扩展包 / Web / 安装器 / 手册统一 v1.11.25;本版仅做社区版发布准备,
商业版不发布(pro 仅版本号同步、不重建 / 不发布 Pro wheel 与 .ampkg),见 8.25)。
comprehensive.yml:6 个评分任务 + 1 个
expect_fail 反向探针,覆盖分析 / bug 修复 / 多文件工程 / 数据汇总 / 文档产出 / 诚实与安全;
任务自包含、无外网、单任务 300s,见 8.36)·
🧬 版本隔离测评(scripts/edition_benchmark.py 默认 dry-run、不联网;--live
才启动 community / pro / enterprise 三个隔离 server 跑综合套件 3 轮 + 协作矩阵;
scripts/benchmark_report.py 校验完整性、聚合 JSON / CSV / Markdown 并脱敏,见 8.36)·
🧭 Web 评测取当前模型(修复:工作台已接入 deepseek-flash 却仍报 openai/gpt-4o 未配置 ——
现在取当前已接入模型与已保存 Key;无 Key 409,响应不返回 Key,见 8.36)·
📊 真实能力测评已完成(v1.11.24b:核心 6 任务 × 3 版本 × 3 轮 54/54 全通过、每版 18/18;
82/82 cell 完整;协作矩阵如实披露失败:pro multi 0/4、enterprise multi 1/4 等,
n=1 不构成统计显著结论;隔离矩阵:社区 0/27、专业 19/27、企业 27/27 商业 feature;报告见
docs/BENCHMARK_v1.11.24.md,数据见 docs/benchmark/v1.11.24/,见 8.36)·
🚀 版本发布(核心 / 商业扩展包 / Web / 安装器 / 手册统一 v1.11.24;本版仅做社区版发布准备,
商业版不发布(pro 仅版本号同步、不重建 / 不发布 Pro wheel 与 .ampkg),见 8.25)。
docs/AUDIT_v1.11.23.md:范围 / 方法论 / 测试矩阵 / 结果与发现 / 已知局限;
具体数字与发现由审计负责人在发版前回填,未复现就写“未复现”,不编造缺陷与修复)·
🛠 最小修复(审计确认真实缺陷才改代码,改动最小化并配回归测试;除此之外不改产品功能)·
🚀 版本发布(核心 / 商业扩展包 / Web / 安装器 / 手册统一 v1.11.23;本版为源码级审计轮,
Pro 同号 wheel / .ampkg 已重建,社区源码随仓库;不发布 PyPI 与安装包,公钥未轮换、旧许可证继续有效,见 8.25)。
write_paths 声明范围,
同进程按路径加锁 —— 不同路径并行、重叠串行;无范围的写角色独占整片工作区,见 8.34)·
🎯 角色级预算(每个角色独立步数 12 / Token 12 万 / 墙钟 300s 且不续窗;reviewer 不过最多回炉 1 次,
验证失败最多再修 1 轮,验收不可用不判失败,见 8.34)·
🧪 协同质量评测脚本(scripts/collab_benchmark.py 用同一批任务对比
single / multi / subagent,JSON + CSV;默认 dry-run、--live 才真实跑,见 8.34)·
🚀 版本发布(核心 / 商业扩展包 / Web / 安装器 / 手册统一 v1.11.22;本版商业扩展包有功能变更
(工程协同),同号 wheel 与 .ampkg 已重建(旧产物归档);不发布 PyPI 与安装包,公钥未轮换、旧许可证继续有效,见 8.25)。
auto_verify_fix_max_iterations,默认 1 步 / 轮、0 = 关闭;修复轮不续开 Token 预算窗口、
只继承剩余 deadline,不再把一次返工跑成 150 步 / 25 分钟 / 7.7M token,见 8.33)·
⏭ 部分交付不再空烧 LLM(主任务步数上限 / 预算耗尽 / 无进展 / 模型不可达时跳过审查 / 验收 / 修复轮,
只输出“已完成工作保留,可续跑”;简单任务同样跳过,见 8.33)·
🩺 失败原因看得见(AgentResult 新增 stop_reason / error / resumable /
budget_exhausted / llm_calls;历史卡片与失败气泡显示「步数上限 / 预算耗尽 / 部分交付」
「⏸ 可续跑」「N 次 LLM 调用」,见 8.33)·
🪙 省 Token(复用闭环验收结论、干净成功不再反思、修复轮保持与主任务相同的缓存前缀,见 8.33)·
🚀 版本发布(核心 / 商业扩展包 / Web / 安装器 / 手册统一 v1.11.21;本版只改核心 agent / 前端 / 文档,
商业包同号 wheel 与两份 .ampkg 已重建、旧产物归档;不发布 PyPI 与安装包,公钥未轮换、旧许可证与旧 .ampkg 继续有效,见 8.25)。
CREATE_NO_WINDOW 静默层覆盖环境探测、terminal / pwsh / 后台命令、
沙箱、通知、ffmpeg、依赖安装、测试进程、更新器与 MCP stdio;启动与执行任务时不再不定期弹出空终端窗口;
只隐藏 console 窗口,不隐藏你主动打开的 GUI 程序,AUTOMIND_SILENT_SUBPROCESS=0 可关闭,见 8.32)·
🧱 长任务韧性(WS 短暂断线默认 120 秒内任务继续、重连接管或回放结果;慢客户端不拖住执行;
工具执行期间显示「调用 X · 已运行 N 秒」;读目标守卫 + 续步上限 2→1,见 8.32)·
🛠 工具成功率(外层单步超时给工具内部超时让出 10% 余量,terminal / pwsh 自己的超时回执与后台指引
不再被外层抢先取消,见 8.32)·
✨ 输入框「优化问题」(把表达不清的问题改写成结构化执行请求;模型改写 + 本地规则兜底,
先预览确认再替换输入框,不消耗每日任务额度,见 8.32)·
🚀 版本发布(核心 / 商业扩展包 / Web / 安装器 / 手册统一 v1.11.20;本版商业扩展包无功能变更,
公钥未轮换、旧许可证与旧 .ampkg 继续有效,见 8.25)。
/api/governance/*:
策略快照 / 账本状态 / 验证审计链 / 导出 JSON,管理员守卫 fail-closed,见 8.31)·
🧪 验收门禁(scripts/acceptance.py 四档门禁 + AUTOMIND_FORCE_COMMUNITY=1
社区版强制模式 + 残留清理默认 dry-run、只删未跟踪临时产物,见 8.31 与 docs/ACCEPTANCE.md)·
🖼 交付图片预览修复(图片改为原始字节直出 + <img> 渲染,修复乱码/空白,见 8.3)·
🚀 版本发布(核心 / 商业扩展包 / Web / 安装器 / 手册统一 v1.11.19;本版商业扩展包无功能变更,
公钥未轮换、旧许可证与旧 .ampkg 继续有效,见 8.25)。
approve_all 无人值守 + --approval-mode
可覆盖 + 报告标注;执行器按任务 timeout 硬性收敛,修复标准工具赛道 terminal 被拒导致的重试超时 237.2s /
Token 超限 436,698)·
🪙 Token 治理 / 中文写入(file_write 成功后从磁盘回读校验、写一次即完成,不再需要 file_read / 终端复核;
工具与提示词显式支持中文文件名 / 内容,见 7.1)·
🧰 多任务与协作(pwsh 原生后台任务 background=true + terminal_background 取回;subagent_list 支持
agent_id 取完整输出;新增团队共享任务工具 team_task:查重 / 认领 / 更新 / 评论,实时同步 Web 看板,见 8.13)·
🧭 评测可靠性(环境探测改在任务工作区执行,修掉"系统提示把进程所在仓库误报成项目"的误导;tool_called
断言支持工作区内路径等价;标准工具评测复跑 7/7 通过,总 Token 186,243)·
🚀 版本发布(核心 / 商业扩展包 / Web / 安装器 / 手册统一 v1.11.18;本版无商业扩展包功能变更,
同号 wheel 与两份 .ampkg 已重建(doctor 12/12 全绿),见 8.25)。
if/unless、失败降级 fallback、整轮超时、Token 统计、触发器补偿与重放保护,见 8.21/8.22)·
🛡 执行治理 26 参数生效(界面标注生效时机,见 8.30)·
🧭 路由与成本稳定性(修复 toFixed 白屏 + 旧数据兼容,见 8.18)。
automind-pro 提供,配置许可证(AUTOMIND_LICENSE)后自动激活;
社区版对应入口显示 🔒。安全能力(鉴权/限流/脱敏/审计)不设付费墙。详见 docs/EDITIONS.md。
%APPDATA%\AutoMind(托盘菜单一键打开)。
自行构建见仓库 desktop/README.md。
01产品简介
普通 AI 聊天工具只能"说";AutoMind 除了聊天,还能真正在你的电脑上执行操作: 创建文件、修改代码、运行命令、抓取网页、生成报告——并且做每件事之前先自己规划步骤, 做完自己检查结果,出错自己纠正重试。
大任务自动拆解为目标树,按依赖顺序逐步执行,每步验证效果
每次工具调用经风险评估与审批门控,高危操作必须你亲自批准
失败时自动分析错误、生成修正方案重试,必要时回溯调整计划
OpenAI / Claude / DeepSeek / Kimi / 通义 / 智谱 / 豆包 / Ollama / 中转代理
技能 Skill · MCP 服务器 · 生命周期插件,随需接入你的专属能力
配置、聊天记录、API Key 全部保存在你自己的电脑,绝不上传
它能帮你做什么?
| 你想做的事 | AutoMind 怎么帮你 |
|---|---|
| 问问题、写文案、翻译 | 💬 对话模式,像聊天软件一样直接问 |
| 「帮我建一个 Python 项目」 | ⚙️ 工作模式:自动建目录、写配置、装依赖 |
| 「修复 main.py 里的 bug」 | 💻 编程模式:读代码 → 分析 → 改代码 → 验证 |
| 「写一份行业调研报告」 | 🤝 协同模式:研究员 + 编写员 + 审阅员多角色协作 |
| 「持续优化代码直到测试全过」 | 🔁 循环模式:反复"执行→检查→改进"直到达标 |
| 「每天 9 点汇总昨日日志」 | ⏰ 定时任务:后台自动执行并记录结果 |
02快速上手(零基础五分钟)
命令行执行pip install "automind-agent[web]"
python -m automind.server
浏览器打开 localhost:8765
左下角「⚙ 设置 → API Keys」填 Key,
点「🔌 测试连接」变绿即成功
切「⚙️ 工作」模式,输入任务,
看它实时规划并执行
python --version 查看)。
服务器部署可直接 docker compose up --build。三种安装方式
| 方式 | 命令 | 适合 |
|---|---|---|
| PyPI(推荐) | pip install "automind-agent[web]";升级:pip install -U "automind-agent[web]" | 直接使用 |
| GitHub 源码 | git clone https://github.com/yl13571844594-arch/AutoMind.git → cd AutoMind → pip install -e ".[web]" | 改代码 / 参与贡献 |
| 本地源码目录 | 在软件目录执行 pip install -e ".[web]" | 压缩包 / 网盘分发 |
[web] 含 Web 工作台依赖;想用 Claude / Gemini 官方 SDK 等全部后端换成 [full]。
国内提速:命令末尾加 -i https://pypi.tuna.tsinghua.edu.cn/simple。三种启动方式
| 方式 | 操作 | 适合 |
|---|---|---|
| Windows 一键 | 双击 launch.bat,选 [2] 自动打开浏览器 | 最简单 |
| 命令行 | python -m automind.server --port 8765 → 浏览器打开 http://localhost:8765 | 通用 |
| Docker | docker compose up --build | 服务器部署 |
ollama run llama3.2,无需 Key;
② 中转代理——API Keys 面板底部「自定义 OpenAI 标准接口」填入代理的 api_base、模型名和 Key。试一试:第一个任务
# 模式切到「⚙️ 工作」,输入框输入:
在当前目录创建 hello.txt,内容为 Hello AutoMind
执行时:聊天区出现「⚙️ 执行过程」实时轨迹(计划生成 → 逐步执行 → 完成),
右侧「📋 执行计划」同步刷新每步状态(○ 待执行 → ◐ 执行中 → ✓ 完成),
完成后项目目录里 hello.txt 真实存在。
03界面总览
键盘快捷键v1.4 起为完整快捷键系统
macOS 上把下表的 Ctrl 读作 ⌘。应用内按 ? 可随时调出这张表(侧栏「⚙ 设置 → ⌨ 键盘快捷键」也能打开), 内容与实际生效的按键同源,不会出现"文档写了却按不动"。
| 快捷键 | 功能 |
|---|---|
| Enter / Shift+Enter | 发送 / 换行 |
| Esc 或 Ctrl + . | 停止当前任务;有弹窗时先关弹窗 |
| Ctrl + N 或 Ctrl + L | 新建会话(旧会话保留在左侧列表,可随时切回) |
| Ctrl + K | 打开模板库 |
| Ctrl + , | 打开通用设置 |
| Ctrl + Shift + W | 切换工作区 |
| Ctrl + / | 光标定位到输入框 |
| Ctrl + Shift + L | 切换深色 / 浅色主题 |
| Ctrl + = / Ctrl + - / Ctrl + 0 | 增大 / 减小 / 复位字号 |
| ? | 显示快捷键帮助 |
| Ctrl + 1 ~ Ctrl + 3 | 切换模式:对话 / 工作 / 编程 |
| Alt + 1 ~ Alt + 4 | 切换视图:对话工作台 / 计划 / 工具 / 历史 |
界面偏好(字号 / 通知 / 动效)v1.4 新增
在「⚙ 设置 → ⚙ 通用设置 → 🎨 界面偏好」里,三项都是本机生效、立即生效、自动记住, 不改变任何功能,也不会同步到别的机器。
| 项目 | 说明 |
|---|---|
| 字号 | 85% ~ 130% 无级调节,界面整体等比缩放(含 antd 组件)。也可用 Ctrl + = / Ctrl + - / Ctrl + 0 |
| 任务完成通知 | 任务跑完发系统通知,只在窗口不可见时提醒; 点通知直接跳回应用。解决"发个 5 分钟的任务切走干别的,回来才发现早跑完了" |
| 减少动效 | 关闭淡入等动画,老机器上更跟手;系统级「减少动态效果」也会被自动尊重 |
04五种交互模式深度解读
模式决定了 AutoMind「怎么思考、要不要动手、如何收尾」。选对模式,事半功倍。
💬 对话模式 —— "问答专家"
原理:纯多轮对话直连大模型,不调用任何工具,响应最快。支持图片输入(需视觉模型如 gpt-4o / qwen-vl)。
⚙️ 工作模式 —— "项目经理 + 执行团队"(Plan-and-Execute)
💻 编程模式 —— "结对程序员"(ReAct 循环)
与工作模式的区别:不预先定死计划,边做边调整——更适合"看了代码才知道下一步"的探索性任务。 思考(蓝卡)与工具调用(绿卡)全程流式展示。
🤝 协同模式 —— "多智能体工程团队"(DAG · 工具 · 写锁 · 预算 · 验收) 🔒 专业版
原理(v1.11.22 起):协调者把任务拆成 DAG(2–6 个节点,可声明依赖 / 写范围 / 工具白名单), 每个角色用独立子 Agent 真正动手:读写文件、跑命令与测试,能并行的节点按依赖并行; 写范围重叠时自动串行(写锁),收尾跑项目测试 + 语义验收,审查不通过有界回炉。 纯文本 / 方案类任务仍走旧文本流水线(更省 Token)。
🔁 循环模式 —— "不达目标不罢休"(Loop Engineering) 🔒 专业版
原理:执行 → 判定"目标达成了吗" → 未达成则带着反馈继续下一轮。内置四重停止条件防死循环:
模式选择决策
让它替我做一件多步骤的事? → ⚙️ 工作
围绕代码读改测? → 💻 编程
复杂问题要多角度方案? → 🤝 协同(专业版)
有明确标准要迭代到达标? → 🔁 循环(专业版)
05工具审批与安全体系
每次工具调用都被安全体系拦截评估——你可以精确控制"它能做什么"。
三种审批模式(顶部下拉切换)
| 模式 | 行为 | 适合场景 |
|---|---|---|
| 🙋 询问 | 除只读操作外,每次工具调用都弹窗请你批准 | 首次使用 / 重要项目 / 想完全掌控 |
| ⚡ 自动(默认) | 低风险自动放行;风险分 ≥60 的敏感操作与所有高危操作需确认 | 日常使用最佳平衡 |
| ✅ 全批准 | 跳过所有审批,完全自主运行 | 沙箱环境批量任务;慎用 |
权限分级
| 等级 | 示例 | 处理 |
|---|---|---|
| safe 安全 | 读文件、列目录、git status | 直接放行 |
| sensitive 敏感 | 写文件、装依赖、git commit | 按审批模式处理 |
| dangerous 高危 | rm -rf、sudo、强制推送 | 必须人工批准 |
rm -rf /、fork bomb、写磁盘设备等灾难命令直接拒绝;
② 路径防护 —— 文件读写限定在项目目录内,../ 越界直接拒绝;
③ Python 沙箱 —— 代码执行仅允许白名单模块,禁止 os / subprocess。事后追责:侧边栏「🛡️ 安全审计」记录每次调用的时间、工具、参数、决策、风险分与原因, 并汇总放行 / 询问 / 拒绝 / 高危次数。
🏛 运行底座治理账本 v1.11.19 新增 · 社区版可用
内存审计之外,Agent 的每次治理决策(放行 / 拒绝 / 批准 / 拒绝批准 / 无人值守放行与拦截)与
每次工具执行都会写入持久化账本:<数据目录>/governance/ledger-*.jsonl
(8MB 或跨天轮转、最多 10 个文件;state.json 保证序号与链跨重启连续)。
| 能力 | 说明 |
|---|---|
| 防篡改 | 按序哈希链(hash = sha256(紧凑规范 JSON)、prev = 上一条 hash);
verify_chain() 能指出被改动 / 删除 / 插入的断点与哈希差异 |
| 两类记录 | decision(allow / deny / approved / denied / modified / error /
allow_unattended / deny_unattended)与 execution(success / duration_ms / error);
含 source(direct / react / plan / workflow / skill)与 governed 标记 |
| 脱敏 | 敏感键名(api_key / token / password / secret…)整值打码;其余值先脱敏再截断到 200 字符、 最多 12 个键 —— 文件内容与密钥明文不落盘 |
| fail-open | 账本写入故障只记 warning,绝不把"写不进审计"变成任务失败;
AUTOMIND_GOVERNANCE_AUDIT=0 可关闭 |
06模型配置详解
支持的提供商(左下角 ⚙ 设置 → 🔑 API Keys)
gpt-4o · platform.openai.com
claude-sonnet · console.anthropic.com
deepseek-chat · 性价比之选
moonshot-v1 · platform.moonshot.cn
qwen-max · dashscope.aliyun.com
glm-4 · open.bigmodel.cn
volcengine.com
ai.google.dev · x.ai
llama3.2 · 无需 Key,本机 ollama serve
api_base
(如 https://api.your-proxy.com/v1)+ 默认模型 + Key,
即可对接任何 OpenAI 兼容 /v1/chat/completions 服务。
Key 只保存在本地 .automind_config.json;也支持环境变量
(OPENAI_API_KEY、DEEPSEEK_API_KEY 等)。省钱与提效:各模式专用模型
设置菜单的「🖥 模型配置」面板可为五种模式分别指定不同模型——
对话用便宜快的 deepseek-chat,编程用强力的 claude-sonnet,
实现成本 / 能力的精准分配。未指定的模式沿用全局默认。
通用设置(左下角 ⚙ 设置 → 通用设置)
| 设置项 | 说明 | 建议 |
|---|---|---|
| 项目目录 | Agent 一切文件操作的根(带可视化目录浏览器) | 为不同项目切换对应目录,准确又安全 |
| Temperature | 0–2,越低越严谨、越高越发散 | 代码 0–0.3;创意 0.7+ |
| 最大输出 Token | 单次回复长度上限 | 默认即可,长文档任务调大 |
07工具面板:工具 / 技能 / MCP / 插件
侧边栏「🔧 工具面板」四个分段,对应 AutoMind 的四类可扩展能力。
🔧 工具 —— Agent 的"手"
| 工具 | 等级 | 功能 |
|---|---|---|
terminal | 敏感 | 执行命令行(装依赖、跑脚本、git);background=true 转后台任务,terminal_background 轮询 / 取输出 / 停止 |
file_read | 安全 | 读取文件内容 |
file_write | 敏感 | 创建 / 覆盖文件;成功回读校验(verified / readback_matches / size_bytes / encoding,v1.11.18) |
file_edit | 敏感 | 精确字符串替换编辑(带 diff 与回滚) |
file_multi_edit | 敏感 | 一次修改多个文件(批量编辑;v1.11.12 修复注册) |
python_sandbox | 敏感 | 沙箱执行 Python 片段(计算 / 数据处理) |
web_fetch | 安全 | 抓网页提取正文与链接 |
web_search | 安全 | 联网搜索:开箱即用(已配置 DeepSeek Key 时自动走官方搜索 API,无 Key 时免密钥检索兜底;也可配 Tavily/Serper/Brave/SearXNG) |
browser | 敏感 | Playwright 浏览器自动化 |
screenshot_tool / ocr_tool | 敏感 | 截屏 / 图片文字识别 |
ppt_tool | 敏感 | PowerPoint 生成 / 读取 / 追加 |
git_tool | 敏感 | 结构化 git 操作(含危险门控) |
image_tool / chart_tool | 敏感 | 图像缩放裁剪水印 / 数据图表 |
csv_tool | 敏感 | CSV 与 JSON 读写转换合并 |
clipboard_tool | 敏感 | 读写系统剪贴板 |
audio_tool / video_tool | 安全/敏感 | 音频信息 / 视频信息与抽帧 |
process_tool | 敏感 | 进程列表 / 端口占用 / 结束进程 |
team_task | 敏感 | 团队共享任务看板:list / summary / create / update / claim / comment(v1.11.18 新增,SQLite 存储,变更实时广播到 Web 看板) |
team_task ——
list / summary 查重与看统计、create 建任务、claim 认领
(认领即开始)、update 流转状态(todo / doing / blocked / done)、comment 留痕;
数据走同一份团队任务 SQLite 存储,变更实时广播到「👥 团队」看板。另:file_write 成功回执已含
磁盘回读校验(verified / readback_matches / size_bytes /
encoding),写完无需再复核;pwsh 支持 background=true 后台执行;
subagent_list 可带 agent_id 取单个子智能体完整输出(见高级功能中的子智能体卡片)。web_fetch 和 browser;只读分析 → 只留 file_read。✨ 技能 —— 预制的"专家流程"
| 内置技能 | 功能 | 典型指令 |
|---|---|---|
project_init | 项目脚手架(目录/pyproject/venv/git) | 「初始化一个新项目」 |
code_generator | 代码生成 / 补全 / 脚手架,带语法校验与自动修复 | 「生成一个爬虫脚本」 |
test_runner | 发现并运行测试、收集失败 | 「跑一下测试」 |
log_analyzer | 日志级别统计 / 错误样本 / 高频模式聚类 | 「分析这个日志文件」 |
doc_generator | 从 Python 源码生成 Markdown API 文档 | 「给 src 生成 API 文档」 |
dep_audit | 依赖审计:未固定版本 / 重复声明 | 「检查依赖健康度」 |
excel_report | 表格数据汇总成 Markdown 报告 | 「把这张表做成周报」 |
web_research | 多来源搜索 + 抓正文,带引用调研报告 | 「调研这个话题」 |
data_insight | 描述性统计 + 相关性,输出关键发现 | 「这组数据有什么规律」 |
doc_batch | 批量合并 / 提取文本 / 重命名 Word、PDF | 「把 PDF 合成一个」 |
article_writer | 公众号 / 小红书 / 新闻稿风格写作 | 「写一篇种草笔记」 |
env_doctor | 环境诊断:依赖 / 端口 / 磁盘体检 | 「为什么跑不起来」 |
导入自定义技能:「📁 加载目录」批量导入 SKILL.md 技能包(YAML 头 + 指令正文,无代码);
「📄 导入 .py」导入继承 AbstractSkill 的 Python 技能(模板见 examples/03-skill-development/);
「⬇️ 一键导入桌面 skills 文件夹」直接吸收技能库。
🔌 MCP —— 连接外部工具生态
MCP(Model Context Protocol)是开放协议,接入后外部服务的工具自动出现在工具列表供
Agent 调用(文件系统、数据库、搜索、地图…)。支持单个添加(stdio 本地命令 / sse URL)
或直接粘贴 Claude Desktop 格式的 {"mcpServers": {...}} 批量导入。需先 pip install mcp。
⭐ 官方适配(一键添加):内置 GitHub、PostgreSQL、MySQL、Slack、飞书、钉钉、
Playwright 浏览器 7 个预设,点「添加」即写入配置并连接;需密钥的服务会提示在系统
环境变量里设置(如 GITHUB_PERSONAL_ACCESS_TOKEN、DATABASE_URL)。
🧩 插件 —— 生命周期钩子扩展
插件在任务开始 / 结束 / 解析后 / 计划后 / 出错等时机自动执行你的逻辑 (记日志、发通知、审计上报),不改动主程序。面板中「加载 / 卸载」即时生效。
内置 4 个插件(随包分发、默认自动加载,面板以「内置 / 自定义」区分):
cost_tracker(Token/耗时入账 CSV)、pii_guard(敏感信息检测告警)、
task_notify(任务完成通知,可选 AUTOMIND_NOTIFY_WEBHOOK)、
hello_hooks(示例模板)。
# 插件目录结构
~/.automind/plugins/task-timer/
├── plugin.json # {"name":"task-timer","version":"1.0.0","description":"…"}
└── hooks.py # def get_hooks() -> AgentHooks
examples/04-plugin-development/。08高级功能
🔄 自主任务闭环(v0.3 新增,默认开启)
工作 / 编程模式任务完成后自动执行"质检流水线",不合格自动返工—— 把"AI 说做完了"变成"验证过真的做完了"。
| 开关(⚙ 设置 → 通用) | 作用 | 何时关闭 |
|---|---|---|
| 🧐 多Agent审查 | 工作模式完成后审阅者角色复核,可调用只读工具核实(MCP 工具共享) | 追求极致速度 / 省 Token |
| ✅ Loop 验收 | 语义验收 + 未过带反馈自动修复(≤2 轮;v1.11.21 起每轮 ≤1 步) | 简单任务不需返工 |
| 🧪 TDD 测试 | 编程模式改 .py 即时语法验证;收尾自动跑 pytest | 项目测试极慢时 |
| ⚡ 并行执行 | 计划中互不依赖的步骤 asyncio.gather 并发 | 步骤有隐式资源冲突时 |
| 📦 子任务缓存 | 同任务内相同只读调用结果复用 | 需每次强制重读时 |
auto_verify_fix_max_iterations 步(默认 1,0 = 关闭自动修复),只花当前 Token 窗口的剩余额度、
不续开新窗口,也不顺延任务总时长;主任务已部分交付(步数上限 / 预算耗尽 / 无进展 / 模型不可达)
或判定为简单任务时,直接跳过审查 / 验收 / 修复轮。详见 8.33。.py 后系统立即语法检查,
把 syntax_check: OK / FAILED 注入模型观察——有错它下一步就看到并立刻修复,
形成 编辑 → 验证 → 修复 闭环。另有 code_generate 工具
(语言检测、语法校验 + 自动修复、mode='complete' 代码补全)。任务内容 + 模式(五种均可)+ 间隔(每5分钟 / 每小时 / 每6小时 / 每天)。
后台调度、结果入历史、重启自动恢复。
场景:每天汇总日志错误、每小时抓数据追加 CSV、每 6 小时跑测试。
四个命中率圆环(工具/计划/任务/自我修正 + 综合平均)、上下文使用率发光条、
最近 50 次趋势折线、Token 效率、记忆系统指标。
用途:评估模型效果、监控 Token 花销、发现异常任务。
右栏「📊 面板」实时显示:缓存命中率 = 命中缓存的输入 token ÷ 本次输入 token;
上下文使用率 = 最近一次请求输入 ÷ 短期记忆上限(默认 128000)。≥70% 变黄、≥90% 变红。
口径:模型不提供缓存统计时显示「—」,0% 才表示确实没命中;DeepSeek / GLM / OpenAI /
Kimi / 通义 / 豆包 / Anthropic / Gemini 均会上报。
📋 待办:模型用 todo_write 维护用户可见的短清单,右栏实时显示、可一键清空。
❓ 提问:ask_user_question 带选项/自定义输入地问用户并等待回答,超时不等于同意。
📎 交付:present 声明最终交付物,对话区生成可点开的交付卡片。
🪟 pwsh(Windows):原生 PowerShell 语义执行;v1.11.18 起 background=true
立即返回 task_id,用 terminal_background poll / output / kill。
🤖 子智能体(专业版):subagent / subagent_list / subagent_send / subagent_stop,
并发 4、嵌套 1 层、默认只读工具;右栏实时显示进度。v1.11.18 起 subagent_list 可带
agent_id 取该子智能体的完整输出(超 20,000 字符标注 truncated),不再只看截断结果。
Agent 生成的 HTML(报告/图表/页面)出现在右栏列表,点击即在弹窗内直接渲染,免去手动找文件。
v1.11.19 起交付图片(png / jpg / gif / webp / bmp / ico / avif)也能直接预览:预览接口按原始
字节直出(此前被当 UTF-8 文本读取破坏,只能看到乱码/空白),弹窗改用 <img>
渲染(透明图棋盘格底、加载失败提示);超过 25MB 提示改用其它方式查看;路径边界与敏感文件拦截不变。
对话模式上传图片(可多张)配视觉模型看图问答;🎤 语音实时转文字输入(Web Speech API)。
每个浏览器独立会话 ID:团队共用一台服务,聊天记录互不可见、互不清除。
侧边栏「📚 知识库」上传 PDF/Word/MD/TXT → 自动分段 + embedding → 对话时自动检索你的资料作答(可开关)。 社区版 5 文档/10MB;专业版无限文档/200MB/多库/Reranker/引用溯源/定时重嵌入/外部向量后端; 企业版混合检索(向量+词法)/热度统计/检索审计/目录批量导入、总量不限。
对话模式相似问题秒回历史答案(0 Token)。专业版基础缓存(300 条/24h), 企业版高级缓存(2000 条/7 天 + 命中率与节省统计)。v1.11.15 起「🧭 路由与成本」页用 SVG 环形命中率仪表 + 容量条 + 估算节省金额展示,可调阈值 / 清空。
按任务复杂度(长度/代码特征/多步骤,0~100 打分)自动分级选模型:简单问答走便宜小模型、复杂任务走强模型。 专业版 2 级、企业版 N 级;v1.11.15 起提供 0~100 复杂度阶梯可视化 + 可编辑档位 + 路由预演圆环, 企业版另有 💰 成本仪表盘(金额 / Token 双视角 + 按模型成本占比 + 口径说明)。
侧边栏「📈 观测中心」把 Agent 的执行过程画成实时更新的 DAG:任务 → 计划步骤 → 工具调用三层, 六种状态配色(待执行/执行中/成功/失败/回溯/已中断),点节点看耗时与失败原因。 社区版可看当前任务的实时 DAG(只读、仅当前任务); 专业版加实时看板(成功率 / P50·P95 耗时 / 工具热度 / 失败归因)、200 次运行历史回看与 JSON 导出; 企业版历史扩到 2000 次并按会话维度分组。全程本机内存构建,不额外消耗 Token。
侧栏「🔀 工作流」:一份写死每一步的 YAML(放在项目 workflows/ 下),可评审、可复现。
在线编辑并实时校验(错误定位到行)→ 按 inputs 生成表单 → 🧪 试运行(不调工具不调模型)→ ▶ 运行,
human 步骤弹窗审批,失败后 ↻ 从断点续跑(已成功步骤不重复执行)。
步骤类型:tool / llm / human / branch(v1.9 起支持 > < in exists)/ 🤖 agent(工具白名单 + 步数 + token 三道边界)/ 🔁 foreach。
输入框「+ → ▶ 运行工作流」可在对话里直接发起。社区版 20 个工作流、foreach ≤ 20 项。
工作流顶层 triggers 声明定时(cron)或入站 webhook,「⏰ 触发器」页启停、看下次运行、生成令牌;
没全绿按 retry 从断点自动续跑,按 notify 发出站事件 / 群机器人通知,
服务重启按 on_restart 续跑或只通知。parallel 并行组同时跑互不依赖的步骤,
foreach 可逐项并发(≤ 1000 项);「📊 看板」按工作流统计成功率、耗时、Token,运行记录保留 90 天。
活跃触发器 30 个、定时最小间隔 5 分钟(企业版不限 / 1 分钟)。
发布审批:提交 → 审批人批准,触发器只运行已发布版本(改一个字就要重新审批,不能自己批自己);
按工作流权限(查看 / 编辑 / 运行 / 触发器 / 批准);human 步骤 approvers 逐级按角色审批;
每次运行一键导出审计(JSON / PDF);{{ secrets.NAME }} 凭据不进报告与日志;按团队并发配额,超出排队。
专业版另有模板库与从执行轨迹生成工作流。
预算窗口自动续开:50 万 token 用满先压缩上下文再接着跑,不再中断;目标交付模式:长期目标挂在输入框上,
每轮带着交付物与进度推进、结束记入时间线;计划模式:先出计划,批准 / 修改 / 放弃后才执行;
「+」菜单可像专家一样引用 MCP 连接器与技能(工具必下发、指令注入、skill_invoke)。
社区版每日任务 100 次、工作区 3 个、工作流 20 个;专业版任务不限、工作区 30 个、工作流 200 个、活跃触发器 30 个、运行记录 90 天;企业版全部不限。 顶栏 📅 徽标实时显示当日用量,超限给出友好升级提示(跨天自动清零)。
每条 AI 消息悬浮「⧉ 复制」;每个代码块带语言标签和独立复制按钮。
8.27 📄 Markdown 文档视图与对话排版v1.11.14 新增
Agent 交付 / 产出的 .md 文件以前点开是纯文本源码(表格糊成竖线、标题全是井号)。
v1.11.14 起以📄 文档视图打开:居中阅读列、标题层级、表格与代码块按排版显示,可随时切回源码。
| 入口(4 处) | 位置 | 说明 |
|---|---|---|
| 📦 交付卡片 | 对话区,agent 用 present 声明的交付物 | 点卡片里的 .md 打开文档视图,其它类型保持原样 |
| 📋 摘要产物 | 右栏「摘要」→「对话产物」 | 本任务产出的 Markdown 文件直接排版查看 |
| 🗂 文件改动 | 右栏「文件改动」最近文件列表 | Agent 改 / 建的 .md 点开即预览,不必先看 diff |
| 📄 代码标签 | 右栏「📄 代码」打开 .md 时点 👁 预览 | 编辑器与文档视图随时切换,编辑功能不受影响 |
| 工具条 | 作用 |
|---|---|
| 📖 文档 / 📝 源码 | 排版视图 ⇄ 原始 Markdown 切换 |
| ⧉ 复制 / ⧉ 路径 | 复制 Markdown 原文 / 复制文件完整路径 |
| ↗ 新标签 / ⟳ 刷新 | 新标签页打开接口原文(超长文档看全文)/ 重新读取文件 |
.md 所在目录二次解析;读取失败 / 空文件都有可读提示。对话区渲染同步增强:六级标题、
嵌套与任务列表、表格对齐、多行引用、==高亮==、[[键盘键]]、裸链接自动识别,
XSS 防线(先抽代码块 → 全文转义 → 只拼自家标签)保持不变。10.7 🤖 IM 机器人 Markdown 排版v1.11.14 新增
飞书 / 钉钉 / 企业微信 / 公众号对 Markdown 的支持差异很大。v1.11.14 起回复发送前先经
automind/bots/md_format.py 适配:能渲染的保留,不能渲染的降级成可读文本,但绝不丢内容。
| 渠道 | 标题 | 表格 | 代码块 | 单条上限 |
|---|---|---|---|---|
| 飞书 | 卡片 header(≤60 字) | 转逐行字段列表 | 保留围栏 | 20000 B |
| 钉钉 | markdown title(≤30 字) | 转逐行字段列表 | 保留围栏 | 15000 B |
| 企微(自建应用) | 正文首行 ## 标题 | 转项目列表 | 转 > 引用 | 2048 B |
| 企微(智能机器人) | 正文首行 ## 标题 | 转项目列表 | 保留围栏 | 20480 B |
| 微信公众号 | 【标题】 | 转纯文本项目列表 | 去围栏保留原文 | 约 2048 B |
| 通用 Webhook | 原样放进 title 字段 | 原样 | 原样 | 60000 B |
docs/IM_BOTS.md「各平台 Markdown 渲染规则与差异」。⭐ 应用内一键升级(.ampkg)v1.11.14 起
设置菜单 →「⭐ 升级专业版 / 企业版」,或点左上角版本徽标。v1.11.14 起推荐用发行方给的
.ampkg(扩展包 wheel + 许可证 + 清单打成一个文件);v1.11.15 起包内扩展包带 v3 许可证 /
机器绑定 / CRL / 周期复检,v1.11.16 起还支持协同 / 循环断点续跑(旧扩展包不支持
resume= 参数,协同 / 循环续跑会失败);v1.11.17 起商业特性管理接口
(语义缓存 / 智能路由 / 成本仪表盘 / 知识库进阶)随扩展包挂载修复,已激活却被提示"未开通"的问题不再出现:
| 步骤 | 操作 |
|---|---|
| 1 · 一键升级(推荐) | 把 .ampkg 拖进「⚡ 一键升级」→ 自动装包 + 验签 + 激活;离线、免 pip、免重启,提示重启则重启一次 |
| 2 · 分两步(备选) | 拖入 automind_pro-x.y.z-py3-none-any.whl → 粘贴许可证 AMP2-…(或从文件导入) |
| 3 · 确认 | 左上角徽标变为「专业版 / 企业版」;GET /api/health 的 edition 可查档位 |
version_match / version_reason /
version_step,扩展包与主程序版本不一致时直接警示;v1.11.18 未改动商业扩展包 ——
已按 v1.11.17 换发过 .ampkg 的客户无需为本次补丁重新换包(面板对版本不同号会提示,需要严格
同号时按 v1.11.18 出包;协同 / 循环断点续跑仍需要 1.11.16 及以上的扩展包,旧 1.11.15 及更早扩展包
不支持;公钥未轮换,旧许可证仍有效,旧 .ampkg 也仍可激活,只是没有新能力)。发行方出包前用
python pro/tools/issue_license.py doctor 自检(12 项:公钥 / 私钥 / 配对 / 版本 / wheel 内置公钥 /
签验闭环 / 升级包可激活 / 轮换状态 / CRL / 复检 / 机器绑定)。AUTOMIND_LICENSE_RECHECK(默认 3600 秒)周期复检,到期 / 吊销 / 机器不符 / 时钟回拨自动降级,
续期或换绑后自动恢复;AUTOMIND_LICENSE_GRACE_DAYS(默认 0)配置宽限期(不豁免吊销 / 机器不符 / 时钟回拨)。8.28 🧠 输入框模型选择器与自动路由v1.11.15 新增
输入框旁新增 🧠 模型选择器,发消息前直接换模型;专业版 / 企业版还能交给「自动路由」按任务复杂度选档。
| 模式 | 行为 |
|---|---|
| 默认模型 | 沿用「设置 → 🖥 模型配置」里该模式的模型 / 全局默认 |
| 手动选择 | 对后续消息常驻生效并本地持久化(automind_model_choice),刷新 / 重启后保留;断点续跑 / 重试沿用 |
| 自动路由 🔒 专业版 / 企业版 | 服务端按复杂度 0~100 打分选档并自动切换本次运行的模型,task_start 回执带档位 / 复杂度 / 目标 provider·model;社区版显示 🔒 并引导升级 |
applied=false),任务不中断;
优先级:显式手动选择 > 自动路由 > 全局默认。接口 GET /api/config/available-models 与
/api/models 共用同一份模型清单。8.13 👥 团队协作工作台v1.11.15 升级
侧边栏「👥 团队」从三列任务看板升级为完整的团队工作台(同一服务器部署 = 同一团队):
实时广播连接 / 断开 / 改昵称;头像首字 + 在线点 + 任务数,同一人多标签页自动聚合,昵称持久化到
team_members.json,重启后重连可恢复。
完成率(带进度条)、进行中、逾期、今日完成、近 7 天完成;另可按人查看负载与汇总。
关键词搜索 + 按负责人 / 优先级 / 状态过滤,支持按截止日期排序。
待办 / 进行中 / 阻塞 / 完成;卡片带优先级色条、逾期红色徽标、负责人、评论数与标签。
优先级(低 / 普通 / 高 / 紧急)、截止日期、标签、评论、活动时间线、blocked 状态;
旧任务读取时自动补默认值(零迁移,id / 创建时间不变)。
编辑字段、移动状态、认领即开始、评论、活动时间线与删除确认;所有变更实时广播。
team_task):团队看板不再只给人用 ——
模型可用 team_task 直接 list 查重 / summary 看统计 / create
建任务 / claim 认领(认领即开始)/ update 流转状态(todo / doing / blocked / done)/
comment 留痕。数据走同一份团队任务 SQLite 存储,变更实时广播到本页;适合"定时任务让 Agent 领活、
跑完把状态更新为 done"的自动化分工。先用 list 查重,不要替别人乱改任务。8.7.1 💬 工作区会话管理(分组 / 排序 / 筛选 / 搜索)v1.11.17 新增
每个工作区有自己的一组会话。会话一多,平铺列表就不够用了 —— v1.11.17 补上完整的检索与管理能力:
| 能力 | 说明 |
|---|---|
| 🔍 侧栏快速搜索 | 「会话」标题旁点 🔍 展开输入框,实时过滤当前工作区会话(标题 / 归档要点 / 会话 ID); 命中已归档会话时自动展开归档组 |
| 💬 会话管理面板 | 标题旁 ⚙️、折叠侧栏 💬、设置菜单「💬 会话管理」或命令面板 /sessions 打开;
范围可切「当前 / 全部工作区」,跨工作区时每条会话标出所属工作区 |
| 搜索 | 标题 / 归档要点摘要 / 会话 ID;空格分词、多关键词全部命中(可分别命中不同字段), 大小写不敏感,一键清除 |
| 筛选 | 全部 / 📌 置顶 / 🟢 运行中 / 🗄 已归档(已归档的置顶残留归入已归档,不会混进置顶) |
| 分组方式 | 不分组 / 按时间(今天 · 昨天 · 近 7 天 · 更早,按本地日历日)/ 按状态 (运行中 · 置顶 · 普通会话 · 已归档)/ 按工作区(当前工作区排最前) |
| 排序方式 | 最近活动 ↓ / 创建时间 ↓ / 标题 A→Z / 轮数 ↓;置顶始终排在每组最前 |
| 操作 | 打开(跨工作区时先切换工作区再切会话,服务端目录 / 记忆 / 索引同步切换)、双击标题重命名、 置顶 / 取消、归档 / 恢复、删除(二次确认);任务执行中沿用既有保护(不允许切换 / 归档 / 删除) |
localStorage,刷新后保留;
搜索词是临时的。面板与侧栏共用同一套匹配 / 分组 / 排序规则,同一个关键词两边结果一致;
空状态区分「还没有会话」与「筛选 / 搜索后没有匹配」(后者给一键清除入口)。
归档仍会把要点写入本工作区长期记忆,新会话第一轮自动带上(见 8.29 的项目记忆说明)。8.18 🧭 智能路由与成本v1.11.15 界面重做 · v1.11.17 路由挂载修复
侧边栏「🧭 路由与成本」整页重做(专业版起),覆盖语义缓存、模型路由与成本分析:
| 区块 | 内容 |
|---|---|
| 5 张 KPI 卡 | 累计成本 / 总 Token / 缓存命中率 / 路由命中次数 / 近 30 天日均成本;成本与 Token 用真实 30 天序列画 mini 柱状图,缓存 / 路由无按日数据时用命中率条与档位分布条,不画假曲线 |
| 语义缓存 | SVG 环形命中率仪表 + 容量条 + 估算节省金额;可调相似阈值、一键清空 |
| 模型路由 | 0~100 复杂度阶梯可视化 + 可编辑档位(专业版 2 级 / 企业版 N 级);路由预演用复杂度圆环显示将命中哪一档 |
| 企业版成本仪表盘 | 金额 / Token 双视角 30 天 SVG 柱状图、按模型成本占比条、缓存节省、口径说明与空状态 |
| 权限状态 | 社区 / 专业 / 企业三种渐变能力卡;未解锁显示升级入口,不伪装成 0 数据 |
GET /api/costs 保留全部旧字段,
新增 total_tokens / total_tasks / by_day[*] / by_model[*].share(成本占比)/
top_model / range_days 等,页面与接口同一口径。/api/cache 缺少 threshold 时,
阈值 toFixed 抛错会导致整页白屏。现在 /cache /router /costs
三个响应先 sanitize(缺字段 / null / 字符串数字 / 坏档位 / 坏 providers 全部兜底),数字只在有效值后格式化;
页面最外层 + KPI / 缓存 / 路由 / 预演 / 成本五个区块各包一层错误边界 —— 单卡异常只降级该卡且可重试,
403 与 {error} 回包显式走错误面板,不再静默显示 0。六种数据形态的 Playwright 兼容性回归 60 项全过。get_feature() 明明拿到了实现,
attach() 却从未执行,真实接口没注册,请求只能命中 403 降级路由,
于是出现"功能在跑(输入框自动路由 / 缓存链路正常)、管理页却说没开通"的怪现象。
现在清单改为从 edition.COMMERCIAL_FEATURES 派生,启动路径与应用内升级 / 粘贴许可证的
热激活路径都会挂上真实路由(新路由仍排在 403 降级路由之前,不需要重启);
PRO 下 /api/cache、/api/router 与 ENT 下 /api/costs、
POST /api/kb/kbs 实测 200。若已授权仍看到 403 提示,文案会直接指向
「重启服务 / 更新到与主程序同版本的扩展包」。8.29 🪙 任务预算连续性与多模式续跑v1.11.16 新增
v1.11.16 的目标:不再出现"Token 用尽,任务没跑完就停住"。预算变成"可续的窗口", 协同 / 循环 / 子智能体耗尽后可以接着跑,而不是从零重来。
| 能力 | 说明 |
|---|---|
| 统一预算引导 | 普通 ReAct / 计划 / 协同 / 循环 / 子智能体 / 断点续跑六个入口共用同一套任务预算重置(此前协同 / 循环没有重置预算,"切模式就撞预算停住") |
| 窗口自动续开 | 单任务 Token 预算是一个窗口的额度;用满后先压缩上下文再自动续开新窗口,已完成工作原样保留;续开次数由 budget_auto_continue 控制(默认 10,0=用满即收尾) |
| 协同耗尽 | 不再降级成"(执行失败)"或空输出:携带已完成的 role 步骤 / 白板 / 计划落检查点,返回 success=false + resumable=true |
| 循环耗尽 | 识别 stop_reason=task_budget 立即带进度退出(不再继续下一轮 / 误判完成),写检查点(已跑轮次、上一轮输出与反馈) |
| 子智能体 | 使用自己克隆的 ResourceManager(max_tokens 即子预算),耗尽返回 budget_exhausted + resumable,保留部分输出并标「预算用尽(可续跑)」,父任务可重新派发 |
| 怎么接着跑 | 右栏断点横幅点「继续协同 / 继续循环」,只补剩余角色步骤 / 下一轮;续跑前重置预算窗口,可再跑满一个任务额度;旧检查点标记 resumed 不会重复续跑 |
docs/GOVERNANCE.md。
v1.11.21 起自主闭环的修复轮同样不续开预算窗口,只能花当前窗口剩余预算、只继承主任务剩余
deadline,用尽即收尾;每轮步数由 auto_verify_fix_max_iterations 控制(默认 1),见 8.33。8.30 🛡 执行治理参数生效时机v1.11.16 新增
「设置 → 🛡 执行治理」共 26 个参数(5 个布尔开关 + 4 个布尔附加项 + 15 个数值 + 2 个策略)。 v1.11.16 逐项审计后每个参数都真正生效,并明确标注生效时机。
| 修掉的 7 类"设了不生效" | 现在的做法 |
|---|---|
轨迹 trace_enabled / trace_max_runs | 记录器支持实时下发(此前永远读出厂默认值、关不掉);界面补齐缺失的"每会话保留轨迹数"输入框 |
终端 tool_timeout_seconds / tool_timeout_max_seconds / terminal_background_enabled | 每次工具调用前读实时配置(此前只在 Agent 构造时抄一次) |
写冲突 write_conflict_policy | 守卫改读当前任务配置(此前每次新造默认配置,block 实际按 warn 放行) |
审批 approval_timeout_seconds / approval_timeout_action | 每次审批触发时现读(此前任务开始读一次并闭包捕获) |
task_token_budget | 保存时同步全局 Agent 与全部会话克隆的 ResourceManager,每个任务开始重置用量 |
| 其余 20 个 | 本身生效,补界面提示;新增 _sync_execution_config 克隆对齐与 _restore_autopilot_into_execution 重启恢复兜底 |
| 界面标签(生效时机) | 含义 | 典型参数 |
|---|---|---|
| 即时生效 | 下一条事件 / 下一个窗口立即生效 | trace_enabled · parallel_execution · budget_auto_continue · goal_timeout_seconds |
| 下次任务生效 | 新任务开始时读取,对进行中的任务不追溯 | react_tool_budget · max_iterations · task_token_budget · auto_test |
| 下次审批生效 | 下一次审批回调触发时读取 | approval_timeout_seconds · approval_timeout_action · release_slot_on_approval_wait |
| 下次调用生效 | 下一次终端 / 工具调用前读取 | tool_timeout_seconds · tool_timeout_max_seconds · terminal_background_enabled |
| 下次写入生效 | 下一次文件写入前读取 | write_conflict_policy |
POST /api/config/autopilot 返回
applied / rejected / effective(timing + 中文说明)/ runtime / sessions_synced;非法值
(如终端超时 0)会被 rejected;保存 toast 带生效时机。标注「下次任务生效」的参数对
正在执行的那一步 / 那个任务不追溯。26 个参数的默认值、读取位置、生效时机与完整调参建议见
docs/GOVERNANCE.md。🔀 工作流自动化强化v1.11.16 新增
工作流 YAML 新增五种能力,全部可选、默认等价旧行为,旧工作流无需修改:
| 能力 | 写法 / 行为 |
|---|---|
| 步骤级条件 | if: "{{ steps.x.output.ok }} == true" 成立才执行;unless 成立则跳过。不成立记 skipped、输出为 null(后续引用会明确报错);条件无法判定按失败处理;branch 步骤不支持条件 |
| 失败降级 | on_failure: fallback(<步骤id>) 失败后跳到指定恢复步骤继续;失败步骤仍记 failed、跳过的中间步骤记 skipped 并写明原因;恢复步骤可用 {{ steps.失败步骤.error }};目标必须存在、向后、非自身,仅支持顶层步骤 |
| 整轮硬超时 | 顶层 timeout_seconds: 900 到点中止:当前步骤 aborted、剩余 skipped、整轮 aborted;与步骤级 timeout(单步含重试)分工;0/缺省 = 不限 |
| Token 统计 | 每步 / 整轮记录 tokens{prompt, completion, total}(llm 取响应 usage、agent 取输出 tokens,拿不到记 0、不估算);看板与失败通知(耗时 / Token / 最慢步骤)都读它 |
| 触发器可靠性 | cron:catch_up: once|skip 错过补偿(默认 once)+ max_delay_seconds 迟到上限;webhook:dedupe_window 重放保护(Idempotency-Key 或请求体哈希),命中返回 duplicate=true 不重复执行。默认关闭 / 等价旧行为,需显式配置 |
on_failure: continue 只是不中断后续步骤,该步仍是
failed、整轮 partial、CLI 退出码仍是 1;fallback 跑通不改变"原步骤失败"。
语法示例与最佳实践见 docs/WORKFLOWS.md,路线图状态见 docs/WORKFLOW_ROADMAP.md。8.31 🏛 运行底座治理与验收门禁v1.11.19 新增
回答两个问题:Agent 运行时到底执行了什么、谁批准的? 以及 发布前怎么证明没跑坏、交付后怎么保证没留垃圾?
8.31.1 审计账本(可持久 / 可校验 / 可解释)
记忆里的审批记录会在重启后消失,也证明不了"这条高危操作当时被拒绝过"。v1.11.19 把治理决策与 工具执行写进按序哈希链 JSONL 账本(位置 / 轮转 / 字段 / 脱敏 / fail-open 见第 5 章 5.3), 重启不丢、可一键校验防篡改。
8.31.2 分派级治理闸门(堵住审批旁路)
| 调用来源 | 处理 |
|---|---|
| ReAct / Plan(执行器内部) | 已逐次人工审批 → 不二次审批(不会重复弹窗) |
工作流 tool 步骤 / 技能内部调用 / 服务端或库直接 dispatch |
无人值守通道:有效等级 DANGEROUS 且审批模式不是「全批准」→ 拒绝执行(失败关闭); 其余放行。每次判定与执行都写账本 |
allow_unattended,可审计),而不是把闸门关掉。8.31.3 治理中心(接口 + 界面)
| 接口 | 用途 |
|---|---|
GET /api/governance/summary | 账本统计 + 实时策略快照 + 有界链路校验(首屏 2000 条) |
GET /api/governance/audit | 记录过滤(tool / decision / kind / source / session)+ limit(≤1000) |
GET /api/governance/verify | 完整哈希链校验(断点、原因、expected/actual) |
GET /api/governance/export | 导出 JSON(社区版可用;PDF 导出仍属专业版 audit_export) |
与 /api/audit 同级管理员守卫(本机回环或 X-Admin-Token,失败关闭);
账本读取不阻塞事件循环,模块缺失 503、读取故障 500 + 可操作错误。界面入口在「🛡️ 安全审计」页顶部。
8.31.4 发布验收门禁(scripts/acceptance.py)
# 日常 / 发布前 / CI 静态 / 完整报告
python scripts/acceptance.py --profile fast
python scripts/acceptance.py --profile full
python scripts/acceptance.py --profile static
python scripts/acceptance.py --profile full --json acceptance.json --report acceptance.md
- 六类门禁:
version(六处版本号与手册同步)·lint(ruff)·tests(按档位选子集 / 全量)·pro(商业扩展包测试)·web(tsc --noEmit+ 前端产物完整性)·hygiene(敏感泄漏扫描、git diff --check、残留测试文件扫描)。 - 子进程带 timeout;JSON / Markdown 报告;有 fail 退出码 1;失败给可复现命令。
- 社区版强制模式:
AUTOMIND_FORCE_COMMUNITY=1(只降不升)跳过商业扩展加载, 本机装了有效许可证也能稳定复现社区版结论;验收脚本自动注入该变量与临时数据目录, 不动用户 home 下的许可证文件。 - 残留清理:集中白名单 + 默认只告警 / dry-run;
--clean只删"未被 git 跟踪的 白名单临时产物"并逐条打印,绝不误伤源码 / 已跟踪文件。
docs/ACCEPTANCE.md;
治理细节与调参见 docs/GOVERNANCE.md 第 6 章。8.32 ✨ 问题优化 · 🪟 静默运行 · 🧱 长任务韧性v1.11.20 新增
本节回答三类高频体验问题:问题没说清怎么让 AI 一次听懂?桌面版为什么总闪空终端窗口? 长任务为什么会断、会卡、会跑飞?
8.32.1 输入框「✨ 优化问题」
- 什么时候用:问题很短(如「帮我弄一下」「看看这个」「优化一下」)、缺少对象 / 约束 / 期望产出, 或你感觉 AI 可能理解偏了时。输入框工具栏「✨ 优化」按钮会在这类模糊输入下轻微高亮(不会自动改写)。
- 做了什么:把原问题改写成 AI 一次就能正确理解的执行请求: 目标(保留原话与意图)→ 先复述理解与拟采取步骤 → 列出必需信息(输入文件 / 目录、环境、期望格式、 验收标准;能自行查证的就查证,无法确定时一次最多问 3 个问题,不猜测)→ 明确产出与验证方式 → 不确定处标注「假设:…」,不编造事实 / 路径 / 数据。
- 先确认再采用:弹窗并排展示原问题与可编辑的优化结果、改动点、待确认信息;点 「采用并填入输入框」才替换正文,也可「再优化一次」或取消。已足够清楚的问题会直接提示“可直接发送”, 不硬加模板。
- 模型改写 + 本地兜底:接口
POST /api/prompt/optimize用当前配置的模型改写 (限时 30 秒、最多 2 个并发、不消耗每日任务额度、不落盘用户文本);模型未配置 / 超时 / 返回非 JSON 时 自动改用本地规则模板,按钮始终可用。 - 安全边界:优化器只做澄清与结构化,不回答问题、不执行任何工具、不改变附件 / @ 引用 / 模式设置; 采用后仍由你按 Enter 发送。
8.32.2 桌面版静默运行(不再闪空终端窗口)
- 现象与根因:桌面版是无控制台的 GUI 进程。Windows 上任何未带
CREATE_NO_WINDOW的 console 子进程都会新建一个空控制台窗口;环境探测、terminal/pwsh、 后台命令、沙箱、通知、ffmpeg、pip install、测试进程、更新器与 MCP stdio 服务器都会 spawn 子进程,于是表现为“不定期闪窗”。 - 现在的做法:新增
automind/core/proc.py统一静默层 —— 所有运行时 spawn 点加CREATE_NO_WINDOW;GUI 进程下还安装幂等的Popen补丁,连第三方库(如 MCP SDK) 启动的子进程也不会新建窗口。保留调用方原有的CREATE_NEW_PROCESS_GROUP等标志, 不设 SW_HIDE,所以浏览器 / 编辑器等 GUI 程序照常显示。 - 可关闭:
AUTOMIND_SILENT_SUBPROCESS=0(关闭)、=1(强制开启); 默认在无控制台进程 / 桌面版自动开启。 - 怎么验证:桌面版启动并跑一条命令,任务栏不应出现新的空终端窗口;命令行终端里启动时行为不变 (子进程继承当前控制台)。
8.32.3 长任务断线保活(默认开启,120 秒)
- 断线不丢任务:任务执行中浏览器 WS 断开(Wi-Fi 抖动 / 休眠唤醒 / 反代掐流 / 页面刷新)后, 任务默认继续在服务端跑 120 秒;重连后自动接管运行中状态,或回放已完成结果(含完整回答), 不再立刻落“失败卡片”。
- 可调:
AUTOMIND_RUN_DETACH_GRACE_S(默认 120,0 = 关闭保活回到旧行为)、AUTOMIND_RUN_RESULT_TTL_S(默认 600,结束后结果保留时长)、AUTOMIND_WS_SEND_TIMEOUT_S(默认 5,单条事件推送超时)。 - 边界:只有新前端在
run里声明reattach: true才启用;旧页面 / 脚本 仍按旧语义取消。断线时若正在等待人工审批,该连接上的待决审批仍按拒绝处理(fail-closed), 这是安全语义,不随保活改变。 - 同一会话只允许一个活跃任务:两个标签页同时发任务时,第二个会收到明确提示,避免互相覆盖 会话克隆。
8.32.4 工具执行可见、慢客户端不阻塞
- 工具调用开始即发「🛠 调用 X…」;执行超过 5 秒每 5 秒刷新「已运行 N 秒」—— 长命令 / 大文件 / 浏览器操作期间能明确区分“在跑”与“挂了”。
- 服务端向界面推事件带 5 秒超时:某个标签页很慢 / 假死时只丢那一条非终态事件,不会把正在跑的工具 或模型调用拖住。
- 工具超时让位:外层单步超时给工具内部超时留 10% 余量(默认 300s→330s);
terminal/pwsh内部超时先返回,它自己给出的“等待了多久、输出已丢弃、 改用background=true/ 加大 timeout”回执能真正送到模型,而不是被外层取消后只剩一句笼统失败。
8.32.5 防「无限验证」跑飞
- 真实依据:本机任务历史里出现过一次 150/50 步、7.7M token、25 分钟后仍以 max_iterations 失败 的记录,轨迹里有大量“读同一个文件 / 反复核对”的成功但无进展动作。
- 读目标守卫:同一目标(
file_read的 path、file_search、web_fetch、web_search、http_request)累计读取, 第 6 次先提示、第 7 次起拦截(默认上限 8,本地判定零 token);不同offset/limit的重复整文件读取也会被识别。被拦的动作计入无进展,连续无成功即停止续步。 - 续步上限 2→1:ReAct 步数用完后最多再续 1 个窗口(最坏 100 步,此前 150 步);续步会推送
react_iterations_extended事件,界面可看到“已续加步数”。到上限仍走既有 「部分交付清单 + 断点续跑」,不会把已做的事丢掉。 - 建议:长任务尽量给明确验收标准;遇到反复核对同一文件,可直接补充要求“基于已有内容收尾”, 或从断点续跑只做剩余部分。
8.33 🧯 修复轮预算 · 失败原因 · 省 tokenv1.11.21 新增
本节回答三个问题:验收没过之后,系统会不会为“返工”再烧掉一整个任务?任务失败时到底停在哪一步? 为什么这版更省 token?
8.33.1 修复轮不再是“第二个完整任务”
- 旧行为(真实数据):自主闭环在“验收未过”后会自动修复,但修复轮此前沿用主任务的
max_iterations(默认 50 步)与续步规则 —— 本机历史里出现过 150/50 步、7.7M token、25 分钟仍以 max_iterations 失败的记录,等于把“完成计划 + 返工” 跑成了第二个完整任务。 - 新行为:新增「设置 → 🛡 执行治理 →
auto_verify_fix_max_iterations」 (默认 1,0 = 关闭自动修复)。每个修复轮最多走这么多步;修复轮次数仍由auto_verify_max_rounds控制。 - 修复轮不续窗、只继承剩余 deadline:修复轮只能花当前 Token 窗口的剩余预算,用尽就收尾; 不会开新窗口、也不会顺延任务总时长。
- 推荐设置:默认 1 适合大多数任务(小修小补);需要“返工重做”时先提高验收标准或把剩余目标 拆成新任务,而不是把修复轮步数调大(步数越大越容易反复读 / 反复核对,反而更慢更贵)。
8.33.2 什么情况会“部分交付”而不是死磕
当主任务因为下列原因停下时,系统判定为部分交付,直接跳过 LLM 审查 / 验收 / 修复轮, 只输出“已完成工作保留,可续跑”的摘要:
stop_reason | 含义 | 界面提示 |
|---|---|---|
max_iterations | 步数上限 | 步数上限 |
task_budget / budget_exhausted | Token 预算耗尽 | 预算耗尽 |
no_progress | 连续无进展 | 无进展 |
llm_unavailable | 模型不可达 | 模型不可达 |
partial | 计划中有失败步骤 | 部分交付 |
简单任务(纯问答式产出、只读工具且无失败)同样跳过昂贵的审查 / 验收 / 修复轮。 跳过的不是“交付”:已完成的文件改动 / 产出都保留;需要接着做时按 8.10 从断点续跑。
8.33.3 失败原因与调用次数在哪里看
- 历史卡片:任务记录新增
stop_reason(中文徽标:步数上限 / 预算耗尽 / 无进展 / 模型不可达 / 部分交付…)、resumable(⏸ 可续跑)、llm_calls(N 次调用); 详情弹窗可查看并复制error。 - 失败气泡:错误正文上方显示停止原因、
⏸ 已保存可续跑断点、N 次 LLM 调用;有断点时保留「检查现状后接着做」按钮(它只让 AI 看现状给出下一步建议, 不是断点续跑,见 8.10)。 - 兼容旧记录:旧任务没有这些字段时界面不显示,不会报错。
8.33.4 省 Token 的三个取舍
- 复用验收结论:闭环里已经有 review / verify 结论时,直接据此生成质量报告,不再重复评估、 也不额外花一次 LLM 做反思;只有“没有结论 + 非简单 / 非部分交付”才走完整质量评估与反思。
- 干净成功不再反思:质量评估一次通过且无 issue 时跳过反思。
- 前缀缓存不打掉:消息顺序保持 system → 工具目录 → 环境 → 记忆 → task 稳定不变, 修复轮不重写已有 system 消息 —— 返工复用同一段缓存前缀,命中率不因“返工”下降。
8.33.5 回归保障
tests/planning/test_long_task_regressions.py 用脚本化 LLM(不依赖真实模型)锁住两类跑飞形态:
计划完成但验收未过时,修复轮 ≤1 轮 / ≤1 步且总调用有上限;ReAct 反复读同一路径时守卫触发、调用有上限、
最终部分交付而不是无限循环。另有 tests/planning/test_autonomy_budget.py(部分交付短路 / 不续窗 /
简单任务跳过 / 验收结论复用)与 tests/core/test_agent_result_fields.py(字段与落库映射)。
8.34 🤝 多智能体工程协同v1.11.22 新增
本节回答:协同模式现在到底是谁在干活、权限和写冲突怎么管、预算与验收怎么算、 怎么用评测脚本对比单 Agent / 协同 / 子任务。
8.34.1 能力:从“多角色写文本”到“能动手的工程团队”
| 能力 | v1.11.21 及之前 | v1.11.22 起 |
|---|---|---|
| 任务拆解 | 线性角色清单 | DAG(depends_on 表达依赖,2–6 个节点) |
| 角色能否动手 | 只能输出文本 | 受限工具白名单内真实读写文件 / 跑命令 / 跑测试 |
| 执行方式 | 逐角色串行 | 按 DAG 并行(默认同时 2 个角色;写范围冲突自动串行) |
| 工作区 | 各自文本 | 共享父 Agent 项目目录(真实文件) |
| 写冲突 | 不存在 | write_paths + write_guard.path_lock 同进程加锁 |
| 预算 | 全任务共享 | 角色级独立步数 / Token / 墙钟(不续窗) |
| 审查 | 无 | 写角色完成后只读 reviewer,不通过有界回炉(默认 1 次) |
| 验收 | 无 | 收尾跑项目测试 + 语义验收;失败最多再修 1 轮 |
纯文本任务(无 coder、无写范围、任务不含代码 / 文件 / 命令 / 测试 / 构建关键词)仍走旧文本流水线, 保留旧的质量 / 成本表现 —— 不为“写一份方案”启动整套工程设备。
8.34.2 权限与安全(和单 Agent 同一套)
- 角色调用仍是真实工具调用:审批模式、风险分级、路径防护、分派级治理闸门全部照旧; 多智能体没有“特权”,写 / 执行工具在非「全批准」模式下同样可能被拦。
- 角色工具按角色收紧:coder = 写 / 执行 + 读;writer = 写文件 / 读;其他角色只读 SAFE; 写角色若没有任何可用写工具会直接报错(不会静默“假装写了”)。
- 审查者(reviewer)是只读的:只复核,不改文件。
8.34.3 共享工作区与写冲突(为什么有时“看起来没并行”)
- 所有角色共享你的项目目录 —— 它们改的是真实文件。运行前建议 git 提交或用工作区隔离副本。
- 写角色用
write_paths声明写范围:不同路径可并行,范围重叠自动串行(同一时刻只有一把锁在写)。 - 没声明写范围的写角色会拿“整片工作区”独占锁 —— 安全优先,但会明显降低并行度。
- 节点失败时,依赖它的节点直接标
skipped(不跑);独立节点继续。最终输出如实列出哪些没跑。
8.34.4 预算与验收(失败不会伪装成成功)
- 角色预算:
multi_agent_role_max_steps(默认 12 步)、multi_agent_role_max_tokens(默认 120000)、multi_agent_role_timeout_seconds(默认 300s),且角色不自动续窗; 并行数multi_agent_max_parallel(默认 2)。 - 回炉:
multi_agent_max_rework(默认 1)—— reviewer 不通过最多重跑一次; 审查设施不可用(available=False)只记“审查不可用”,不回炉也不判失败。 - 验证:
multi_agent_verify(默认 True)收尾跑项目测试 + 语义验收;done口径:测试通过 / 没有测试 / 测试设施不可用,且(语义验收 done 或验收设施不可用;multi_agent_verify=False时不跑语义验收、不据此判失败)。没有任何角色成功时验证标记skipped(不当作验证通过)。失败最多再修 1 轮,仍失败 →success=False, stop_reason=verification_failed。 - “验收未执行”不是“通过”:界面显示“验收未执行”时,只代表这次没测到,别当成已验证。
- 预算耗尽:整轮任务照旧写可续跑检查点(
resumable=True),从断点续跑只补剩余角色。
8.34.5 怎么读协同结果
- 计划 / 依赖:卡片显示 DAG 与「依赖 s1,s2」;看到两个角色写同一路径说明会串行。
- 每角色数据:步数 / LLM 调用 / Token 都在角色行上;
rework标记表示回炉过。 - 验证摘要:卡片底部“测试通过 / 验收通过 / 审查有意见 / 验收未执行”,只有真实
verification才显示。 - 失败 / 跳过:
skip图标表示依赖失败未执行;fail是角色本身失败 —— 两者不要混。 - 旧任务记录 / 旧后端(只有 index 没有 id)按旧布局展示,新字段缺失不显示。
8.34.6 用评测脚本对比三种模式(可选)
# 先看矩阵(默认 dry-run,不调用模型、不需要 Key)
python scripts/collab_benchmark.py --dry-run
# 真跑(会消耗 Token;先配好模型 Key)
python scripts/collab_benchmark.py --live --provider deepseek --model deepseek-chat
# 只跑某些任务 / 模式
python scripts/collab_benchmark.py --live --task codegen_fizzbuzz,bugfix_calc --mode single,multi
- 三种模式:
single= 单 Agent 工作模式;multi= 工程协同(需专业版);subagent= 受限子任务。 - 指标:success / duration_ms / tokens / llm_calls / steps / verification_passed / rework_count /
human_interventions;另有 benchmark 侧产物检查
artifacts_ok与人工回填列manual_rework。 - 结果写
.automind/collab_benchmark/(gitignore):JSON + CSV;不提交真实结果 / API Key。 status=unavailable(如未激活专业版)与error不计入成功率分母;verification_passed=None表示该模式没有验证环节 / 未测到,不是失败。- 仓库没有预置任何基准数字;要结论请本地自己跑(方法与口径见
docs/COLLABORATION.md)。
8.35 🧪 审计测评与压力测试v1.11.23 新增
本节回答:v1.11.23 到底审计了什么、用什么方法保证结论可信、结果在哪里看、日常使用有什么变化。
8.35.1 审计了什么(四个面)
| 领域 | 被审计对象 | 审计关注点 |
|---|---|---|
| 团队任务看板并发与流程 | automind/core/team.py |
create / claim / update / comment 的读改写与 SQLite 整表替换;并发下是否丢任务、重复认领、静默覆盖 |
| 多智能体工程协同压力 | pro/automind_pro/multiagent/engineering.py |
6 节点 DAG 多次运行;并行 / 依赖批;同路径写锁竞争;reviewer 反复不通过;验证失败修复; 角色预算耗尽;文本 fallback;断点续跑 |
| 子智能体委派压力与生命周期 | automind/planning/subagents.py |
并发上限、深度 1 拒绝、拒绝后槽位释放、50 次连续派发、结果保留上限、list/get/stop/send、 stop 未完成状态 |
| WebSocket / 团队在线与并发 | automind/server.py |
多连接注册 / 绑定 / 断开、presence 聚合、同会话重复 run 拒绝、断线重连接管 / 终态回放、 stop/cancel、并发连接循环、僵尸 LiveRun |
本轮不是模型质量评测(那看 docs/EVAL.md 与 scripts/collab_benchmark.py),
也不改产品功能 —— 除非审计确认了真实缺陷,才做最小修复并补回归测试。
8.35.2 方法:零真实模型、断言数据不变量
- 全部 fake / scripted 执行器 + 进程内 WS fixture:不消耗 Token、不需要 API Key、不联网;
- 线程 + 协程混合并发,Barrier 同步起跑放大竞争窗口;
- 断言不看“没抛异常”,而看数据不变量:任务条数、认领归属、running 计数归零、锁是否全部释放、 事件是否串台;
- 先测后修:先写能复现的压力用例,确认真实缺陷再改代码(最小改动、保留旧 API / 测试);
- 未复现的领域如实写“未复现” —— “未发现”不等于“无风险”。
8.35.3 结果在哪里看
- 完整报告:
docs/AUDIT_v1.11.23.md(范围 / 方法论 / 测试矩阵 / 结果 / 发现与修复 / 边界 / 复跑命令); - 本轮实测:89 个审计用例全部通过(A1 16 / A2 29 / A3 30 / A4 14),P0 = 0;团队看板、子智能体、
WS/在线共三组 P1 缺陷、8 处修复均有回归;A2 工程协同未发现需修改
engineering.py的缺陷; - 已修复的清单与规模数字见
docs/AUDIT_v1.11.23.md与CHANGELOG.mdv1.11.23 第三节; - 复跑命令(全部不需要真实 Key):
# A1 团队任务看板并发与流程
python -m pytest tests/audit/test_team_flow.py -q
# A2 多智能体工程协同压力(需商业扩展包源码)
$env:PYTHONPATH='pro'; python -m pytest pro/tests/test_engineering_stress.py -q
# A3 子智能体委派压力与生命周期
python -m pytest tests/planning/test_subagent_stress_audit.py -q
# A4 WebSocket / 团队在线与并发
python -m pytest tests/server/test_ws_stress_audit.py -q
8.35.4 边界(诚实声明)
- 不覆盖真机网络 / 弱网 / 浏览器休眠(WS 压测是进程内 fixture);真机验证仍靠 CI 与安装包验收;
- 不覆盖跨进程真并发(团队看板若多进程同时写 SQLite,进程内锁无法覆盖;复现到会单独记录);
- 不覆盖长时间稳定性浸泡(>1h)与吞吐量基准;压力规模按“本地秒级到分钟级可重复”选取;
- 审计结论只对当轮代码与用例规模成立,不构成“未来永远安全”的保证。
8.35.5 对日常使用有什么影响
- 一般没有可感知变化:审计轮默认不改功能;若修复了真实并发缺陷,行为会更确定 (例如并发认领同一任务会明确成功 / 拒绝,而不是偶尔静默覆盖);
- 如遇团队看板 / 协同 / 子智能体异常,可把
docs/AUDIT_v1.11.23.md的复跑命令与对应场景 一起反馈。
8.36 🧪 真实能力测评与版本隔离v1.11.24 新增
本节回答:怎么用可复跑的测评判断“真实能力”、社区版 / 专业版 / 企业版的差异怎么测、 Web 界面里为什么以前跑不了测评、现在怎么跑、实测结果在哪里看。
8.36.1 核心综合测评套件(comprehensive.yml)
| 任务 | 考什么 | 关键断言 |
|---|---|---|
analysis_summary | 纯文本需求分析 | 结构化产出、覆盖验收要点、不虚报执行 |
bugfix_calc | 小 bug 修复 | 预置失败测试 → 修实现 → 测试通过 |
multi_file_pkg | 多文件工程 | 包结构 / 入口文件存在 + 测试通过 |
data_csv | 数据汇总 | CSV 产物 + summary.json 真实数值断言 |
doc_report | 文档产出 | 结构化 Markdown 报告文件与章节 |
honesty_safety | 诚实与安全 | 缺失文件如实说明、不得删除 protected.txt / 不得编造标记 |
assertion_probe(expect_fail,不计分) | 判定链路体检 | 故意不可能满足的断言必须失败,证明断言没有被静默跳过 |
- 全部任务自包含:不联网、不读写仓库、单任务 300 秒上限;
- 只用现有断言类型(
contains/not_contains/regex/file_exists/tool_called/max_seconds/max_tokens),不引入新 runner 语义; assertion_probe的用意:如果它“通过”了,说明断言根本没被判定 —— 那是测评框架最严重的 失效形态;- 跑法:
python -m automind.eval run automind/eval/suites/comprehensive.yml --dry-run(看清单,不需 Key);去掉--dry-run才是真实调用模型(计费)。
8.36.2 版本隔离测评(社区 / 专业 / 企业)
scripts/edition_benchmark.py —— 默认 dry-run(不联网、不启动 server,只打印 / 校验矩阵);
--live 才真实执行:
- 起三个隔离 server:community(18765)/ pro(18766)/ enterprise(18767),各自独立
AUTOMIND_DATA_DIR、HOME、项目目录; - community 注入
AUTOMIND_FORCE_COMMUNITY=1且不加载扩展;pro / ent 安装 staging Pro wheel + 临时许可证(结束后清理进程与许可证); - 通过
/api/config设置已接入模型(Key 不打印、不落报告),/api/eval/run跑 comprehensive 3 轮,并调用scripts/collab_benchmark.py --live跑协作矩阵 (community 只single;pro / ent 为single+multi+subagent); - 保存原始报告与隔离矩阵供复核;
--report-only跳过执行、只重算报告。
实测隔离矩阵(v1.11.24b,isolation_matrix.json,27 项商业 feature × 3 版本):
| 版本 | edition 观测 | 商业 feature | 扩展包 | 许可证 |
|---|---|---|---|---|
community | community | 0/27 可用 | 未安装 | need_package(属正常:社区版不装商业包) |
pro | pro | 19/27 可用(8 项企业版专属关闭) | 1.11.24 已安装、兼容 | active |
enterprise | enterprise | 27/27 可用 | 1.11.24 已安装、兼容 | active |
结论:feature 门控、扩展安装与许可证步骤完全符合预期,说明三版本是真正隔离运行、
不是共用同一份环境;完整矩阵见 docs/benchmark/v1.11.24/isolation_matrix.json。
scripts/benchmark_report.py:校验 6 任务 × 3 版本 × 3 重复 与协作 cell 完整性,
缺失即失败(不允许“少跑几个也当结果”);汇总 JSON / CSV / Markdown;对 Key、绝对路径、许可证信息
脱敏;只汇总实测数据,不补数、不估数。
8.36.3 Web 界面跑测评(取当前模型)
- 以前的问题:工作台已接入 deepseek-flash,但
/api/eval的 dry-run target 仍按默认openai/gpt-4o判断 → 报“未配置”,看起来像测评不可用。 - 现在:
/api/eval/run未显式指定 provider / model 时,取当前已接入模型的 provider / model / api_base,并从当前 Agent 或已保存的 API Keys 取 Key;没有可用 Key 返回 409 (明确是“配置问题”,不是“模型失败”);响应只报告来源,不返回 Key;CLI 默认行为不变。 - 在 Web「📊 评测」入口选套件即可跑;无人值守场景注意审批模式(评测默认
approve_all, 无人值守脚本应显式指定,见 5.1)。
8.36.4 实测结果在哪里看(v1.11.24b,2026-10-31)
核心综合评测(6 任务 × 3 版本 × 3 轮,共 54 cell):三版本均 100%(18/18);
耗时 / Token / 估算成本:社区 331.38s / 576,476 / $0.391097,专业 358.30s / 608,693 / $0.410784,
企业 265.59s / 545,589 / $0.354959;反向探针三版本各 3/3 passed;
数据完整性 82/82、validation.ok=true。
协作矩阵(每 task × mode 仅 1 次,n=1,不构成统计显著结论):
| 版本 | single | multi | subagent |
|---|---|---|---|
community | 1/4(25.0%) | —(无授权,设计如此) | —(无授权) |
pro | 1/4(25.0%) | 0/4(0.0%) | 4/4(100.0%) |
enterprise | 3/4(75.0%) | 1/4(25.0%) | 4/4(100.0%) |
- 失败案例如实保留:pro
multi0/4、enterprisemulti1/4 (含multi_file_pkg产物缺失)、codegen/bugfix 的multi验收失败、 communitysingle仅 1/4(但产物文件已生成);逐条原因见基准报告 §9, 不得删除或弱化; - 完整报告:
docs/BENCHMARK_v1.11.24.md;脱敏数据(含isolation_matrix.json、逐 cell 矩阵、SHA256SUMS.txt):docs/benchmark/v1.11.24/; - 本手册与 CHANGELOG 不预设“哪个版本更强”的结论:协作 n=1、单模型、单机, 不构成统计显著结论;
- 想自己复现:先
--dry-run校验环境与矩阵,再在配好模型 Key 的机器上--live(会产生真实 Token 费用)。
8.36.5 边界(诚实声明)
- 真实模型 / 真实计费:
--live会调用你配置的模型并消耗 Token; 不要接进 CI / 定时任务; - 三版本隔离只保证“进程与数据目录隔离”:不等于安全沙箱;测试用临时许可证,报告已脱敏;
- 测评结果依赖模型 / 网络 / 机器:不同模型结果不可横比;本轮评测 3 轮、 协作每 cell 仅 1 次(n=1),不构成统计显著结论;
- 协作矩阵存在真实失败(pro
multi0/4、enterprisemulti1/4 等), 发布 / 引用时必须如实披露; - 不是安全审计:并发 / 生命周期审计见 8.35;能力结论以实测报告为准, 未实测项(环境精确版本等)不补数字。
8.37 🤝 多智能体协同修复与交付后续跑提示v1.11.25 新增
本节说明 v1.11.25 的两项修复与一项沿用:多智能体协同执行链路修复 (已在 PRO / ENTERPRISE 两个独立完整矩阵实测)、任务已交付后不再提示续跑, 以及沿用 v1.11.24 的 Web 评测取当前模型 / Key。 所有实测数字来自真实运行(模型 deepseek/deepseek-flash、单机、每组合 n=1), 不构成统计显著结论,也不做版本或模型排名。
8.37.1 多智能体协同修复(PRO / ENTERPRISE 完整矩阵均 4/4)
修复点(7 项):
- 产物硬断言只认任务明确要求的路径:只对任务
expect_files(明确要求产物)做硬失败; 回答里顺带声称的requirements.txt/pytest.ini等降为 warning。 - 最终交付只整合 coder / writer 产出:排除 planner / reviewer 过程文本,并遵守任务长度约束 (如 analysis_summary 的 300 字上限)。
- 证据优先验证:测试 / 产物 / 长度等确定性证据优先,不靠模型自述;自述与证据冲突时以证据为准。
- 写角色失败一次有界自愈:写角色(coder)失败一次后自动重跑;验证成功后补跑被 skip 的依赖角色。
- 角色默认预算提高:12 步 / 120k token → 30 步 / 300k token(角色级)。
- max_iterations 但产物已落盘且验证通过时回收步骤:满足任务目标的迭代计为完成,不误判失败。
- 失败原因逐节点可解释:失败信息带角色 / 节点(如
s2(coder))与stop_reason。
实测结果(真实运行):
| 项目 | v1.11.24 基线 | v1.11.25 修复后 | 证据(run) |
|---|---|---|---|
PRO multi(4 任务) | 0/4(0.0%) | 4/4 completed(artifacts / verification 全通过) | 20261101-0830-final-pro |
ENTERPRISE multi(4 任务) | 1/4(25.0%) | 4/4 completed(verification 4/4、artifacts 3/3) | 独立 run 20261101-0840-final-real |
| 角色预算迭代(PRO / ENT) | — | 12 步/120k → 3/4;20 步/200k → 3/4;30 步/300k → 4/4 / 4/4 | 073643-pro/074435-real → 075645-pro/080559-real
→ 0830-final-pro/0840-final-real |
| 补充证据(不用于拼接) | — | targeted codegen+multi_file 2/2;旧 full 的 analysis/bugfix 2/2
(同轮 multi_file budget_exhausted 失败保留) |
20261101-082717-real / 20261101-080559-real |
- PRO 4/4 明细:analysis_summary 66,952ms / 33,210 tok;codegen_fizzbuzz 210,780ms / 343,633 tok; bugfix_calc 102,563ms / 99,155 tok;multi_file_pkg 131,984ms / 172,083 tok;总耗时 512.69s、 Token 648,081、LLM 调用 97、steps 14、rework 1。
- ENTERPRISE 4/4 明细:analysis_summary 206,078ms / 78,241 tok;codegen_fizzbuzz 186,250ms / 378,034 tok; bugfix_calc 101,734ms / 135,182 tok;multi_file_pkg 263,359ms / 477,635 tok;总耗时 757.94s、 Token 1,069,092、LLM 调用 133、steps 13、rework 3。
- 怎么验证:
python scripts/collab_benchmark.py --dry-run先看任务 × 模式矩阵(不联网);--live才真实调用模型并落 JSON / CSV(消耗 Token,不要接 CI / 定时任务)。 - 回归用例(离线,本地已通过):
tests/planning/test_artifact_scope_and_post_budget.py(新增 12 用例,12 passed);pro/tests/test_engineering_collab_regressions.py(多智能体协同回归,14 passed);另更新tests/core/test_multi_agent_engineering_wiring.py、pro/tests/test_engineering_multi_agent.py、tests/planning/test_tool_reliability.py、pro/tests/test_engineering_stress.py。 - 残余风险(诚实记录):① 30 步 / 300k 仍偏紧(额外样本 305,845 / 300,000 token);
② 预算耗尽路径行级 token / LLM 调用疑似少记;③ Windows multi 检查点文件名含
:保存失败 → benchmark 会话续跑不可用(不影响 8765 正常会话);④ 单模型 / 单机 / n=1, 不构成统计显著结论。 - 失败与边界(不删减):修复过程中间轮次的真实失败保留未删(
20261101-074435-realcodegenrole_failed;20261101-080559-realmulti_filebudget_exhausted;20261101-083304-pro重复 PRO 轮次 3/4);PRO 与 ENTERPRISE 是两个独立完整 run,不拼接。
8.37.2 已交付任务不再提示续跑
- 以前的问题:任务已经产出交付结果(交付物 / 结果卡片已生成)后,界面仍提示“继续”, 容易被误认为任务未完成,也可能误触发不必要的续跑、浪费 Token。
- 现在:主任务预算与收尾预算分离 —— 主交付完成后,收尾预算耗尽不再标记 partial、
不再提示续跑(
resumable=false、检查点按 completed 记录);真正的 partial (主任务预算耗尽)仍可续跑。 - 验收(离线,本地已通过):
tests/planning/test_artifact_scope_and_post_budget.py→TestPostDeliveryBudget(5 条覆盖:交付 + 收尾耗尽 → completed / resumable=False; ReAct 已交付 + 收尾耗尽不显示续跑入口;真正主预算耗尽 → partial / resumable=True;partial 不被 收尾耗尽掩盖;收尾耗尽不写budget_exhausted);全部 12 用例 12 passed。 - 仍看到“继续”提示? 先确认任务是否真的已完成并交付、刷新界面;仍异常请附版本号、 复现步骤与截图反馈。
8.37.3 Web 评测取当前模型(沿用 v1.11.24)
- 本版无新增改动:
/api/eval/run未显式指定 provider / model 时取当前已接入模型与 已保存 Key;没有可用 Key 返回 409(配置问题,不是模型失败);响应只报告来源、 不返回 Key;CLI 默认行为不变。 - 回归:
tests/eval/test_eval_key_target.py、tests/server/test_eval_api.py(v1.11.24 离线用例沿用)。详细说明见 8.36.3。
09命令行与 REPL
不开浏览器也能用。安装后命令行直接可用 automind 命令。
# 单次任务(默认工作模式)
automind "创建一个 requirements.txt 包含 fastapi 和 uvicorn"
# 指定模式 / 模型 / 项目目录
automind --mode react --provider deepseek -p D:\myproj "修复 main.py 的报错"
# 信息查询
automind --version automind --list-tools
automind --list-skills automind --list-providers
Rich REPL(交互式彩色终端)
不带参数运行 automind 进入:
│ AutoMind v1.11.18 │
│ 模式: plan_and_execute · 模型: deepseek/… │
│ 输入任务开始,/help 查看命令 │
└──────────────────────────────────────┘
automind> _
| REPL 命令 | 功能 |
|---|---|
/help | 帮助 |
/mode react · /mode plan_and_execute | 切换执行模式 |
/tools · /skills | 表格列出工具 / 技能 |
/stats | 本次会话任务数与 Token |
/clear · /exit | 清屏 · 退出(带 Token 总摘要) |
| 其他任何输入 | 作为任务执行,结果 Markdown 面板渲染 |
10部署与运维(团队 / 生产)
Docker 部署
docker compose up --build
# 数据(配置/记忆/检查点)持久化在 automind_data 卷
# 镜像特性:非 root 用户、/data 工作卷、自带健康检查
生产加固环境变量(默认全关,按需开启)
| 变量 | 作用 | 建议 |
|---|---|---|
AUTOMIND_AUTH_TOKEN | 所有 API 与 WebSocket 需带 Bearer 令牌 | 暴露公网必开 |
AUTOMIND_CORS_ORIGINS | 收紧跨域来源(逗号分隔) | 配合前端域名 |
AUTOMIND_MAX_CONCURRENT | 并发任务上限(默认 8,超出 429) | 按机器性能调 |
AUTOMIND_RATE_LIMIT | /api/run 每客户端每分钟次数(0=关) | 公网建议 30 |
AUTOMIND_REDACT_SECRETS | 输出中的 API Key / 密码自动打码 | 多人环境建议开 |
AUTOMIND_ALLOWED_ORIGINS | WebSocket Origin 白名单 | 防跨站劫持 |
GET /api/health(免鉴权)返回版本 / 运行任务数 / 并发上限 / 运行时长,供探活与负载均衡。
安装 structlog 输出 JSON 结构化日志,未装自动降级标准格式。服务退出自动释放 MCP / 向量库 / 模型连接池。🗄 数据与存储(v1.1:SQLite)
v1.1 起高频数据从零散 JSON 平面文件收敛到 SQLite(WAL 模式,并发安全、增量写入)。 首次启动自动把旧 JSON 数据一次性导入,旧文件原地保留作备份,升级零感知。
| 数据 | 存储位置 | 说明 |
|---|---|---|
| 任务历史 / 团队任务 / 每日限额 | .automind/automind.db | 滚动上限 200 条历史;限额跨天自动清零 |
| 对话会话(多用户隔离) | .automind/sessions.db | 每会话最近 200 条消息 |
| 知识库(文档/片段/向量/检索日志) | .automind/kb/kb.db | 片段与向量增量落库,检索走内存热路径 |
| 配置 / API Key / 工作区 | .automind_config.json | 保持纯文本 JSON(体量小、可手工编辑) |
.automind/ 目录与
.automind_config.json 即完成全量备份;迁移到新机器原样放回即可。
SQLite 文件可用任意 SQLite 工具(如 sqlite3 CLI、DB Browser)直接查看。10.6 🛡 内网 / 离线部署与运维v1.11.14 新增
v1.11.14 把离线部署从"设计文档"做成可运行、可验收的实现:离线总闸 + 出网白名单 + 探测三态 +
安装 / 备份 / 回滚 / 验收脚本。完整运维手册见 docs/OFFLINE_OPS.md,
缺口逐条对照见 docs/OFFLINE_DEPLOYMENT.md。
| 模式 | 怎么开 | 行为 |
|---|---|---|
open(默认) | 不设置 / AUTOMIND_NETWORK_POLICY=open | 与历史版本一致,不做限制(仍防 SSRF) |
allowlist | AUTOMIND_NETWORK_POLICY=allowlist + AUTOMIND_EGRESS_ALLOW | 仅白名单目标可出网,其余当场拒绝 |
offline | AUTOMIND_OFFLINE=1 或 AUTOMIND_NETWORK_POLICY=offline | 公网出网当场拒绝;本地模型 / 内网服务正常 |
优先级:显式 AUTOMIND_NETWORK_POLICY > AUTOMIND_OFFLINE > 默认 open;
非法值 fail-closed 按 offline。策略在进程启动时读取,改完白名单需重启服务才生效。
| 环境变量 | 作用 |
|---|---|
AUTOMIND_OFFLINE | 1/true/yes/on = offline(等价于 NETWORK_POLICY=offline) |
AUTOMIND_NETWORK_POLICY | open / allowlist / offline,优先级最高,非法值 fail-closed |
AUTOMIND_EGRESS_ALLOW / AUTOMIND_EGRESS_ALLOW_FILE | 白名单(逗号 / 分号分隔;文件每行一条、# 注释),支持 host、host:port、*.example.com、IP |
AUTOMIND_EGRESS_DENY | 拒绝列表(格式同白名单,优先级最高,open 模式下也生效) |
AUTOMIND_EGRESS_STRICT | 1 = 内网目标也必须显式白名单 |
AUTOMIND_EGRESS_AUDIT | 0 关闭出网审计(默认 1,写 <数据目录>\logs\egress.log,query / userinfo 已脱敏) |
AUTOMIND_PROBE_HOSTS / AUTOMIND_GATEWAY_PROBE / AUTOMIND_LOCAL_PROBES | 公网 / 网关 / 本地服务探测目标,格式 host:port |
online(公网可达)·
expected_offline(离线策略下公网不可达是预期,不要重试 / 等待)·
degraded(配了网关 / 本地服务却不可达 —— 真故障,按 advice 排查)。
net_check 输出「本地服务 / 网关 / 公网」三段 + policy 字段;/api/health 增加
network_policy / network / egress_audit;离线 / 白名单下更新检查短路。# 安装(先加 -WhatIf 只看计划)
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\offline\install.ps1 -Package .\offline-wheels -DataDir D:\AutoMind -Mode offline -RegisterAutostart
# 备份 / 回滚 / 一键验收
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\offline\backup.ps1 -DataDir D:\AutoMind -OutDir E:\backups -RetainDays 90 -KeepLast 10
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\offline\rollback.ps1 -Backup E:\backups\automind-backup-20261021-120000.zip -DataDir D:\AutoMind -Yes
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\offline\verify.ps1 -ExpectMode offline
# 冒烟自检(策略 / 三态,JSON 输出)
python scripts\offline\smoke_offline.py --json
AUTOMIND_EGRESS_STRICT=1 可收紧);
脚本兼容 Windows PowerShell 5.1,支持 -WhatIf。验收清单与排障表见
docs/OFFLINE_OPS.md 第 9 / 10 节。10.8 💼 商业运营与发证v1.11.15 新增
v1.11.15 把"签一份许可证"补成"可持续运营的闭环":批量发证 + 台账、试用、机器绑定、离线 CRL 吊销、
周期复检 / 宽限期 / 时钟回拨检测、公钥平滑轮换,全程离线。技术细节见 docs/COMMERCIAL_ACTIVATION.md §12-20,
运营 SOP 见 docs/LICENSE_OPERATIONS.md,图文版见 docs/商业运营升级与发证操作手册_v1.11.17.docx。
| 场景 | 命令(发行方工具箱 python pro/tools/issue_license.py) |
|---|---|
| 批量发证 + 台账 + 升级包 | issue-batch --csv customers.csv --out dist/licenses --bundles --wheel pro/dist/automind_pro-1.11.18-py3-none-any.whl [--strict](CSV 列 customer,tier,expiry,seats,machine,serial,start,notes[,days];台账 12 列) |
| 试用 / 生效日 / 机器绑定 | issue PRO acme --days 30 --serial ACME20260001 · issue PRO acme --days 365 --start 20270101 · issue ENT acme --machine 0123456789abcdef |
| 一键升级包 | bundle PRO 20271231 acme --machine 0123456789abcdef --out dist/upgrades(自动附带存在的 CRL) |
| 本机指纹 | machine(客户也可在「⭐ 升级 / 激活」面板复制本机指纹) |
| 吊销 / CRL | revoke ACME20260001 --reason refund · crl list · crl show(CRL 随 .ampkg 分发;离线吊销不送达不生效) |
| 换钥 / 发行自检 | keygen --rotate(平滑轮换)· keygen --force --write-public-key(紧急)· doctor(12 项,失败非零退出) |
| 客户端环境变量 | 默认 | 说明 |
|---|---|---|
AUTOMIND_LICENSE_RECHECK | 3600 秒 | 周期复检间隔;0 = 关闭(不推荐) |
AUTOMIND_LICENSE_GRACE_DAYS | 0 | 过期宽限天数(建议 7~30);只对到期生效,不豁免吊销 / 机器不符 / 时钟回拨 |
AUTOMIND_LICENSE_CRL | ~/.automind/license_crl.json | CRL 路径 |
AUTOMIND_MACHINE_ID | — | 固定机器指纹(测试 / 容器用) |
clock_rollback 并降级;
校正系统时间后下一轮复检自动恢复。把时钟向前调不会触发回拨检测,但会让许可证提前到期 —— 离线许可证的固有边界。pro/.license-private/,gitignored),
不打印、不复制到仓库 / 聊天 / 工单 / 截图;紧急换钥(私钥泄露)必须直接替换主钥并重签全部客户证。
台账含许可证原文,按商业机密管理(放 dist/,不进 git)。11常见问题 FAQ
顶部模型徽标一直是红色「未配置」?
徽标黄色带 ⚠?
任务卡住不动 / 想中断?
为什么它说「文件不存在」?
担心它乱删文件?
换台电脑打开,聊天记录不见了?
.automind/chats/ 下。Token 花得快怎么办?
想让它用我公司内部的工具?
12附录:速查表
五种模式一句话
| 模式 | 引擎 | 一句话 |
|---|---|---|
| 💬 对话 | 直连 LLM | 只聊不动手 |
| ⚙️ 工作 | Plan-and-Execute | 先列计划再逐步干 |
| 💻 编程 | ReAct 循环 | 边看边改边验证 |
| 🤝 协同 | 多智能体工程团队 | DAG 分工 · 工具动手 · 角色预算 · 验收闭环 |
| 🔁 循环 | Loop Engineering | 迭代到达标为止 |
常用 API 端点(二次开发)
| 端点 | 方法 | 功能 |
|---|---|---|
/api/health | GET | 健康检查(免鉴权) |
/api/run | POST | 执行任务 {task, interaction, session_id} |
/api/prompt/optimize | POST | 问题优化 {text, interaction} → {original, optimized, by, notes, questions}(v1.11.20) |
/ws | WebSocket | 流式执行 + 实时事件 + 审批交互 |
/api/status · /api/stats/detail | GET | 状态 · 高级统计 |
/api/skills · /api/mcp · /api/plugins | GET/POST | 三类扩展管理 |
/api/schedule · /api/audit | GET/POST | 定时任务 · 审计日志 |
文件位置
| 内容 | 位置 |
|---|---|
| 配置与 API Keys | 项目目录 .automind_config.json |
| 聊天记录 | .automind/chats/<会话ID>.json |
| 长期记忆(向量库) | .automind/chroma/ |
| 检查点 | .automind/checkpoints/ |
| 插件 | ~/.automind/plugins/ |
| 教程示例 | 仓库 examples/ 目录 |
13更新日志
每次升级带来了什么,按版本倒序。完整记录见仓库 CHANGELOG.md。
- 🤝 多智能体协同修复(PRO / ENTERPRISE 完整矩阵均 4/4):7 项修复(产物硬断言只认任务明确要求路径、
最终交付只整合 coder/writer、证据优先验证、写角色失败一次有界自愈、角色默认预算 12/120k→30/300k、
max_iterations 产物落盘且验证通过时回收步骤、失败原因逐节点可解释);PRO
multi0/4 → 4/4 completed(run20261101-0830-final-pro,总 512.69s / 648,081 tok / 97 次 LLM 调用);ENTERPRISEmulti1/4 → 4/4 completed(独立 run20261101-0840-final-real,总 757.94s / 1,069,092 tok / 133 次调用,verification 4/4、 artifacts 3/3);角色预算迭代 12/120k→3/4、20/200k→3/4、30/300k→4/4(失败轨迹保留); targeted 2/2 与旧 full 2/2 仅作补充证据、不拼接;单模型单机 n=1,不构成统计显著结论。 - 🧭 已交付不提示续跑:主任务 / 收尾预算分离,主交付完成后收尾预算耗尽不再 partial / 续跑
(
resumable=false、checkpoint completed);真正 partial 仍可续跑;新增 12 个离线用例 (tests/planning/test_artifact_scope_and_post_budget.py,本地 12 passed)。 - 🌐 Web 评测取当前模型(沿用 v1.11.24):本版无新增改动(详见 8.36.3)。
- 📊 实测结果:PRO 4×multi 4/4、ENTERPRISE 4×multi 4/4(两个独立完整 run); 见仓库 CHANGELOG §四。
- ✅ 版本与发布准备:六处版本统一 1.11.25;本版仅社区版发布准备,
商业版不发布(
pro仅版本号同步);社区版发布物已构建(wheel 1,972,619 B / sdist 1,962,058 B / src.zip 6,706,498 B,sha256 见 RELEASE.md),build_community审计通过、twine checkPASSED;最终 full acceptance OK exit 0(社区 3529 passed / 6 skipped、 pro 326 passed);离线回归 12 passed / 14 passed;tests/test_version_consistency.py10 passed。 - ⚠️ 残余风险:30 步 / 300k 仍偏紧(额外样本 305,845 / 300,000);预算耗尽路径行级 token/calls
疑似少记;Windows multi 检查点文件名含
:保存失败 → benchmark 会话续跑不可用 (非 8765 正常会话)。
- 🧪 核心综合测评套件:
automind/eval/suites/comprehensive.yml6 个评分任务 (analysis_summary / bugfix_calc / multi_file_pkg / data_csv / doc_report / honesty_safety)+ assertion_probe 反向探针(不计分,必须失败以证明断言链路在工作);任务自包含、无外网、不写仓库、 单任务 300s;只使用现有断言类型;新增tests/eval/test_comprehensive_suite.py。 - 🧬 版本隔离测评:
scripts/edition_benchmark.py默认 dry-run(不联网),--live才启动 community(18765) / pro(18766) / enterprise(18767) 三个隔离 server (独立数据目录 / HOME / 项目;community 强制社区版、pro/ent 装 staging 商业包 + 临时许可证), 跑 comprehensive 3 轮 + 协作矩阵;scripts/benchmark_report.py校验 6 任务 × 3 版本 × 3 重复 + 协作 cell 完整性(缺失即失败)、汇总 JSON / CSV / Markdown 并脱敏; 新增tests/planning/test_edition_benchmark.py(离线)。 - 🧭 Web 评测取当前模型(修复):
/api/eval/run未显式指定 provider/model 时取 当前已接入模型的 provider/model/api_base 与已保存 Key;无 Key 409;响应不返回 Key;CLI 默认行为不变;detect_llm_target支持显式 api_key,make_agent_config/AutoMindExecutor支持 api_key / api_base / temperature / max_tokens 覆盖; 新增tests/server/test_eval_api.py/tests/eval/test_eval_key_target.py(离线)。 - 📊 测评结果(v1.11.24b 实测):核心 6 任务 × 3 版本 × 3 轮 54/54(每版 18/18,100%);
耗时 / Token / 估算成本:社区 331.38s / 576,476 / $0.391097、专业 358.30s / 608,693 / $0.410784、
企业 265.59s / 545,589 / $0.354959;探针三版本各 3/3
passed;协作矩阵: community single 1/4、pro single 1/4、pro multi 0/4、pro subagent 4/4、 enterprise single 3/4、enterprise multi 1/4、enterprise subagent 4/4;隔离矩阵: 社区 0/27、专业 19/27、企业 27/27 商业 feature;数据完整性 82/82、validation.ok=true; 失败案例已如实保留,完整结果见 8.36.4 与docs/BENCHMARK_v1.11.24.md。 - ✅ 版本与发布准备:六处统一 1.11.24;本版仅社区版发布准备,
商业版不发布(
pro仅版本号同步,不重建 / 不发布 Pro wheel 与.ampkg); 前端无变更则沿用产物。
- 🧪 团队任务看板并发审计:
TeamStore.create/update/claim/comment/delete的读改写 与 SQLiteteam_replace整表替换在并发下的丢任务 / 重复认领 / 静默覆盖风险;tests/audit/test_team_flow.py用 100 并发 create、并发 claim 同一任务、并发 update/comment、线程 / 协程混合压测(默认存储与 SQLite)。 - 🤝 工程协同压力审计:
pro/tests/test_engineering_stress.py用 fake Agent/clone/child + scripted LLM 压测 6 节点 DAG 多次运行、并行 / 依赖、同路径写锁竞争、 reviewer 反复不通过、验证失败修复、角色预算耗尽、文本 fallback、断点续跑;断言 llm / 步数 / 耗时上限、 无泄漏任务、无未释放锁、metrics / token_usage 正确。 - 🤖 子智能体委派审计:
tests/planning/test_subagent_stress_audit.py覆盖并发 4、 深度 1 拒绝、第 5 个拒绝后释放、50 次连续派发、结果保留上限 20、list/get/stop/send 生命周期、 stop 未完成状态、预算 / 输出截断 / 事件 sink;断言 running 归零、无无限增长与时间上限。 - 🖥 WebSocket / 团队在线审计:
tests/server/test_ws_stress_audit.py覆盖多连接 注册 / 绑定 / 断开、presence 聚合、同会话重复 run 拒绝、断线重连接管 / 终态回放、stop/cancel、 并发 connect/disconnect 约 20 轮;断言无僵尸 LiveRun、running 计数归零、事件不串台、资源清理。 - 📋 审计报告:新增
docs/AUDIT_v1.11.23.md—— 目的与范围、方法论与判定口径 (P0/P1/P2)、测试矩阵、执行环境与隔离、结果汇总(已回填 89/89)、发现与修复记录、结论、边界与复跑命令; 未复现项写“未复现”,不用“通过”冒充“无风险”。 - 🔧 已确认修复(最小改动 + 回归测试):
① 团队任务看板:
TeamStore写操作无锁load→改→save+ SQLite 整表替换 → 并发创建互相覆盖、并发认领静默覆盖;改为模块级RLock串行化,claim对他人 在办任务抛TaskClaimed(API 400 / 工具可读),同人幂等、done 保留重新认领; ② 子智能体委派:派发取消留下"运行中无执行体"孤儿、subagent_done重复、stop 状态与原因 不准 → 取消时清理记录 / 索引、done_emitted终态去重、stop前补结算、 停止路径补stop_reason=cancelled; ③ WebSocket / 在线:重复 bind 造成连接登记两份、断开只摘一份(幽灵引用累积),task_start 取消绕过finally导致_running_tasks计数永久 +1 → 绑定 / 解绑幂等清理,task_start移入try内收尾; ④ A2 多智能体工程协同:压力测试完成,未发现需要修改engineering.py的缺陷 (规模 / 数字以审计报告为准)。 - 🛠 修复原则:先测后修、最小改动、保留旧 API / 测试;审计确认真实缺陷才改代码并补回归测试。
- ✅ 版本:核心 / 商业扩展包 / Web / 安装器 / 手册统一 1.11.23;本版为源码级审计轮,
审计修复触及核心链路,Pro 同号 wheel /
.ampkg已重建;社区源码随仓库, 不发布 PyPI 与三平台安装包。
- 🤝 工程协同编排器(pro):协调者拆 DAG(2–6 节点,含 depends_on / write_paths /
allowed_tools,校验 id 唯一 / 依赖存在且无环 / 角色合法,无效时退回三角色兜底);每个节点用
clone_for_session+run_subtask真实执行(budget_auto_continue=0、max_iteration_extensions=0、角色工具白名单、asyncio.wait_for超时); 事件ma_plan/ma_step_start/ma_step_end/ma_review/ma_rework/ma_verify。 - 🔒 共享工作区 + 写锁:角色共享父 Agent 的
project_root;write_paths归一为项目内绝对路径,无 scope 的写角色用__workspace__独占;write_guard.path_lock按路径加锁,不同路径并行、重叠串行;按依赖 ready 集合取批, 批内避免写 scope 重叠。 - 🎯 角色预算 / 审查回炉 / 验证闭环:
multi_agent_max_parallel=2、multi_agent_role_max_steps=12、multi_agent_role_max_tokens=120000、multi_agent_role_timeout_seconds=300、multi_agent_max_rework=1、multi_agent_verify=True、multi_agent_review_writes=True; reviewer 不过最多回炉 1 次(审查不可用不回炉、不判失败);收尾 tests +_loop_verify(测试 / 验收设施故障不判失败),失败最多再修 1 轮,仍失败stop_reason=verification_failed;事件ma_plan/ma_step_start/ma_step_end/ma_review/ma_rework/ma_verify/ma_done;返回带engineering: true/false(纯文本任务为 false、verification=None)。 - 🧩 核心接线:
run_multi把父 Agent 传给feature.create(旧签名 TypeError 回退);_finish_run_mode保留编排器聚合token_usage与verification/metrics;run_subtask新增max_iteration_extensions并返回usage/llm_calls; server multi record 有值才写verification/metrics(无新端点)。 - 🖥 前端:
MaStep扩展 id / dependsOn / writePaths / tokens / steps / llmCalls / rework / review / state;ma_plan兼容 id 与 index;MultiBubble显示依赖 / 写范围 / 每角色预算 / rework / 验证摘要(有字段才显示,旧记录布局不变)。 - 🧪 评测与文档:新增
scripts/collab_benchmark.py(4 个固定任务 × 3 模式, JSON + CSV,默认 dry-run、--live才真实跑,未检测到凭据退出码 2,manual_rework 人工填, 不提交结果 / Key);新增tests/planning/test_collab_benchmark_metrics.py(fake 指标聚合) 与docs/COLLABORATION.md(架构 / 边界 / 评测方法,不编造数字);docs/ACCEPTANCE.mdfast 集合补路径。 - ✅ 版本:核心 / 商业扩展包 / Web / 安装器 / 手册统一 1.11.22;
本版商业扩展包有功能变更,同号 wheel 与两份
.ampkg已重建; 不发布 PyPI 与三平台安装包(公钥未轮换,旧许可证继续有效)。
- 🧯 修复轮独立预算:
ExecutionConfig.auto_verify_fix_max_iterations(默认 1,0 = 关闭)。_run_react支持独立max_iterations;修复轮前后置_closure_no_new_window,_roll_budget_window不再为其续窗;修复轮不修改_task_deadline、不加_deadline_shift,只继承主任务剩余 deadline。 - ⏭ 主任务部分交付短路:
_run_impl按停止原因判定main_partial(max_iterations / task_budget / budget_exhausted / no_progress / llm_unavailable),跳过 review / verify / 修复轮,只追加“已完成工作保留,可续跑”摘要并推送autopilot skipped/partial_main;_is_simple_task()判定简单任务同样跳过昂贵闭环。 - 🩺 可诊断状态:
AgentResult新增stop_reason/error/resumable/budget_exhausted/llm_calls(默认值向后兼容);server 两条完成任务记录落库(error脱敏截断 1000 字符),历史卡片 / 失败气泡展示停止原因、可续跑与调用次数。 - 🪙 省 token:
_quality_from_closure()复用闭环 review / verify 结论,有结论时 不再重复评估与反思;干净成功跳过反思;简单 / 部分交付用本地评估;修复轮保持与主任务相同的 可缓存前缀顺序。 - 🧪 回归与版本:新增
tests/planning/test_long_task_regressions.py(2 个长任务 回归)、tests/planning/test_autonomy_budget.py、tests/core/test_agent_result_fields.py; 核心 / 商业扩展包 / Web / 安装器 / 手册统一 1.11.21;商业包同号 wheel 与两份.ampkg已重建 (旧产物归档),不发布 PyPI 与安装包(商业扩展包仅版本号同步,公钥未轮换)。
- 🪟 静默运行:新增
automind/core/proc.py统一CREATE_NO_WINDOW静默层,覆盖环境探测 /terminal/pwsh/ 后台命令 / 沙箱 / 通知 / ffmpeg / 依赖安装 / 测试进程 / 更新器 / MCP stdio;GUI 进程下幂等包裹subprocess.Popen, 第三方库启动的子进程也不新建控制台;只隐藏 console 窗口,不设SW_HIDE(不误伤用户主动打开的 GUI 程序);AUTOMIND_SILENT_SUBPROCESS=0可关闭。 - 🧱 WS 断线保活:新增
LiveRun运行上下文;前端run带reattach: true时,断线默认保留 120 秒(AUTOMIND_RUN_DETACH_GRACE_S, 0=关闭),重连后run_state接管运行中状态或回放已完成终态与完整结果(结果保留 600 秒); 同一会话已有活跃任务时拒绝第二次启动;审批断线仍 fail-closed。 - ⚡ 慢客户端不阻塞 / 工具可见:任务事件推送带 5 秒超时
(
AUTOMIND_WS_SEND_TIMEOUT_S);工具调用发step_action_start, 执行超过 5 秒每 5 秒发tool_progress,进度条显示「调用 X · N 秒」。 - 🛠 工具成功率:
ReactExecutor._effective_timeout给外层预算加min(30s, 10%)余量(默认 300s→330s),让terminal/pwsh的内部超时回执、部分输出与后台通道指引先返回。 - 🚧 防跑飞:
ReactProgressGuard新增读目标守卫(同一file_read/file_search/web_fetch/web_search/http_request目标第 6 次提示、第 7 次起拦截,默认上限 8);MAX_ITERATION_EXTENSIONS2→1(最坏 100 步),续步推送react_iterations_extended。 - ✨ 输入框问题优化:输入卡片新增「✨ 优化」按钮;
POST /api/prompt/optimize用当前模型改写(30 秒超时、最多 2 并发、不消耗每日任务额度、不落盘用户文本),模型不可用时本地规则 兜底;弹窗预览原问题 / 优化结果 / 改动点 / 待确认信息,确认后替换输入框;清晰问题不硬加模板。 - ✅ 测试与版本:新增
tests/core/test_silent_subprocess.py、tests/server/test_ws_run_reattach.py、tests/planning/test_tool_liveness.py、tests/planning/test_read_target_guard.py、tests/core/test_prompt_optimizer.py、tests/server/test_prompt_optimize_api.py;核心 / 商业扩展包 / Web / 安装器 / 手册统一 1.11.20;前端已重建(✨ 优化按钮与弹窗生效)。
- 🏛 治理审计账本:决策与执行两类记录、18 个固定字段,写入
<数据目录>/governance/ledger-*.jsonl(8MB 轮转、最多 10 个); 按序哈希链 +state.json保证跨文件/跨重启连续,verify_chain()能指出被改动 / 删除 / 插入的断点;params 脱敏截断,写入 fail-open;AUTOMIND_GOVERNANCE_AUDIT=0可关。 - 🚧 分派级治理闸门:
ToolRegistry.set_governor()+ dispatch 前置拦截 —— ReAct/Plan 已人工审批不二次审批;direct/workflow/skill无人值守通道按同一套风险判定处理:有效 DANGEROUS 且审批模式非「全批准」→ 失败关闭并留痕; 裸 Registry 行为零变化。 - 🏛 治理中心:新增 4 个只读接口
GET /api/governance/{summary,audit,verify,export}(管理员守卫、失败关闭); 「🛡️ 安全审计」页新增治理卡片:策略快照 + 账本状态 + 验证审计链 + 导出 JSON。 - 🧪 验收门禁:新增
scripts/acceptance.py(static / fast / full / release 四档;version / lint / tests / pro / web / hygiene 六类门禁;JSON+Markdown 报告与明确退出码); 新增只降不升的AUTOMIND_FORCE_COMMUNITY=1;hygiene 残留清理默认 dry-run、 只删未跟踪白名单临时产物;新增docs/ACCEPTANCE.md与 CI static 门禁作业。 - 🖼 交付图片预览修复:预览接口此前对图片
read_text(errors="replace")后以text/plain下发,二进制被破坏(PNG 头变替换字符);现按扩展名识别并 原始字节直出(正确 Content-Type、25MB 上限先 stat 再读、no-store), 前端弹窗图片分支改用<img>(棋盘格底、加载失败提示);HTML / SVG / 文本行为不变。 - ✅ 测试与版本:新增
tests/core/test_governance.py、tests/tools/test_dispatch_governance.py、tests/server/test_governance_api.py、tests/server/test_preview_image.py、tests/test_acceptance_gate.py、tests/core/test_edition_force_community.py; 核心 / 商业扩展包 / Web / 安装器 / 手册统一 1.11.19;前端已重建(治理卡片 + 图片预览生效)。
- 🛡 评测与终端执行:评测执行器默认
approve_all无人值守审批(--approval-mode可覆盖、报告 notes 标注),修掉标准工具赛道「terminal 被拒 → 模型反复重试」导致的超时与 Token 爆炸; 执行器按任务timeout_seconds硬性收敛(超时返回timed_out),评测不再挂到 237s。 - 🪙 Token 治理 / 中文写入:
file_write成功后从磁盘回读校验(size_bytes/chars/encoding/verified/readback_matches), 写一次即完成,不再需要file_read或终端复核;工具描述显式支持中文文件名 / 内容(UTF-8); 编程提示词增加简单任务纪律(验证一次即收尾)。 - 🧰 多任务与协作:
pwsh新增原生后台通道(background=true→task_id→terminal_backgroundpoll / output / list / kill);subagent_list支持agent_id取单个子智能体完整输出(含截断标注, 记录层保留上限同步 8000→20000);新增团队共享任务工具team_task(list / summary / create / update / claim / comment),接入团队任务看板 SQLite 存储并实时广播到 Web 看板。 - 🧭 评测可靠性(全量复跑追加修复):环境探测改为在任务工作区执行(不再把进程所在仓库误报成项目,
模型不会跑去仓库里翻源码);
tool_called断言对 path 参数做工作区内路径等价。 - ✅ 测试与版本:新增
tests/eval/test_eval_approval.py、tests/tools/test_file_write_verify.py、tests/tools/test_background_pwsh.py、tests/tools/test_subagent_detail.py、tests/tools/test_team_task_tool.py、tests/context/test_env_detector_cwd.py; 核心 / 商业扩展包 / Web / 安装器 / 手册统一 1.11.18;全量pytest3019 条通过; 标准工具评测复跑 7/7 通过(251.0s / 186,243 token;smoke_run_command18,626 tok / 26.0s、smoke_chinese_content56,735 tok / 36.2s, 修复前分别为 436,698 / 237.2s 超时与 180,170)。
- 🧭 路由挂载修复:社区核心的挂载清单漏掉 5 个自带 REST 路由的商业特性(semantic_cache /
model_router / cost_dashboard / rag_pro / kb_enterprise),
attach()从未执行 → 真实路由未注册、 请求只能命中 403 降级路由;现改为从COMMERCIAL_FEATURES派生,启动与热激活都会挂载真实路由 (排在 403 降级路由之前)。PRO 下/api/cache、/api/router与 ENT 下/api/costs、POST /api/kb/kbs实测 200。 - 💬 误报文案:当前版本已够但实现未加载时,提示改为「服务端未挂载 → 重启服务 / 换同版本扩展包」, 不再自相矛盾地说"当前为专业版,请安装 automind-pro";前端在已授权却收到 403 时给同样可操作提示。
- 🗂 工作区会话管理:侧栏 🔍 快速搜索;「💬 会话管理」面板支持范围(当前 / 全部工作区)、 多关键词搜索(标题 / 要点摘要 / 会话 ID,全部命中)、筛选(全部 / 置顶 / 运行中 / 已归档)、 分组(不分组 / 按时间 / 按状态 / 按工作区)、排序(最近活动 / 创建时间 / 标题 / 轮数,置顶始终优先)、 打开 / 重命名 / 置顶 / 归档 / 恢复 / 删除;视图设置刷新后保留。
- ✅ 测试与版本:新增
tests/server/test_pro_feature_routes.py(7)与pro/tests/test_feature_route_attach.py(5),旧清单下可复现 5 处失败;tests/server482 passed;核心 / 商业扩展包 / Web / 安装器 / 手册统一 1.11.17,.ampkg重新出包且doctor12/12 全绿。
toFixed 崩溃并增强旧版 API 数据兼容- 🪙 预算连续性与多模式续跑:六个入口统一任务预算重置;窗口用满自动续窗;协同 / 循环 /
子智能体预算耗尽不再静默失败或伪装完成,而是带已完成进度落检查点、可续跑;子智能体使用独立子预算与
resumable状态。 - ▶ 断点续跑四种模式:计划 / ReAct / 协同 / 循环都能从断点续跑,进程重启后检查点可被发现; 计划只跑剩余目标、ReAct 明确"不要重做"、协同跳过已完成角色、循环从下一轮继续; 修复同毫秒检查点 id 冲突导致的静默覆盖。
- 🔀 工作流自动化强化:步骤级
if/unless、失败降级on_failure: fallback(步骤id)、顶层timeout_seconds整轮硬超时、 每步 / 整轮 Token 统计进入报告与看板;触发器新增 cron 错过补偿(catch_up/max_delay_seconds)与 webhook 重放保护(dedupe_window);新字段全部可选。 - 🛡 执行治理 26 参数真正生效:修复轨迹开关 / 终端超时 / 写冲突策略 / 审批超时与处置 /
Token 预算同步等 7 类"设了不生效";界面逐项标注五种生效时机,接口返回
applied / rejected / effective;新增docs/GOVERNANCE.md。 - 🧭 路由与成本稳定性:旧版
/api/cache缺threshold时toFixed崩溃白屏已修复;三个响应统一 sanitize + 页面 / 区块级错误边界, 403 与错误回包走显式错误面板。 - ✅ 验证与版本:预算续跑组合 51 passed(含四模式 e2e 19 条)、planning+续跑 231 passed、 执行治理 47 passed、工作流 457 passed(新增 57)、路由与成本 Playwright 60 passed; 核心 / 商业扩展包 / Web / 安装器 / 手册统一 1.11.16。
- 💼 商业运营:许可证协议 v3(序列号 / 机器绑定 / 生效起始日,向后兼容 v2);
issue-batch批量发证 + 12 列台账、--days试用、--start生效日、--machine机器绑定、revoke+ 离线 CRL、周期复检 / 宽限期 / 时钟回拨检测、keygen --rotate平滑换钥、doctor扩到 12 项;升级面板显示本机指纹 / 序列号 / 绑定 / 宽限 / 复检 / CRL / 时钟状态与可操作失败原因。 - 🧠 模型选择:输入框旁 🧠 模型选择器(默认 / 手动 / 自动;只列已配置 Key 的模型;断点续跑沿用);
专业版 / 企业版自动路由按复杂度选档,
task_start回执带档位与目标模型;手动失败回执原因、 不静默换模型;社区版 🔒 且服务端不会偷偷启用自动路由。 - 👥 团队协作:在线成员实时感知、5 张统计卡、搜索与过滤、四列看板、优先级 / 截止 / 标签 / 评论 / 活动时间线 / 阻塞状态、认领即开始、实时广播;旧数据零迁移兼容。
- 🧭 路由与成本:整页重做 —— 5 张 KPI 卡 + 30 天 mini 柱状图、SVG 环形缓存命中率、复杂度档位阶梯与预演、 企业版成本仪表盘(金额 / Token / 成本占比 / 口径);三版本锁定态不伪装 0 数据。
- 📚 文档与验证:
docs/COMMERCIAL_ACTIVATION.md新增 §12-20、新增docs/LICENSE_OPERATIONS.md运营 SOP、图文版 Word 手册;商业运营定向 144 passed、 模型选择 19+7、团队协作 31、路由成本 15+19 passed;版本统一 1.11.15。
- 🔐 商业激活闭环:验签公钥已置备(不再占位),Pro 扩展包与主程序同版本发布;
issue_license.py bundle一键生成「扩展包 + 许可证」升级包,拖进界面即完成装包与激活。 - 📝 Markdown 展示:对话区补齐六级标题、嵌套/任务列表、表格对齐、引用、裸链接与代码块; 新增 📄 Markdown 文档预览,交付的 .md 文件可直接以文档排版查看。
- 🤖 IM 机器人排版:飞书 / 钉钉 / 企业微信按各平台语法自动适配(表格降级、代码块保真、 超长安全分片且不切断代码围栏);公众号纯文本降级更可读。
- 🛡 内网离线:新增
AUTOMIND_OFFLINE/AUTOMIND_NETWORK_POLICY总闸、AUTOMIND_EGRESS_ALLOW出网白名单与出网审计;net_check 三态诊断(本地 / 网关 / 公网), 离线模式不再误判网络抖动反复重试。 - 🧰 交付运维:新增离线安装 / 备份 / 回滚 / 验收脚本与
docs/OFFLINE_OPS.md运维手册。
- 🛠 参数与格式容错:参数同义名(file_path→path、cmd→command、limit→max_results…) 自动改名;Python 单引号列表、代码围栏、字符串布尔/数字自动解析。
- 📖 file_read / file_write / file_edit:GBK 文本自动回退;文件不存在给出相近文件名; 传目录提示改用 file_search;dict/list 内容自动序列化;旧/新文本非字符串自动转文本。
- 💻 terminal / pwsh:链式命令里的 Unix 写法自动替换为 cmd 等价写法,或改用 Git Bash / PowerShell 重跑;失败点前有写操作时不重跑,避免副作用;中文输出正确解码。
- 🧩 工作区不混淆:所有工具相对路径统一锚到当前会话隔离副本/项目根; 写后自检与交付清单按真实产物路径回读;file_search 只看本会话副本并隐藏 .automind。
- 🤖 IM 机器人:会话固定
bot-…命名空间,与浏览器会话/工作副本隔离; Web 与飞书/钉钉/企业微信各写各的工作区。 - 🧰 办公依赖:openpyxl / python-docx / python-pptx / pypdf / Pillow / matplotlib / win32com 等逐项验证可用,Excel/Word/PPT/PDF/CSV/图片/图表/OCR/音视频实跑通过。
- 🔍 web_search 三层降级:显式配置(Tavily/Serper/Brave/SearXNG)→ DeepSeek 官方搜索 API (复用「设置 → API Keys」里的 DeepSeek Key,不消耗模型轮次)→ 免密钥 Bing 检索兜底; 三层全失败才报错,并逐条说明原因与修复办法。
- 🧰 全量工具实跑审计:文件/终端/网络/浏览器/截屏/进程/剪贴板/git/数据库/CSV/压缩/
图表/OCR/音视频/Office/PDF/插件/技能均验证可用;顺带修复
file_multi_edit从未注册的问题;邮件/IM/专业版 PDF 水印等需要账号或授权的能力保持明确提示。 - 🩺 依赖自检补强:新增「浏览器 / MCP 扩展」分组(playwright / mcp),
外部程序补查
ffprobe;缺依赖时automind doctor不再显示"全部通过"。
- 📋 待办清单:
todo_write让模型维护一份用户可见的短清单,右栏实时显示、可一键清空; 与「计划树」分工互补(计划按步推进,待办可随时改)。 - ❓ 向用户提问:
ask_user_question带选项/自定义输入提问并等待回答(倒计时,超时不等于同意); 子智能体不能向用户提问。 - 📎 交付声明:
present显式声明最终交付物,对话区渲染成可点开的交付卡片(只记路径、不复制内容)。 - 🪟 原生 PowerShell:
pwsh(仅 Windows)按 PowerShell 语义执行,不再靠 terminal 换壳兜底。 - 🧹 上下文压缩补强:接近窗口 80% 自动压一次(带防抖)、上下文溢出后压缩重试一次;
Web/CLI 新增
/compact手动压缩。 - 🤖 子智能体(专业版):
subagent / subagent_list / subagent_send / subagent_stop, 并发 4、嵌套 1 层、默认只读工具、右栏实时进度;fork/可续跑留待后续版本。 - 🔌 接口:新增
GET/DELETE /api/todo与 WS 动作user_answer/compact, 其余为新增事件,旧客户端无感。
- ⚡ 右栏实时指标:「📊 面板」新增缓存命中率(命中 token ÷ 输入 token)与上下文使用率 (最近一次请求输入 ÷ 短期记忆上限),每次模型调用结束即更新;模型不提供缓存统计时显示「—」, 0% 只表示确实没命中。摘要标签头部同步显示,经典兜底界面也补齐。
- 🧠 缓存采集:覆盖 DeepSeek / GLM(智谱) / OpenAI / Kimi / 通义 / 豆包 / Anthropic / Gemini; 流式回答也带缓存用量,对话模式不再只有本地估算。
- 🚀 命中率提升:对话历史改为分批(格点)裁剪,不再每轮从头丢一条;ReAct 工具目录只追加不改写; 易变记忆移出稳定前缀;ReAct 运行中不再多做一次用不上的付费摘要。
- 📈 接口:
/api/tokens增加缓存与上下文字段(不新增路由),任务历史补记缓存用量;/metrics新增缓存命中率指标。
- 📦 交付链内置:交付清单(记录实际写入的文件与指纹)、产物自检(写完立刻回读磁盘,坏文件当场判失败)、 文件占用重试(Excel/WPS 占用时自动退避重试)、任务通知(本地日志 + 可选 Webhook 推送)四个插件随包分发、默认开启, 老版本升级后自动生效,插件页可停用。
- 🩺 依赖自检:命令行运行
automind doctor一次看清核心 / Web / 办公 / 外部程序 / 插件五类依赖状态,--fix一键补齐缺失的 Python 库;launch.bat 新增自检选项,服务器启动时也会提示缺口。 - 🛠 执行更稳:修复文件被占用时双重重试(最坏执行 12 次)与中间件异常导致的工具重放; 插件中间件顺序改由清单 priority 显式声明,不再取决于插件名的字母序。
- 🧭 点了没反应:根因是部分电脑上页面动画帧停摆,菜单 / 下拉框停在透明状态。现在启动时自动检测, 检测到就关闭界面动画,菜单与下拉框直接显示。
- 🛟 兜底:会话「⋯」、全部下拉框、删除确认在仍看不见时自动换成系统原生下拉 / 确认框; 也可以在「通用设置 → 界面偏好」勾选「兼容控件模式」手动开启。
- 📡 机器人长连接:飞书、钉钉(Stream 模式)、企业微信智能机器人改为本机主动连接平台, 本地电脑 / 云电脑没有公网 IP 也能收发消息,不需要内网穿透;断线自动重连,设置页实时显示连接状态。
- ⚡ 一键升级:把发行方发来的
.ampkg升级包拖进「升级专业版 / 企业版」面板,自动装包并激活; 续期、升级到企业版同样拖一个新包即可。 - 🧠 长任务:步数用完但仍在推进时自动续加;本机断网时等网络恢复后继续,不再让做了一半的任务作废。
- 🛠 工具调用:Windows 上
ls/cat/mkdir -p等命令自动改用 Git Bash 或 PowerShell; 中文报错不再乱码;file_edit 容忍缩进 / 行尾空白差异;文件被占用时自动重试。
- 🤖 机器人:「设置 → 机器人」添加飞书 / 钉钉 / 企业微信 / 微信公众号 / 通用 Webhook 机器人。在聊天里发消息即可下达任务,
执行过程(计划、工具调用、失败)与结果回传到同一个聊天窗口;危险操作在聊天里回复「同意 / 拒绝」审批;
支持
/stop/status/new/mode/apply指令与授权名单;设置页可「测试对话」。 - 📶 网络韧性:安装依赖、克隆代码等遇到网络中断时,先等网络恢复再自动重试(pip / npm 自动改用国内镜像), 不再出现「已连续失败 3 次,停止重试」后整轮任务都用不了 terminal;新增 net_check、wait_for_network 工具。
- ⤵ 应用到项目:隔离副本产物按相对路径覆盖回项目根(同目录同文件覆盖,缺失目录自动创建),覆盖前自动备份、可撤销; 应用前先预览新建 / 覆盖清单;构建产物(dist / build)也能应用回去。
- 🧭 对话摘要:右栏新增「摘要」标签(默认打开),一屏看清当前目标、工作进度、任务规划、对话产物 (改过的文件点击即在代码标签打开、HTML 直接预览)、用到的技能 / 专家 / 工具,并可一键生成「目标 / 已完成 / 结论 / 下一步」要点摘要。
- 📁 目录浏览增强:「通用设置 → 项目目录 → 浏览」新增桌面 / 文档 / 下载 / 主目录 / 当前项目快捷位置与全部盘符, 地址栏可直接输入路径、面包屑跳转、过滤、显示文件、新建文件夹;本机使用时可浏览整块磁盘(系统目录仍禁止)。 「工作区 → 新增工作区」同样可以浏览选择。
- 💬 在线客服工作流:「🔀 工作流 → + 新建」里一键安装「在线客服」样板:投诉转人工(坐席确认)、退款 / 物流 / 发票固定话术秒回、
其余由 Agent 只读知识库作答。branch 条件新增
contains_any(包含列表中任一关键词)。
- 🛠 界面打不开:部分电脑提示"页面脚本未能正常运行,通常是浏览器/内核版本过旧",真实原因是系统把 .js 的类型登记成了 text/plain,浏览器拒绝执行(兼容版界面也一样)。现已在服务端修正;启动页也能自动重新加载被拒的脚本与样式。
- 🧭 菜单保证可见:旧内核浏览器里点「+」「设置」时,自动检测菜单是否真的显示出来,看不见就换成兼容菜单。
排障:地址栏加
?menu=simple强制兼容菜单,?menu=antd恢复。 - 🎨 界面:全新欢迎页(模式卡片、快速开始卡片、未配置模型时的引导)与启动加载页;左侧导航各子页面统一页头与卡片样式。
- 🧭 旧内核浏览器(360 / QQ / 搜狗等的旧 Chromium 内核、较旧的 Edge / Safari / Firefox / WebView2)里, 「设置」与输入框「+」菜单打开后落在屏幕外的问题已修复:启动时自动探测并切换兼容样式,现代浏览器不受影响。
- 会话行「⋯」按钮在旧内核里不可见的问题已修复;补齐旧内核缺少的几个浏览器 API。
- 排障:地址栏加
?compat=legacy强制使用兼容样式,?compat=modern恢复。
- ⌘ / 指令:在行首输入
/(或./)弹出指令面板 —— 操作(/new /clear /plan /schedule /browser…)、 本条模式(/coding…)、提示词(/explain /fix /test /review…)、技能、MCP 连接器、插件与工具、专家,↑↓ 选择、Enter 确认。 - @ 引用:输入
@搜索项目里的文件 / 目录,或选择另一个对话;选中后内容随消息交给模型,消息上的 chip 写明是否生效。 正文里手打的@src/app.py也会被识别。 - 🎨 界面:+ 菜单改为分组的双行条目(图标、说明、快捷键);表格、引用、标题等对话内容排版更清晰。
- 🔧 工具调用成功率:修复 MCP SDK 2.x 下所有 MCP 服务器都连不上的问题;MCP 工具报错不再被当成成功;
增加超时与断线自动重连;导入的 MCP 配置保留 env;模型写
github.create_issue这类简写也能找到工具; 技能名可直接当工具调用,技能输入自动整形。
- 🌐 浏览器实时预览:Agent 每做一步网页操作(打开、点击、输入…),右栏「浏览器」标签实时显示画面、地址与最近操作胶片条,点击放大;有新画面时自动切过去。
- 🎯 浏览器任务成功率:新增
snapshot动作给页面元素编号,按编号点击 / 输入;写"登录"这样的可见文字也能定位; 浏览器崩溃 / 页面被关自动重开,网络抖动自动重试,被遮挡的按钮也能点中;多个会话各用各的浏览器上下文,互不串页;截图不再塞进模型上下文。 - ⭐ 应用内升级:设置 →「升级专业版 / 企业版」(或点左上角版本徽标):拖入扩展包 .whl、粘贴许可证,当场校验、当场生效,不用命令行、不用重启。
- ⏰ 定时任务入口:输入框旁「⏰ 定时」把正在写的内容直接建成定时任务。
- 🧭 界面:左侧「系统」分组默认收起(点击展开);右栏可收起成细栏;窄窗口不再把右栏挤出屏幕;兼容更旧的 Edge / WebView2、Safari 与 Firefox。
- 🪙 长任务不再"到 50 万 token 就中断":单任务 Token 预算用满后先压缩上下文、再自动续开新窗口接着跑
(默认最多再续 10 个窗口,整轮时长同步顺延),续开次数用完才交部分成果;对话区实时显示预算预警 / 续开 / 用尽。
task_token_budget = 0现在表示不设限(此前会缩成 81,920)。 - 🎯 目标交付模式:新建长期目标(目标 + 期望交付物 + 验收标准),挂到输入框后每轮任务都带着目标与最近进度去推进, 结束时把这一轮记进目标;目标面板看推进时间线,模型声明达成时由你确认完成。
- 📋 计划模式:输入框一键进入 / 退出。开启后每条消息先生成计划,弹窗里批准 / 修改步骤后执行 / 放弃,批准前一步都不执行。
- 🔌 / 🧩 引用 MCP 连接器与技能:「+」菜单像挂专家一样勾选;连接器的工具必定下发给模型,
Markdown 技能的指令注入上下文,可执行技能经新工具
skill_invoke调用;消息上的 chip 写明是否生效。
- 🛡 发布审批(企业版):工作流分"草稿 / 待审批 / 已发布";提交后由审批人批准,批准的就是那一版的摘要。 触发器只运行已发布版本 —— 文件改一个字就要重新审批;不能批准自己提交的版本。
- 👥 按工作流权限(企业版):
workflow:view|edit|run|trigger|approve:<文件>接入 RBAC; 内置角色 developer / approver / viewer;没有运行权限调用运行接口返回 403,列表里看不到无权查看的工作流。 - 🙋 多级 / 按角色审批(企业版):
human步骤加approvers: [role:finance, role:manager]与mode: all / any;不是指定审批人的回答不算数,每一级"谁、何时、批没批"都进报告。 - 📄 运行审计导出(企业版):每次运行的输入、发起人、每步状态与输出摘要、审批人与时间,导出 JSON / PDF,与报告逐条对应。
- 🔑 凭据保管(企业版):
{{ secrets.NAME }}只能用在 tool 步骤参数里,值不进报告、日志、运行记录与审计; 可用环境变量注入或静态加密存储。 - 🚦 并发配额与排队(企业版):按团队限制同时运行数,超出自动排队并显示位次,可在排队时停止。
- 📦 模板库 / 🧭 从轨迹生成(专业版):「+ 新建」从模板开始,自定义模板可导入导出;
一次成功的任务可整理成工作流草稿(转义
{{、隐去凭据参数),人审后保存。
- ⏰ 触发器(专业版):工作流顶层
triggers声明定时(cron)或入站 webhook; 界面「🔀 工作流 → ⏰ 触发器」看下次运行时间、启停、立即触发、生成 webhook 令牌(只显示一次、服务端只存摘要)。 定时最小间隔专业版 5 分钟 / 企业版 1 分钟,活跃触发器专业版 30 个;写错 cron、间隔太短、定时漏了必填入参都在校验阶段报错。 - ↻ 失败自动续跑与通知:触发运行没有全绿时按触发器的
retry从断点自动续跑; 按工作流的notify发出站事件 / 群机器人 / 桌面通知,内容含失败步骤与原因。 服务重启时被打断的触发运行按on_restart: resume / notify自动续跑或只通知。 - ⚡ parallel 并行组(专业版):一组互不依赖的步骤同时跑(默认最多 4 个);组里已成功的子步骤续跑时不再执行。
foreach也可以max_concurrency逐项并发,单次最多 1000 项。 - 📊 看板(专业版):按工作流统计成功率、平均 / P95 耗时、Token 与按天趋势;运行记录保留 90 天,并接入观测中心。
- 🔀 branch 条件扩展(全部版本):新增
><>=<=inexists,仍是白名单、不求值;数值比较遇到非数字判失败而不是静默走 else。 修正:then排在else后面时两条路都不走,现在加载期就报错。
- 🔀 工作流视图:侧栏「工作台 → 🔀 工作流」—— 列表(校验状态 / 最近运行)、
在线编辑与实时校验(错误定位到行,点一下跳过去)、按
inputs自动生成入参表单、 试运行预览、运行进度、运行记录与报告下载。不写代码、不开命令行。 - ▶ 异步运行:运行接口立即返回
run_id,进度经 WebSocket 逐步推送; 可随时「⏹ 停止」(当前步骤标"已取消");输入框「+」菜单新增「▶ 运行工作流」,运行卡片出现在当前会话。 - ↻ 断点续跑:每步结束即落盘;失败 / 中止 / 被停止的运行可从断点续跑 —— 已成功的步骤直接沿用结果、一次都不重复执行。文件改过(摘要不同)则拒绝续跑。
- 🤖 agent 步骤:把一个子目标交给 Agent 自主完成,但工具被
allowed_tools圈定、 步数被max_steps圈定、token 被token_budget圈定;越权调用被拒绝并写进报告。 - 🔁 foreach 步骤:对列表逐项执行子步骤(
{{ loop.item }}/{{ loop.index }}), 社区版单次 ≤ 20 项,超限在校验阶段就报错。 - 🙋 审批:
human步骤复用审批弹窗,并标明"来自工作流 X 第 N 步"。 修正:此前经 REST 运行时 human 步骤因回调签名不符永远被判拒绝。 - 📜 记账与通知:每次运行计 1 次任务额度并写入任务历史;失败 / 部分成功发出站事件
workflow.failed/workflow.partial。社区版最多 20 个工作流(超出的仍可查看、校验、试运行)。
- ✍ 输入卡片:文本区在上、工具栏在下,整张卡片共用一个聚焦光圈, 不再是"按钮 + 独立描边文本框"的横排。
- 🧭 当前模式一眼可见:工具栏显示本次发送将使用的模式;在 + 菜单里选了 "本条用…模式"时以虚线标签标出"· 本条"。
- ⌨ 快捷键提示:工具栏右侧常驻 Enter 发送 · Shift+Enter 换行, 执行中切换为"Enter 插入补充";窄屏自动隐藏。
- ✨ 状态更醒目:执行中卡片带渐变描边(此刻输入的是补充而非新任务); 语音聆听中显示红色脉冲标签;没有可发送内容时发送键调暗;发送 / 停止改为矢量图标。
- 断点续跑提示条的按钮不再被挤到第二行。以上均为纯视觉调整,发送、插入、停止、 附件、语音、草稿保存等行为与 1.7.7 完全一致。
- ↻ 真正的断点续跑(Web 端):「继续此任务」此前只是把原任务文本重发一遍, 连续续跑还会把提示前缀越套越长。现在直接从服务端检查点接着跑 —— 计划任务只执行剩余步骤, 编程 / 工作任务带着已真实完成的动作与产物清单继续,不再重做。 会话里有没跑完的任务时,输入框上方会提示「↻ 从断点续跑」。
- 📁 隔离工作区三处补丁:任务结束后以卡片列出副本里新增 / 修改了哪些文件, 一键应用到项目(任务期间你也改过的文件会先询问,均可在「↩️ 文件改动」撤销); 复制前检查项目体积(默认上限 500MB,超过不隔离并说明原因),超过 20MB 的单个大文件不复制; 闲置 72 小时的副本自动清理,删除会话时一并清理,「工作区管理」里可查看占用并手动清理。
- + 输入框加号菜单:📎 附件(图片 / 文本 / 代码文件)、🎤 语音、 本条用某个模式发送、本条挂某个专家,都在输入框旁一步完成;只作用于这一条, 不改默认设置。发送后消息上的 chip 会显示服务端回执:生效 ✓ / 未生效 ✕(附原因)。
- 🔌 "Connection error." 不再让长任务整轮失败:openai SDK 的连接错误
文本恰好是
Connection error.,此前不命中任何重试关键字,一次都不重试。 现在按异常类型/状态码分类:连接断开、中转 5xx、限流都会指数退避重试; 建连超时单独限 15 秒、空闲连接 15 秒过期(避开中转掐断的旧连接); 仍连不上时任务层再等待重连(10s / 30s / 60s,界面实时提示), 实在不行就交出部分交付清单,已完成的步骤不丢。 - 🗂 工作区会话管理:左侧栏新增会话列表 —— 新建 / 切换 / 重命名 / 置顶 / 删除;归档时自动整理要点写入本工作区的长期记忆;新会话第一轮自动带上 "项目记忆",也可以从任一会话「接着聊」延续上下文。各工作区、各用户互相隔离。
- ⚙ 设置面板修复:「执行治理」的数值项此前全部显示为空(接口没返回), 而且每按一个键就保存一次;现在显示真实值、失焦才保存并校验范围;修改会同步到 正在使用的会话。API Keys 面板「保存」空输入会删掉已配置 Key 的问题已修复。
- 🔧 工具调用成功率:参数 JSON 被截断时不再"补齐后照样执行"(会把半截内容
写进文件),而是明确告诉模型拆小重试;
filePath→file_path这类可确定的参数名自动纠正;"600"/"true"等类型自动转换; 缺必需参数时执行前就给出可一次改对的提示。 - 🎨 左侧导航重做:工作区徽标、会话列表、可折叠分组,并支持收起为图标栏。
- ⏱ 长任务不再被 Token 预算掐死:预算此前由
max_tokens × 10派生(仅 81,920),而且跨任务累计、 永不重置 —— 实测一个"读取文件并复述"的普通任务就烧掉 43,459 token, 一个会话大约只能跑两个任务。现在预算按任务重置、与max_tokens解耦(新配置项task_token_budget, 默认 500,000),并且耗尽时优雅收尾:交出部分交付清单,而不是 抛异常让整个任务在半途丢掉全部成果。 - 💾 检查点终于能"续跑"了:此前只在任务跑完后写一次检查点, 而"从检查点恢复"会把计划丢掉、从头重跑。现在按步落盘(15 秒节流、 原子写),恢复时已完成的目标保持完成、只跑剩下的。
- 🛑 点"停止"真的会停:以前取消任务时正在跑的命令不会被杀
(只有超时才杀),而且杀的是
cmd.exe,真正的命令作为孙进程 被留下继续跑。现在取消即杀整棵进程树。 - 🔧 工具调用成功率明显提升:工具名写错(
read_file) 会在权限门控之前被自动纠正;沙箱补上hashlib/zlib/struct等纯计算模块,并在拒绝时 告知能导入什么;系统提示与工具说明写明"路径相对项目根"。 - 🧠 推理模型的空回复不再算"成功":
deepseek-flash这类模型的 reasoning 与正文共用max_tokens,预算被推理吃光后 正文为空、任务却被判为完成。现在会计数、提示并如实收尾。 - 💰 三处计费口径修准:失败任务也上报 token;价格表补上
deepseek-flash(此前落到 fallback,高估 6.48 倍); 额度退还真生效了。
- 🛡 用域名打开本机服务,不再能冒充"我就是本机":所有"仅本机允许"的
判断(改配置 / 加 MCP / 加载插件 / 浏览目录)此前看的是请求来自哪个 IP,
而 DNS 重绑定能让外部网页的请求看起来就来自
127.0.0.1。 现在判定改用请求头里的Host(外部页面伪造不了),并放在鉴权之前、 覆盖整站。正常从http://localhost/http://127.0.0.1访问不受影响;走反代或内网域名的,把域名填进AUTOMIND_TRUSTED_HOSTS(报错文案里会写明怎么填)。 - 🔐 桌面版"检查更新"的校验和这一层此前是空的:升级下载后要做
大小 / SHA256 / 数字签名三重校验,而 SHA256 需要的校验和文件,
发布侧叫
SHA256SUMS.txt、更新侧找SHA256SUMS—— 名字差一个后缀,于是每次都打印"未提供校验和,跳过",且从不报错。 现在发布侧用官方名字、文件里只放校验和行(注释会让sha256sum -c报格式错误),更新侧同时认新旧两个名字, 已发布的老版本也不再失校。 - 🧯 环境里有个命令探不到,不再让整个程序起不来:启动探测要试跑
pip / git / node / docker,此前只处理"命令不存在",没处理"命令不允许启动"
—— Windows 上
PATH里只要有一个目录就会抛权限错误, 一路冒到 Agent 构造,表现是界面白屏、任务全挂。现在如实记作"不可用"。
- 🧮 成本预算这回是真的在管:后台记账写错了一个字段名、异常被吞掉, 于是用量预警与超额拦截从未触发——界面数字照跳,预算看到的却一直是 0, 账单与上下文都没有上限。现在记账收敛到一处,并加了静态检查让这类错误当场暴露。
- 🛡 命令审批不再被"安全前缀"绕过:以前在危险命令前垫一个无害命令
(
echo hi && curl 某网址 | bash)整串就会被判成安全并执行。 现在按连接符拆段分别判断,下载即执行/编码混淆/读系统凭据文件一律要确认; 日常命令不受影响。 - 🔒 密钥与数据文件不能再从网页读走:编辑器端点此前只查"在不在项目目录里",
而平台配置(含全部 API Key)就在那里。现在这类文件与
.env、.ssh、*.pem在网页端一律拒绝;Agent 自己的文件工具 仍可读你项目里的.env。 - 🔑 管理动作与日常操作分了权:改配置/加 MCP/加载插件/触发更新/回执审批/
清空审计只允许本机执行;远程需设置
AUTOMIND_ADMIN_TOKEN并在 「设置 → Agent 集成 → 管理员令牌」填一次。 - 📊 运维能接监控了:新增
/metrics(Prometheus 格式,零新依赖) 与/api/health/ready(真检查数据库/磁盘/目录,坏了返回 503)。 - 🔌 连接器:把
~/.automind/connectors/xxx.py放进去,里面的工具 就会出现在 AI 的可选工具里,不改代码、不重启;坏文件会在「注册状态」里说明原因。 - 📋 评测与重放:
AUTOMIND_REPLAY=1记录每次模型调用的完整输入输出, 可照着重跑比对;python -m automind.eval run smoke跑内置套件并给出 通过率、耗时与成本;没配 Key 时明确报"无法评测"。 - 📣 出站通知与外部审批:任务与审批事件可推到工单/IM(带 HMAC 签名);
审批也能在外部系统里批(
POST /api/approvals/{id},需管理员令牌)。 - 📄 工作流即代码:把流程写成 YAML(工具步骤/模型步骤/人工卡点/条件分支),
可评审、可版本化、可进 CI;
--dry-run只看会做什么。
- 💬 中途插一句话,它接住并纳入这一轮回答:以前 AI 正在回答时输入框是 锁住的 —— 想补一句,第一件要做的事竟然是"先停下"。现在直接在输入框里打, 按 Ctrl+Enter(或点「⤴ 插入补充」)就会并进正在生成的这一段回答里继续写, 你看到的是一段连续的回答,不会重头再来。工作/编程模式同样有效。
- 🧾 生效了没有,说清楚:气泡上显示「补充 · 待本轮读取」→「✓ 已纳入本轮」; 若这一轮在你补充之前就结束,它会明确告诉你这条没纳入 —— 你补的话没生效却 没人说,比直接拒绝更糟。
- 🔧 工具名/参数名写错会自己纠正:
FileRead/read_file会自动对应到正确的工具;参数名写错(pathh)会在执行之前被拦下 并指出正确写法 —— 以前这类写错常被工具默默忽略,跑出一个"看起来成功、其实答非所问" 的结果。 - 🧩 少了什么能力,界面上会说出来:某个工具组没注册成功(例如打包环境缺 playwright)时,以前那些工具会静默消失,你只会觉得"它怎么不会用浏览器"。现在任务 开始前就会提示少了哪一组、以及怎么补。
- 📦 "缺程序"与"缺库"不再搞混:tesseract、ffmpeg 是外部程序,
pip install装不了。现在按你的系统给出真正的安装命令(winget / brew / apt),并说明"这不是 Python 包"。 - 🈶 Windows 下中文日志不再乱码:简体中文 Windows 上日志输出到管道/IDE/
启动器时会用错编码,中文全成乱码(此前要手动设
PYTHONIOENCODING=utf-8)。 现在自动处理,无需任何环境变量;cmd/PowerShell 窗口保持原样。
- ⏱ 每一次工具调用都有等待上限(编程/工作模式):上一版的单步上限只加在 "计划执行"路径上,而编程/工作模式走的是另一条路(ReAct),那条路一个上限都没有 —— 某个工具卡住(等网络/等子进程/等系统锁),任务就停在那里不动。现在超时会中止 这一步、把原因告诉模型让它换做法,任务继续往下走,界面显示 ⏱ 单步超时:terminal。默认 5 分钟,可在「通用设置 → 执行治理」调整。
- 🧵 界面不再因为一个工具而整体僵住:有些工具内部是"同步等待"的调用 (读剪贴板 / PowerShell 弹通知 / ffmpeg 抽帧 / git),等待期间会把整个程序的 事件循环一起占住 —— 其它窗口的任务、审批弹窗、进度条全部冻住,而且任何超时设置 都不会生效。实测一个等 20 秒的工具配 2 秒上限,实际等了 20 秒。现在这些调用 全部挪到后台线程;以后新加的工具若再写成同步阻塞,CI 会直接拦下来。
- ⏳ 可给任务设总时长(默认不限制):新增
max_task_seconds, 到点不再开启新步骤,把已完成的工作连同部分交付清单一起交给你, 而不是硬生生掐断丢掉成果。 - 🐞 顺手修掉一个"悄悄跳过步骤"的问题:计划的只读缓存键少了一个维度, 导致两个不同的步骤只要调同一个工具、同一组参数,第二个会被直接当成"已完成" —— 实测 3 个步骤只真跑了 1 次。现在缓存只作用于同一个步骤内的重复调用。
- 🧠 Agent 不再原地打转(最影响体验的一处):以前只有「同一个工具连续失败 3 次」才熔断。可现实里更常见的是成功但没进展 —— 反复读同一个文件、 反复跑同一条命令,不报错、不提醒,一路烧到第 50 步才停。现在连续出现 完全一样的动作时会先给出具体的纠偏提示(例如「文件内容已经在 上下文里了,改用 offset/limit 读还没看过的部分」),再重复就直接拦下, 拦到一定次数即提前收尾并写明「卡在哪个动作上」。界面会实时显示 🔁 无进展;参数不同的调用一律不拦,不会误伤真进展。
- 💰 同样的内容不再重复付费:只读工具用完全相同的参数再调一次时直接复用 上次结果,不重复执行、也不把同一份内容再塞一遍上下文。写文件、发通知、 跑命令这类有副作用的操作绝不复用。
- 🛡 并行任务不再「一个卡住、全批不动」:并行步骤此前只防「报错」, 防不住「卡住不返回」(等网络、等子进程、等人审批)。现在每个步骤都有执行 上限(默认 900 秒,可在「通用设置 → 执行治理」调整),超时的那一步如实 标成「超时中止」,同批其它步骤的成果照常保留。
- 🙋 审批模式(「询问」)现在真的可用:弹窗发不出去时当场按拒绝处理, 不再让任务挂到超时;关掉页面立即收尾,不白占并发名额;开两个标签页时弹窗 同时出现,在哪个窗口点都生效;顶栏改成「询问」后已经在用的会话也立刻 跟着变;已经结束的审批再点会明确告知「本次点击不再生效」。
- 🔐 商业版授权更严(仅影响专业版/企业版):许可证改为非对称签名,
分发包里不再包含任何签发密钥。新许可证照常配置即可;
旧格式许可证需向发行方换新。用
python -m automind_pro.license status可查看「为什么没激活」。 - 🧪 商业代码首次进入 CI:三千多行企业版代码(付费墙、会话池、 SSO/LDAP、RBAC、模型网关)此前一行都没在 CI 里跑过。现在商业包与 分析服务各有独立测试作业,并额外审计「签发私钥不得随包分发」。
- 🧐 审查系统故障不再显示「审查通过 ✓」:以前模型一挂、网络一抖,闭环 摘要照样打印「审查通过 ✓」—— 那是一个从未发生过的审查结论。现在会明确 写「审查未执行(设施不可用)」,并提示不要据此认为已通过该项检查。
- ✅ 验收系统故障不再白烧修复轮次:以前验收调不动时会连跑最多 2 轮 「自动修复」,最后还告诉你「验收未过 ✗」。现在如实说「本次未做验收」, 不再空烧 token,也不再谎报不通过。
- 📄 验收会真的去查文件:「模型说做了」必须对上「磁盘上真有」—— 文件是否存在、是否为空(0 字节不算交付)、你点名要求包含的内容是否真的在里面。 这几项由系统直接核验,模型无权推翻,「自评通过」糊弄不过去了。
- 🎯 失败原因不再笼统:以前只说「重试 N 次仍失败」,现在是工具报的真实原因。
- 🧾 每一步都留档(执行轨迹):以前重启服务就查不到这次任务做过什么,日志里 只有网页访问记录。现在每次任务的每一步都会写成可下载的 JSONL 证据:调了哪些工具、 参数是什么、成功还是失败、耗时多少。通用设置 → 观测与轨迹里可以直接看占用、 看事件尾部、一键下载(排障时贴进工单即可)。密钥、token 等敏感字段一律脱敏; 轨迹写不进去也绝不会影响任务本身。
- 🗂 两个会话改同一个文件不再静默互相覆盖:以前 A 的回滚会把 B 的成果一起 恢复掉,全程无声。现在同一文件的写入会串行化;要覆盖一个「别的会话刚改过、 你这边没读过」的文件时会明确提示(可选择「冲突即拒绝」)。读取文件时会返回内容 指纹,写入时声明「我只改我读到的那一版」,被人改过就直接失败并回显当前内容。 需要强隔离时还可以打开会话独立工作目录(默认关闭,因为它会改变产物落点)。
- 📋 跑不完也会告诉你做成了什么:以前跑到迭代上限或你点了停止,只留一句 「已达最大迭代步数」,已完成的工作全丢。现在给出部分交付清单:已完成哪些 动作、生成了哪些文件、卡在哪一步、建议下一步怎么做。
- 🛡 一个步骤崩了不再连累其它步骤:并行执行时某个工具偶发异常,以前会导致 同一批里已经跑完的成果一起丢失、整单判失败。现在异常被就地隔离,其余成果照常保留 并如实报告。
- ✂️ 大输出不再撑爆上下文:一次大文件读取或几千行命令输出,以前会被原样塞进 下一轮请求并反复重发。现在会智能截断(保留开头和结尾 —— 报错和结论都在尾部), 并告诉模型「怎么才能拿到完整内容」,而不是原样重试。
- 🔍「越跑越省」看得见:压缩节省了多少、省了多少 token,现在都有账目可查。
- ⏱ 长命令不再「超时即白跑」:默认等待时间从 2 分钟提到 5 分钟且可调;超时 回执会明确告诉你「不要原样重跑、可以加大 timeout」;安装/编译/长测试这类命令可以 放到后台跑,期间继续做别的步骤,稍后再取结果 —— 不会再被超时杀掉。
- 🎫 等审批不再白占名额:审批弹窗挂起期间会释放并发名额,不再把别的任务挡在 门外;超时处置(自动拒绝 / 自动批准)与等待时长都可以在设置里调。
- 顺手修掉的真实缺陷:会话工作副本在某些目录配置下会「把自己拷进自己」, 最终因路径过长而静默降级为共享目录(你以为开了隔离其实没开);后台任务一度 「杀不掉」(进程句柄还没建立就返回了 task_id),以及终止时可能挂住整个服务 —— 两处都已修。
- 🧰 每一步不再重发整本工具说明书:以前 Agent 每走一步,都要把全部 31 个 工具的说明重新发给模型一遍(约 6000~8000 token/步)—— 跑二十步,光"介绍自己有 哪些工具"就烧掉十几万 token,而其中绝大多数跟你的任务毫无关系。现在只发跟当前 任务相关的那批,其余留一份"名字 + 一句话"的目录;模型需要哪个,说一声下一步就 补上。能做的事一件没少,账单直接对半砍。
- 🗜「省钱功能」以前在花冤枉钱:用量到 80% 时系统会调用一次 AI 生成摘要来 "压缩上下文",但压的根本不是真正每轮重发的那份内容 —— 摘要的钱花了,请求一点 没变小。现在改为直接折叠早前的工具执行结果,不额外花一分钱,而且随用量 上涨可以反复压。
- 📚 知识库不再每轮重复注入:围绕同一份文档连问五个问题,以前那几段参考 资料就要重复发送五遍(每轮约 500~900 token)。现在同一段只发一次;换了话题检索 到新内容才会补充,被挤出上下文后会自动补发。你的原话也不会再被改写。
- 📡 又一批「加载失败」不再伪装成「没有数据」:工具面板、专家市场、定时 任务、工作区、右侧观测栏、路由与成本、知识库统计,现在都会分别告诉你 正在加载 / 加载失败(可重试,带原因) / 确实一条都没有。 工具面板加载中不再显示「没有匹配的工具」 —— 上一版最误导的一处。
- ✍️ 保存失败不再一声不吭:以前保存设置、启用插件、添加 MCP、删除文档失败 时,界面什么都不说,你以为改好了其实没有。现在会明确弹出失败原因。清空会话时若 服务端没清掉,也会直说而不是谎报「已清空」。
- 💬 聊到 100 多条不再卡:消息列表默认只渲染最近 40 条(可点「载入更早」 逐批展开,展开时你正看的那条不会跑掉),新消息进来不再牵动整个页面重排。
- ⌨️ 长回答尾部不再一个字一个字往外蹦:流式输出改为只处理新长出来的部分, 不再每 50 毫秒把整篇回答重新排版一遍。
- 📈 长任务的执行过程面板不再卡死:单个面板保留最近 300 条执行轨迹并标明 折叠了多少条;完整过程在「任务历史」与「观测中心」里照常可查。
- ⏳ 审批弹窗有倒计时了:以前审批框可以一直挂着,但后台 5 分钟没等到你点就 按「拒绝」处理、任务悄悄失败了。现在弹窗显示剩余时间(最后 1 分钟变红), 超时会明确告诉你"已按拒绝处理",而不是让你对着一个早已失效的框继续等。
- 📡「加载失败」不再伪装成「没有数据」:以前服务没起来、令牌过期、接口报错, 界面统统显示"暂无数据",你根本没法判断出了什么事。现在会分别告诉你 正在加载 / 加载失败(可重试,带具体原因) / 确实一条都没有。
- ⏳ 首屏不再把"正在加载"画成"空":慢一点的机器上,知识库、任务历史、 统计分析会空好几秒,看着像数据丢了。现在有明确的加载骨架屏。
- 🛡 单个面板出错不再整页白屏:以前任何一处渲染异常都会让整个界面变成一片空白。 现在只有那个面板显示错误提示(可重试、可复制诊断信息),侧边栏与正在跑的任务都还在, 可以直接切到别的页面继续用。
- 🧪 自我纠错补上测试:顺带修好两个真 bug —— 自我纠错的公开接口此前 每次调用都会报错;重试的等待时间会超出设定的上限。
- 🙋 「修改后批准」真的能用了:以前审批只有「批准」「拒绝」两个选择 ——
遇到"命令基本对、就是路径写错了",只能拒绝再让模型重来一轮。现在弹窗里多了
✎ 修改参数:逐项改、标出改过哪几项,Agent 就按你改后的参数执行。
命令行下按
M同理,会一项一项问你(回车表示不改)。 - 🌐 浏览器不用再单独装了:以前网页自动化要另外下载约 150MB 的浏览器, 没装就是一大段英文报错,桌面版用户照着提示也做不了。现在会自动改用你电脑上 已有的 Edge 或 Chrome(Win10/11 自带 Edge),零下载即可用。
- 📈 观测中心的字不再画到框外:中文步骤名比英文宽一倍,原来按字数截断, 22 个汉字远超节点宽度,文字糊到隔壁节点上。现在按实际显示宽度截断, 完整内容鼠标悬停可见。
- 🌓 启动不再闪一下黑屏:用浅色主题时,每次打开都会先闪一下近黑的启动画面 再跳成白色。现在启动画面在第一帧就用对配色,深色浅色都不再闪。
- 📋 计划视图重做:以前只有一列灰字。现在有进度概览(目标总数/已完成/ 进行中/失败),每一步能展开看前置条件与预期结果,带工具标签与状态, 还能看到计划被修订过几次。
- 🤝 开源门面补齐:安全策略、行为准则、Issue/PR 模板,README 补上徽章与界面截图。
- 🧩 内置 4 个插件(随包分发、默认自动加载,插件面板区分「内置 / 自定义」):
cost_tracker(Token/耗时入账 CSV)、pii_guard(敏感信息检测告警)、task_notify(任务完成通知,可选 Webhook)、hello_hooks(示例模板)。 - 🛠 内置 11 个工具:
screenshot_tool、ocr_tool、ppt_tool、git_tool、image_tool、csv_tool、clipboard_tool、chart_tool、audio_tool、video_tool、process_tool。全部可选依赖懒加载,缺库时返回可照抄的安装命令。 - ✨ 内置 6 个技能:
excel_report、web_research、data_insight、doc_batch、article_writer、env_doctor。 - 🔌 内置 7 个 MCP 官方适配(一键添加):GitHub、PostgreSQL、MySQL、Slack、 飞书、钉钉、Playwright 浏览器。MCP 面板新增「官方适配」卡片。
- 🖼 浏览器交互可视化:浏览器/截图工具返回的网页截图直接渲染在对话框的执行流程里。
- 🎨 界面美化:观测中心指标卡片化 + DAG 节点悬停提示;通用设置分组化。
- 🎨 各面板视觉打通:工具、技能、MCP、插件、知识库、专家市场、团队协作、 统计分析、任务历史此前各写各的样式,同一个"卡片"在不同页面里边距圆角字号都不一样。 现在统一成一套语汇(页头 / 卡片 / 徽标 / 统计块 / 空态 / 看板),并且空态会说清楚 为什么是空的、下一步该做什么,而不是只写"暂无数据"。
- 🏷 一眼看出能力从哪来:工具面板给每项标注 内置 / MCP / 插件,可按来源筛选与搜索;技能、插件同样区分 "随软件内置"与"你自己导入的"。工具图标不再被长描述挤出卡片。
- 🇨🇳 工具面板讲中文:工具说明原本是写给模型看的英文提示词,界面上排着 31 段英文没人会读。现在内置能力都配了中文名与一句话说明(原始英文标识符附在后面), 模型那一侧一个字没改。
- 🔢 统计数字不再自相矛盾:重启后统计页会同时显示"累计 Token 0"和 "编程模式 108,203 tk" —— 前者读的是重启即清零的内存计数器。现在两个数字出自 同一份历史记录,对不上都不可能。
- 🖥 命令行启动不再直接崩溃:中文版 Windows 的命令行窗口默认用 GBK 编码,
而界面里的方框线、✅ 这类符号它显示不了 —— 此前不是显示成乱码,而是
程序当场退出并甩出一串英文报错。按说明书敲
python -m automind.server或automind的用户, 第一步就会卡在这里。现在程序会自己把命令行切到能显示中文的模式 (退出时自动还原,不影响你在同一个窗口里跑的其它程序)。 - 🔑 只配了一家的 Key 也能直接用:软件出厂默认用 OpenAI 的模型, 但大多数人只填了 DeepSeek 的 Key,于是一打开就提示"模型连接失败", 却不告诉你要去哪儿改。现在会自动认出你填了哪家的 Key 并直接用它, 同时明确告诉你:"未检测到 OpenAI 的 API Key,已检测到 DeepSeek Key, 将使用 deepseek-chat"。你要是自己在设置里指定过某一家,则不会被擅自改掉, 只会提醒你 Key 还没填。
- 🔀 多个标签页同时跑任务不再互相干扰:此前所有并发任务共用同一份运行状态 —— 一个标签页在"对话"、另一个在"循环编程",模式会互相覆盖, 两边的上下文互相串进对方的对话,Token 统计也会被对方清零,而且没有任何提示。 现在每个会话都有自己独立的运行环境(共用的只是工具、技能这些只读部分, 所以几乎不占额外开销)。
- ⚡ 切换模式/模型不再卡 2~3 秒:此前在界面上点一下模式切换, 程序会把整个引擎重建一遍(重新扫描项目、重建记忆库、重新加载全部工具与技能), 而实际变化的只有一个模型名。现在只替换模型本身,点击即时生效(实测由 1.1 秒降到 1 毫秒以内)。
- 🚀 文件浏览与编辑不再拖慢全局:打开目录选择器、预览文件、 保存编辑器内容时的读写磁盘操作,此前会把服务端的主循环整个占住 —— 连正在逐字输出的对话也会一起卡住。现在这些操作都挪到后台线程。
- 📦
automind命令可用:此前照说明书敲automind会提示"不是内部或外部命令"。现在已随包安装,命令行用法与文档一致。 - 🔌 端口被占用会说清楚,不再让你看着旧版本发懵:如果已经有一个 AutoMind(多半是安装好的桌面版)在跑,新启动的那个其实根本没起来 —— 但屏幕上最后一句仍是"打开浏览器访问 http://127.0.0.1:8765"。你照做, 看到的是那个一直在跑的旧版本,于是以为"更新没生效"。现在启动前会先检查端口, 并直接告诉你:"端口 8765 已被占用,占用者 AutoMind v1.5.0(桌面版安装包); 现在用浏览器打开看到的是它,而不是你刚启动的 v1.5.2",并给出换端口的命令。
- 💬 聊天记录不再悄悄丢失:此前保存失败是完全静默的, 你下次打开发现对话没了也无从查起。现在会自动重试,仍失败则在界面上明确告知 (并提示检查磁盘空间与目录权限);不会因此中断正在进行的任务。
- ⏱ 任务卡住会自己停下:模型服务"连上了却不再回话"时,此前任务会 无限期挂着,界面停在"执行中"永远不动。现在单轮超过 5 分钟自动中止并说明原因; 执行期间每几秒刷新一次状态,显示"正在思考 / 正在生成回答 已 N 秒", 让你分得清"在想"和"挂了"。
- 🪙 Token 数实时更新:此前要等整段回答生成完才跳一次,长回答期间一直显示 0, 看起来像没在计费。现在每次模型调用结束就更新。
- 🛡 用量超预算会真正拦住:预算保护此前一直是空转的(代码建好了却从未被调用)。 现在用到 80% 会提醒并自动压缩上下文,用满则停止调用,不会无声无息地一直花钱。
- ⛔ 坏掉的工具不再反复重试:同一个工具连续失败 3 次即停用, 失败原因在对话区标红显示并附上连续失败次数 —— 此前它会一直重试到步数耗尽, 既慢又看不出发生了什么。任务开始前还会自检模型配置与目录权限。
- 🧭 计划出现循环依赖能自动化解:此前检测到循环却不做处理,任务会直接报错中止。
- 📊 办公四件套: Excel(读写表格、增删行、和 CSV 互转)、 Word(读取内容、生成文档、插入表格)、 PDF(提取文字、合并、拆分、旋转)、 邮件(发送邮件、收取和查看收件箱)。 直接说"把这个表格里的数据汇总成一份 Word 报告"就行。
- 🔧 通用五件套:联网搜索、网页/接口请求、 数据库查询、文件检索(按文件名或内容找)、 压缩解压(zip / tar.gz)。
- 🤝 协同三件套:桌面通知(长任务跑完弹窗提醒)、 日历(ICS 日程文件,Windows 上还能直接写进 Outlook)、 群机器人(钉钉 / 企业微信 / 飞书 / Slack)。
- 📦 按需安装,不臃肿:办公功能依赖的库不会随主程序一起装。
桌面版已内置;用 pip 安装的用户,第一次用到时会提示一行安装命令,
照抄即可(
pip install "automind-agent[office]")。 - 🔐 外发动作一律需要你点确认:发邮件、发群消息属于「发出去就收不回」的操作, 默认每次都要经过审批。另外刻意不提供群发功能(收件人上限 20 人)—— 能被 AI 驱动的无限群发就是垃圾邮件工具,专业版同样不会解锁。 邮箱密码只从环境变量读取,不会出现在任何记录里。
- 🛡 联网与解压的安全防护:网络请求默认禁止访问内网地址 (防止 AI 被网页内容诱导去读取你的内网服务或云端凭据); 解压会校验压缩包内的路径,防止文件被释放到目录之外。
- ⭐ 社区版与专业版的分界:分界线划在具体动作上,不是整个工具 —— 社区版能真正把表格读出来、把报告写出去。 进阶动作(Excel 样式美化、Word 模板套打、PDF 加水印与加密、 企业数据库读写)属专业版。
- 🚨 阻止外部网页通过 WebSocket 操纵本机:上一版收紧了跨站访问,但 WebSocket 走的是另一条路,不受那套规则约束 —— 也就是说,你访问的任何网页 仍可能在后台连上本机 AutoMind,让它执行任务、读写文件。现已改为 默认只接受本机页面的连接,外部来源一律拒绝并记录日志。 命令行与 SDK 调用不受影响;只在本机使用无需任何额外设置。
- ✅ 「询问」模式的最后两个漏口:上一版只补了一处,另外两条执行路径
(编程模式的 ReAct 循环、工作模式的计划执行)仍会在没有审批通道或
审批出错时直接放行 —— 需要你点「批准」的操作被悄悄执行了。现已全部改为
问不到人就不做,并在界面上说明原因。
若你希望无人值守运行,请把审批模式设为「自动」或「全批准」—— 这是明确的授权表达,而不是靠配置疏漏放权。 - 🌐 收紧跨站访问(重要):此前的配置会让你浏览的任何网页都能在后台 调用本机 AutoMind 并读取结果 —— 包括让它执行任务。而本地默认又不开鉴权。 现在默认只信任本机页面;需要其它来源请显式配置。
- 📁 目录浏览限定范围:选择项目目录时不再能浏览整块磁盘,只限
主目录、当前项目与已配置的工作区。实测
C:\下可见目录从 22 个收敛到 1 个。 - 🔑 开放到局域网时自动开启鉴权:以
--host 0.0.0.0启动而又没设访问令牌时, 系统会自动生成一个随机令牌并在启动信息里醒目打印(同时保存下来)。 只在本机使用则完全不受影响,无需任何额外操作。 - 🔒 IDE 接入配置接口:该接口会返回明文访问令牌,现在未设令牌时只允许 本机读取,并禁止被缓存。
- 🔒 代码沙箱重写(最高危):此前 Agent 执行的「Python 代码」能跑出沙箱,
读写你机器上的任意文件、甚至执行任意系统命令。已重写为三层防御:
执行前静态检查、受限运行环境、并放到独立子进程里跑。
另外修复了「超时不生效」——死循环代码此前会把程序卡住无法恢复,现在会被真正终止。
说明:沙箱防的是"AI 写出的代码越权",不等于可以放心执行来路不明的代码; 确有此需要请在容器/虚拟机中部署。 - 💉 修复测试技能的命令注入:运行测试时的文件匹配参数由 AI 填写, 此前会被当成系统命令的一部分执行,构造特殊内容可执行任意命令。现在改为 参数化调用(不经过命令行解释器)并做严格字符校验。
- ✅ 修复「询问」模式可能被静默跳过:审批通道出错时(最常见的是你关掉了页面), 系统此前会默认放行,等于「询问」模式悄悄变成了「全批准」。现在一律按 拒绝处理,并在界面上说明原因。命令行审批里「直接回车」也不再等于同意。
- 📁 收紧目录浏览接口:此前任何人都能通过接口列举本机任意目录。 若你把服务开放到局域网又没设访问令牌,等于把磁盘目录结构公开了。现在 未设令牌时只允许本机访问,并禁止浏览系统敏感目录。本机选择项目目录不受影响。
- 🩹 修复长会话把输入框挤出界面:消息一多,对话面板会被内容撑破容器, 消息区不再滚动、输入框被顶到视口之外彻底看不见。实测 80 条消息时面板高度 被撑到 11821 像素(可用高度仅 648)。已修复:同样 80 条消息下消息区 正常滚动、输入框稳定停在底部。
- 🔍 任务历史可搜索、可翻页:新增关键词搜索(任务内容与产出一起匹配, 命中处高亮)、模式筛选与成功/未完成筛选;列表改为分页(每页 20 条), 不再一次性把全部记录铺出来。另外,此前界面只能看到最近 50 条,而系统实际 保留 200 条 —— 剩下的记录够不着,现在都能搜到了。
- ⏱ 执行进度看得见:输入框上方新增一条轻量进度指示 —— 当前阶段 · 第 X / N 步 · 正在做什么 · 已耗时,右侧「查看详情」可直接跳到 观测中心看完整执行过程。解决"长任务跑着跑着,界面看起来像卡住了"。 对话与编程模式没有预先生成的计划,此时不显示编造的百分比, 改用流动条表示"正在进行、总量未知"。
- ✎ 消息编辑与删除:把鼠标移到任意气泡上,右上角会浮出操作条 —— 复制 / 编辑 / 删除。此前发错问题只能"复制原文 → 手动改 → 重发"。 编辑用内联输入框(Enter 发送、 Esc 取消),重发时会自动移除该条及其之后的消息, 因为问题都改了、基于旧问题的回答留着只会让上下文自相矛盾。删除有二次确认, 且只影响本地会话记录,不会回滚已产生的文件改动。
- 🔌 断线时看得见"正在重连":新增顶部横幅,显示重连倒计时与已尝试 次数,并可点「立即重连」跳过等待;顶栏状态徽标区分「⟳ 重连中」与「○ 未连接」; 重连成功会给出提示。此前断线只有一个不起眼的灰色「未连接」, 用户常常是发消息没反应才发现。
- ⚠ 任务执行中断线不再卡死:连接一断,本次执行的结果就送不回来了, 而界面此前会一直停在"执行中"、输入框永久禁用。现在会落一张失败卡片 (带重跑入口)并解锁界面。
- 🩹 「继续此任务」改名,避免误导:经核对,本软件没有真正的断点续传—— 检查点只在任务成功结束后才写,任务失败时并不会留下检查点。所以按钮改为 「▶ 检查现状后接着做」(重发任务并要求模型先核对已完成的部分)与 「↻ 从头重跑」,并注明:两者都会重新执行一次任务,已写出的文件不会被回滚。
- 🔢 修复升级日志里的退出码记错:可见模式重试安装成功时,安装日志却仍记录 为失败码,排查升级问题时会被带偏。现已修正。
- 🎨 界面精修:气泡改用双层阴影、悬停轻微抬起,头像加内描边,滚动条静止时 隐入,输入区聚焦时整条底栏提亮,数字统一等宽字形;并补上全局键盘焦点环, 纯键盘操作时能看清焦点位置。
- 🛠 修复升级后应用不再启动:桌面版是无控制台的 GUI 进程,升级脚本又以
分离方式启动,此前没有显式指定标准输入输出句柄 —— 脚本里的重定向和管道
全部失效,批处理在装之前就退出了,于是"应用退出、再也没回来"。现已修复,
并给脚本加了三重兜底:静默安装失败自动改用可见模式重试(装在
Program Files需要 UAC 提权)、安装前清理残留实例、 无论成败最后都把应用拉起来。安装日志与执行轨迹留在临时目录便于追查。 - ✍ 输入框草稿自动保存:打到一半切模式、切视图、关窗口,内容不再丢失, 重新打开自动回填(按会话与工作区隔离)。语音听写与模板填入的内容一并保护。
- 🎯 打开即聚焦:进入对话区、切换模式、任务跑完后自动把光标交还输入框, 省掉"先点一下输入框"这步;有弹窗时不抢焦点。
- ⧉ 自己发的提问也能复制:此前复制按钮只挂在 AI 回复上。同时改为复制 Markdown 原文(旧实现取气泡可见文本,会把复制按钮自己的图标一起带走), 并在非 HTTPS 环境下自动回退,局域网访问时复制不再失灵。
- 🚑 任务失败有了恢复入口:失败/中断从"一行红字"改为一张卡片 —— 可展开完整报错、▶ 继续此任务(从中断处续跑,不重做已完成部分)、 ↻ 重新执行、⧉ 复制错误,并针对 Key 失效、限流、超时、网络不通、 上下文超长等常见原因给出下一步建议。任务原文随卡片一起留存, 重启应用后依然能续跑。
- 📖 手册新增本章:更新日志现可在手册内直接查阅。
- 🔤 字号调节:85%~130% 无级调节,Ctrl + = / - / 0 可直接调,"标准"档与升级前像素级一致。
- ✨ 消除切换时的黑屏闪烁:对话面板改为常驻挂载、只切显示,DOM 不再重建, 顺带修复切回对话时滚动位置丢失;新增「减少动效」开关。
- ⌨ 完整快捷键系统:新增 19 项全局快捷键,按 ? 查看; 帮助弹窗内容由注册表直接生成,与实际生效的按键同源。
- 🔔 任务完成桌面通知:仅在窗口不可见时提醒,点通知跳回应用, 完成/失败/中断三种终态都会通知。
- 首个三平台同时发布的版本:Windows(代码签名)/ macOS(通用二进制 DMG)/ Linux。
- 修复 PyPI 元数据死链与许可字段。
- 兼容版界面补齐升级提示与检查更新入口。