# 开发交接:2026-10-19 2026-10-24 开发主线已迁入新会话,迁入基线为 2.1.0;2026-10-26 工作区已升至 2.2.0,尚未发布,完整增量见[2.2.0 说明](releases/2.2.0.md)。新增工作与待办优先级见[本轮主线计划](plans/2026-10-25-mainline.md);以下保留原始迁入快照,不将其提交号、分叉计数或测试数量视为当前状态。 本文件保留 2026-10-19 从《Artemis开发主线-1017-2》迁入时的开发快照。历史结论已结合代码、发行说明和当时的本地 Git 引用核对;后续开发以[仓库指南](../AGENTS.md)、[设计约定](../DESIGN.md)和实时 Git 状态为准,以下提交号与分叉计数不随后续提交自动更新。 **迁入时插件仓库有本地改动及分叉,不能用该工作目录代表已发布版本。** 后续发布应明确本次范围,保留尚未归并的开发现场。 ## 当前仓库与版本 两个项目是工作区中的独立 Git 仓库:主程序目录 `artemis`,相邻插件目录 `Artemis-Plugins`。后续分别检查各自的分支、改动和验证结果。 | 项目 | 本次核实的基线 | 工作区现场 | | --- | --- | --- | | 主程序 | `main`、本地 `eapil/main`、`v2.0.0` 标签解引用均为 `973ccae` | 已跟踪文件无修改;根目录存在未跟踪的 `.angular/` 缓存,不纳入提交 | | 插件 | 本地 `main` 为 `1eb77e6`,本地 `origin/main` 为 `cf110b7`;本地分支领先 3 个、落后 6 个提交 | 有 OCU 修改、未跟踪的 Cua 适配源码及构建、滚动、基准测试文件,全部保留 | 以上远端分支名称指本地已有的跟踪引用,本次没有联网刷新。后续修改前需重新读取 Git 状态。 主程序 2.0.0 曾重新发布:首次合并提交为 `f4cb55c`,当前应以包含后续修复的 **`973ccae`** 为准。完整说明见 [2.0.0 发行说明](releases/2.0.0.md)。 插件存在三种不同状态,后续必须明确区分: - 本地 `catalog.json` 仍列出 OCU `1.0.0`,本地 Cua 文档仍描述 `0.1.2` 候选。 - 本地 `origin/main` 的市场索引已改为 **Cua `0.36.0+artemis.4`**;OCU 已从市场入口下架,旧安装和历史保留。 - 用户机器实际安装的插件版本需另行查询,不能由仓库版本推定。 ## 已完成的开发主线 | 范围 | 当前能力与约定 | 主要说明 | | --- | --- | --- | | 中文与模型调用 | 简体中文网页;模型传输统一 OpenAI Responses,移除 Gemini 原生分支;支持视觉、工具调用、流式及结构化结果 | [用户入口](../README.md) | | 可保存配置 | 网页保存接口、模型、思考强度、超时重试和功能开关;保留已有配置,密钥查询只返回配置状态 | [配置示例](../.env.example) | | 批量、历史与报告 | Excel 模板、校验与预览、按用例配置、循环与选中执行、暂停恢复;历史搜索分页、人工复验;Word、Excel、ZIP 与证据导出 | [工作区说明](automation-workspace.md) | | 探索 | 持续交流、补充指导、人工示范、预算暂停继续;成功后提炼一个可编辑版本的用例,供 Flash/Pro 复跑或加入批次 | [探索说明](exploration-mode.md) | | 插件与跨端证据 | 安装、授权、启用插件;统一资源调度、步骤来源、截图、录像、文件附件与证据索引 | [插件说明](plugins.md)、[开发规范](plugin-development.md) | | 精选任务 | 收藏任务、探索用例和批次;独立保存模板与执行配置,首页复跑;旧收藏按实际记录补全配置 | [2.0.0 发行说明](releases/2.0.0.md) | | MCP 与 Skill | 轻量连接用户已启动的主程序;覆盖执行、探索、收藏、批次、诊断与导出;启动时同步官方 Skill,并保留客户端工具策略 | [AI 接入](ai-automation.md)、[随仓库分发的 Skill](../skills/artemis-use/SKILL.md) | | 性能与诊断 | 稳定多轮上下文与缓存前缀,减少重复摘要和无关手机截图;请求阶段与实际用量可追踪;复用未变化的终态资料包 | [2.0.0 发行说明](releases/2.0.0.md) | | 安装与升级 | 官方源/国内镜像启动,独立快进升级,保护配置与历史,使用源码打包脚本 | [仓库指南](../AGENTS.md) | 设备动作回放曾在早期实现,随后已按用户要求移除。历史步骤、截图、只读回看与上下文回忆仍保留;不能因文件中出现 `replay` 就把这些能力当作待删代码,也不恢复旧动作回放方案。 ## 最近修复及其原因 - **最终验收与请求预算冲突**:原先整段验收在 180 秒时取消,比单次请求 300 秒还短,使请求重试没有机会发生。现在最终验收有独立总预算,协调模型超时与重试,保留已有工具证据;只重试失败的模型请求,不重复设备业务动作。任务本身的执行时限仍有效。 - **完整结论后才显示通过**:有效结构化结果直接校验,减少重复模型格式转换;取消或截断的流式内容会丢弃。页面与下载诊断区分验收阶段、请求重试耗尽、总预算耗尽和用户中断。 - **电脑示范错误转到安卓执行**:实际示范来源贯穿分析、澄清、规划、执行、验收和用例提炼;规划同时获得可用插件信息。补充网址不等于更换平台,手机成功不能代替电脑验收。 - **窗口示范错误录制双屏**:人工示范遵循窗口/屏幕配置;窗口模式跟随当前前台窗口,只保留一路录像。无有效窗口时保留缺口,不扩大到整个桌面。 - **探索建议与布局**:建议使用用户口吻,点击先填入草稿,发送后才继续;星标只占标题位置,示范来源与按钮等高对齐。 历史上多次出现服务仍从旧工作树加载构建的问题。遇到“源码已改但页面没变”,先核对服务的实际源码目录和构建来源。本次确认当前虚拟环境中的 `artemis` 解析到主仓库;未检查或重启正在运行的服务。 ## 默认设置与持续约束 | 设置 | 新安装默认值或上限 | | --- | --- | | 普通任务模型 / 思考强度 | `gpt-6-luna / high` | | 探索模型 / 思考强度 | `gpt-6.1-sol / high`,单独保存 | | 单次模型请求 | 300 秒;失败后最多重试 5 次,间隔 10 秒 | | 视频分析 / 普通任务录屏 | 默认关闭;人工示范录制独立管理 | | 探索主动执行预算 | 每段 1800 秒;等待回答和人工示范不计入,耗尽后暂停,可继续 | | 人工示范时长 | 默认上限 900 秒,可延长;超时保存并暂停 | | 上下文参照上限 / 默认历史压缩预算 | 300k / 80k token;不是整条任务累计用量限制 | | 高效录像留档 | 默认长边 1280、15 fps;编码与回退遵循现有配置 | 已保存配置优先,不能把这些默认值强制写回用户环境。旧模型已从预设移除,仍可自定义输入;接口不支持指定思考强度时明确报错。 后续实现持续遵守: - 网页、MCP、SDK 复用后台配置、队列、历史与报告服务;不另建业务调度器或第二套状态存储。MCP 连接用户启动的主程序。 - 创建批次与执行分开,提交保持 `request_id` 幂等;同设备和共享桌面资源按现有锁串行,任务固定插件版本。 - 模型请求重试不变成业务用例重提;结果未知的写操作先核对,不盲目重发。 - 执行结束、工具成功、独立业务验证、AI 最终裁定分别记录。缺少电脑证据、报告或关键检查项时不能直接判通过,也不改写旧任务结论来代替复测。 - 示范和截图保留实际来源;控件、截图编号、窗口几何或 DPI 变化后重新观察。录屏质量设置不降低模型定位截图质量。 - 只读最终验收前停止普通录屏;无录像时段明确保留缺口,历史丢失的画面不能补造。 - 业务环境恢复由任务提示词提出;不新增默认业务回滚系统。连接关闭、录制收尾、进程回收和资源锁释放仍由运行时负责。 - 密钥不进入 MCP 参数、查询结果、日志或报告。保护用户配置、历史与运行现场;新代码不包含个人设备号、绝对目录或凭据。 - 变更配置默认值时同步开发和打包配置;变更 MCP 工具时同步注册、安装白名单、测试、Skill 和能力文档。 缓存命中率按 API 实际用量加权统计,不能承诺固定命中率或把缓存输入当作消失的 token。历史公告中的“约 81%”是条件计算:假设输入命中率 90%、缓存输入单价为普通输入的 10%,输入费用可下降约 81%;不是总 token 或总账单的固定降幅。Cua 小样本中的约 26.1% token 差异也不能外推为普遍收益。 ## 协同开发入口 | 修改目标 | 主仓库入口 | | --- | --- | | 模型传输、超时、重试与请求诊断 | `artemis/llm/`、`artemis/services/llm.py`、`apps/admin_console/services/request_diagnostics.py` | | 默认值与配置保存 | `artemis/config/`、`config/artemis.jsonc`、`artemis/resources/config/artemis.jsonc`、`apps/admin_console/services/model_settings_service.py` | | 探索、示范与用例提炼 | `artemis/exploration/`、`apps/admin_console/services/exploration_service.py` | | 插件运行、截图、录像与附件 | `artemis/plugins/`、`apps/admin_console/routers/plugins.py` | | 队列、批次、收藏、报告 | `apps/admin_console/services/`,优先复用现有服务 | | 网页 | `apps/showcase_ui/`,先读[局部指南](../apps/showcase_ui/AGENTS.md) | | MCP、远程 SDK、AI 使用规则 | `mcp_server/`、`packages/artemis-client/`、`skills/artemis-use/` | | 插件适配包与市场 | 插件仓库的 `plugins/`、`scripts/`、`tests/`、`catalog.json`;先明确比较的是本地现场还是发布引用 | 下一次修改插件前,先比较分叉提交及全部本地改动,再按具体任务选择保留、迁移和合并范围。可在插件目录只读查看: ```powershell rtk proxy git status --short --branch rtk proxy git log --left-right --oneline main...origin/main rtk proxy git diff --stat rtk proxy git show origin/main:plugins/cua-driver/RELEASE.md ``` ## 验证基线与仍需实测的范围 以下是**原开发记录及重新发行说明保存的结果,本次没有重跑**:后端默认测试 2943 项通过、2 项跳过、8 项按标记排除;前端 290 项通过,生产构建、Ruff 两项、质量基线与核心类型检查通过。最近的示范来源和录制范围修复未调用付费模型完整复跑业务任务。 后续不能据此宣称以下范围已全部验证: - 用户原先失败的完整手机/电脑业务流程,以及最近修复后的真实示范、恢复、执行与验收闭环。 - 多 DPI、多显示器、复杂控制台、跨端长任务、长时间资源开销及并发压力。 - 安卓与电脑同时示范的完整组合、真实 15 分钟示范上限,以及外部 Agent 经安装后的 MCP 完整操作链。 - 网关缓存路由、辅助摘要调用的缓存收益和稳定费用降幅,需同任务实测及请求级记录支持。 Cua 仍为 Windows x64 预览。前台操作会占用用户桌面;PNG 保存成功不等于有效观察,少量通过任务也不证明所有浏览器、窗口或业务均可靠。 旧开发工作树和 `artifacts/worktree-archive` 已按用户要求删除,本次确认目录不存在。继续使用当前主目录及相邻插件目录,不重建旧归档作为开发前提。 涉及 Python 行为修改时,在主仓库执行规定检查: ```powershell rtk proxy uv run pytest rtk proxy uv run ruff format --check . rtk proxy uv run ruff check . rtk proxy uv run python scripts/quality_ratchet.py rtk proxy uv run pyright --project pyright-core.json rtk proxy git diff --check ``` 前端修改在 `apps/showcase_ui` 执行,并验证实际布局与关键交互: ```powershell rtk proxy npm test -- --watch=false --browsers=ChromeHeadless rtk proxy npm run build ``` 本机外部命令沿用 RTK 包装;PowerShell cmdlet 和控制流不套 RTK。默认测试不调用设备、私有服务或付费模型。实际应用交互先通过 ARTEMIS 探索,设备沿用用户指定对象。 ## 本次交接的核对依据 | 证据 | 结论 | 后续使用方式 | | --- | --- | --- | | 用户迁入记录、[发行说明](releases/2.0.0.md)、主仓库 Git 日志及标签解引用 | 重发后的 2.0.0 基线为 `973ccae`,早期“未提交/未发布”状态已被后续记录覆盖 | 从当前主目录继续开发,按新需求修改 | | 插件仓库 `git status`、分叉日志及 `git show origin/main:catalog.json` | 本地 OCU/Cua 候选现场与发布的 Cua `.4` 不一致 | 保留现场,先比较再处理分叉,不把旧候选文档当作最新市场状态 | | 当前源码定位、配置默认值、[仓库指南](../AGENTS.md)与[前端指南](../apps/showcase_ui/AGENTS.md) | 架构边界、入口与验证命令可继续沿用 | 新任务先读对应局部规则,按变更范围验证 | `docs/plans/` 是阶段性设计记录,其中“未发布”“待验证”等文字保留各自时点含义;当前发布状态以发行说明、对应版本源码及实际验证记录为准。