# 自动化执行记忆 · `[执行]-[开源项目调研]-Easel深度分析` > automation id:`4d1a0005-4e4b-4516-9847-48da8b6e1d75` | 目标指纹:`5199a6`(调研 5 个开源内容工作台项目) > 会话名:`[执行]-[开源项目调研]-Easel深度分析` | 会话 id:`a4993b72-040e-49db-beb4-375f5201ff61` > 一次性排期(`once`),**不重复触发**;本文件按轮追加,供后续同目标棒次参考。 ## 2026-10-07 第 3 棒(本轮)· 状态 done - **任务**:目标「调研 5 个开源内容工作台项目并生成分析文档」的第 3 棒 —— Easel 深度分析(`ZJU-REAL/Easel`,Apache-2.0)。 - **产物**(唯一):`执行会话/目标-调研5个开源内容工作台项目并生成分析文档-5199a6/docs/pm/content-workbench/research/1b-竞品分析-Easel.md`(37,520 B / 294 行)。 - **回写**:`目标执行状态.md`(该目标目录内)已插入第 3 棒段并重编章节;验收判据更新为**已 3 份单项目文档**。 - **台账**:`--report a4993b72… --state done --artifact <工作区相对路径>` rc=0,实体已核对(`state=done`/`goal_fp=5199a6`/artifact 可读);域锁已 `--release-exec` 释放。 ### 本轮关键结论(供后续棒次引用,不重复正文) 1. Easel 主体是**技能库**:全仓 1002 blob,`skills/` 771;`skills/openclaw/` = **114 个技能**(114 个 `SKILL.md`,一目录一技能);发布层仅 20/114。 2. **技能数口径以 114 为准**(文件树 114 / 能力地图正文 114 / 地图总览表相加 113 / README 徽章 113 旧值)。 3. 核心机制=**三层加载**(Metadata 常驻/Instructions 触发时/Resources 按需)+ `SKILL.md` ≤200 行硬约束;**94 个技能带溯源的 `EASEL-META.md`**。 4. **治理是源码级的**:`content_guard.py`(敏感信息 fail-closed)/`persona_gate.py`(人设 <80 只告警)/`validate_skills*.py`(技能命令 ↔ argparse 漂移校验)。 5. **发布路线=浏览器自动化且自陈风险**(README「谨慎自动发布到小红书」)⇒ 与 Postiz「官方 OAuth、不自动化」**相反、不可混抄**。 6. 遗留待核 4 条(38 条技能测试口径/114 技能 layer 分布未源码核/`test1.prompt` 约定零使用/`xhs-maas`+`agnes` provider 来源)+ 技能可用率无实测 ⇒ 已写入产物 §十四与状态文档 §七。 ### 复用经验(下棒直接用) - 🔴 **拉 GitHub 正文优先走 `contents` API**(base64 + 重试),`raw.githubusercontent.com` 本机**不稳**(本次多文件 `000`)。 - 🔴 `--report` 的 id = **`$CODEBUDDY_SESSION_ID`**(⛔ 不是 automation id);`--artifact` 一律传**工作区相对路径**(绝对路径会被 `artifact_dir_ok()` 误报越界)。 - 🔴 **第 1 棒的 `取证/api/*` 可只读复用**,⛔ 不要重复下载;本棒只补增量面(`取证/easel/`)。 ### 下一棒(本目标) `OpenCreator 深度分析` —— 先复拉完整文件树(第 1 棒因响应过大中断),再读 `packages/protocol` 与 `docs/specs`。⚠️ 再下一棒的「文到 AI」**开工前须与用户确认**(仓库无业务源码,属功能语义分叉)。