From 8072f4a380c9c11d5654a66c998d0bc7ba8c7245 Mon Sep 17 00:00:00 2001 From: butubb <1422726308@qq.com> Date: Thu, 10 Sep 2026 14:03:09 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E8=A1=A5=E5=85=85=E5=8A=A8=E4=BD=9C?= =?UTF-8?q?=E5=BA=93=E6=96=87=E6=A1=A3=E2=80=94=E2=80=94ARCHITECTURE=20?= =?UTF-8?q?=E5=8A=A0=20agent=5Faction=20=E8=A1=A8=E4=B8=8E=E3=80=8CAI=20?= =?UTF-8?q?=E6=8E=A7=E5=88=B6=E5=8F=B0=E8=AE=B0=E5=BF=86=E9=9D=A2=E6=9D=BF?= =?UTF-8?q?=E3=80=8D=E5=B0=8F=E8=8A=82=E3=80=81agent=5Fapi=20=E8=81=8C?= =?UTF-8?q?=E8=B4=A3=E5=90=AB=E5=8A=A8=E4=BD=9C=E5=BA=93=EF=BC=9BDEVELOPME?= =?UTF-8?q?NT=20=E5=B9=82=E7=AD=89=E5=BB=BA=E8=A1=A8=E6=B8=85=E5=8D=95?= =?UTF-8?q?=E5=8A=A0=20agent=5Faction?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/ARCHITECTURE.md | 10 ++++++++-- doc/DEVELOPMENT.md | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/doc/ARCHITECTURE.md b/doc/ARCHITECTURE.md index 5915147..5942a3a 100644 --- a/doc/ARCHITECTURE.md +++ b/doc/ARCHITECTURE.md @@ -252,7 +252,7 @@ APK 上传/解析/批量安装。 | `devices_api.py` | 设备池管理 + 自动发现(扫描/确认/忽略/手动重连/型号采集) | | `apks_api.py` | 应用管理 | | `tailscale_api.py` | Tailscale 管理 | -| `agent_api.py` | AI 控制台:会话 / 运行 / SSE / 停止 / 配置 / 经验库与巡检(读写 `agent_conversation`、`agent_experience`、app_meta `agent_*`) | +| `agent_api.py` | AI 控制台:会话 / 运行 / SSE / 停止 / 配置 / 经验库与巡检 / **动作库**(读写 `agent_conversation`、`agent_experience`、`agent_action`、app_meta `agent_*`) | | `system_api.py` | 系统数据备份导出 / 导入恢复(`/api/system/backup/*`,仅 admin) | | `common.py` | 跨模块共享(合并设备列表/屏幕状态) | | `context.py` | 共享对象注入(mgr/apk_mgr/device_pool) | @@ -334,7 +334,13 @@ tasks/douyin/actions/like.py — @register_action(ACTIONS) LikeAction (原"分组"顶级 Tab 与"维护/STF 服务"子分栏已不存在——分组已移入工具页子分栏,STF 已摘除。) -### 5.4 元素抓取模态框 +### 5.4 AI 控制台的记忆面板 + +AI 控制台(顶级 Tab)右上角两个模态框,管理自进化记忆: +- **🧠 经验库**:任务级经验(`agent_experience`,整任务配方)+ 每日 AI 巡检建议(删除需人工确认)。 +- **🎬 动作库**:动作级经验(`agent_action`)——命名动作(可含 1~N 步)+ 编辑器 schema 步骤 + **元素定位(禁坐标)**;由任务成功后从**成功步骤**自动蒸馏,执行前按名/别名召回注入;面板支持查看/编辑/删除/手动新建(保存经服务端校验,坐标步骤被拒)。 + +### 5.5 元素抓取模态框 独立的第二层模态框(`el-picker-overlay`,z-index 1100),不影响任务编辑窗口: 1. 选择设备 → 2. 加载截图 + 元素树 → 3. 点击元素/边界框 → 4. 回填选择器 diff --git a/doc/DEVELOPMENT.md b/doc/DEVELOPMENT.md index 5895291..0257ab7 100644 --- a/doc/DEVELOPMENT.md +++ b/doc/DEVELOPMENT.md @@ -214,7 +214,7 @@ tasks// - 模型改 `core/models.py`,首次建表用 `create_all()`;SQLAlchemy 模型未写 `__tablename__` 时默认表名 = 小写类名 - **已有数据的老库**:在 `core/models.py` 的 `SCHEMA_MIGRATIONS` 里加迁移(版本号递增 + SQL) - `app_meta`(KV 配置表)由 `core/models.py` 的 `_migrate_schema()` 建表并维护 `schema_version` -- `agent_conversation` / `agent_experience` / `experience_audit` 由 `web/agent_api.py` 顶部的原生 `CREATE TABLE IF NOT EXISTS` 幂等创建(模块内首次用时执行),**不经 `SCHEMA_MIGRATIONS`,无版本管理** +- `agent_conversation` / `agent_experience` / `experience_audit` / `agent_action`(动作经验库)由 `web/agent_api.py` 内的原生 `CREATE TABLE IF NOT EXISTS` 幂等创建(模块内首次用时执行),**不经 `SCHEMA_MIGRATIONS`,无版本管理** ### 5.6 改动必须同步文档