Easel outputs目录设计与manifest编排:项目化归档的幕后实现原理
Easel outputs目录设计与manifest编排项目化归档的幕后实现原理【免费下载链接】EaselAn open-source AI agent for social media — discover trends, create content, publish everywhere, and learn what works across Xiaohongshu, Douyin, Zhihu, Bilibili, and more.一个开源的 AI 社交媒体智能体——发现热点趋势、创作内容、一键发布至各大平台并学习分析哪些内容真正有效覆盖小红书、抖音、知乎、哔哩哔哩等平台。项目地址: https://gitcode.com/gh_mirrors/easel3/EaselEasel 是一个开源的 AI 社交媒体智能体发现热点趋势、创作内容、一键发布到小红书、抖音、知乎、B 站等平台。当你连续生产几十个内容项目后产物散落在各处是必然结果。Easel 用一套outputs 目录规约 manifest.easel.json编排契约解决它——每个内容项目归档为一个独立目录层间产物靠薄索引传递归档过程安全、可预览、可断点续跑。为什么 AI 内容智能体需要一套 outputs 目录规约多智能体协作生产内容时最大的工程难题不是怎么生成而是产物放哪、怎么交接。Easel 纵向编排有五个层发现 → 策划 → 制作 → 发布 → 归因早期各 SKILL 各写各的结果就是 SKILL-SPEC.md 里描述的乱象目录结构不统一中间件帧序列、片段、构建脚本和成品混放缺元数据前端无法知道哪个目录是成都文旅卡片、哪个还是草稿上游结论靠对话口传下游要重新推导一遍。Easel 的答案只有一句话一个内容项目 outputs/主题/一个目录。Easel 项目化归档的三条核心规则规则一一个主题一个目录成品与中间件分区outputs/主题/ ├── note.md / final.mp4 / card_1.png 成品用户要发/读的最终文件放项目根 ├── assets/ 中间件frames/ clips/ 构建脚本 原始素材 草稿 └── .easel.json 唯一元数据展示头 层间产物契约隐藏这条规约在 SKILL-SPEC.md 的产物管理一节 有完整定义项目名必须人类可读中文也可以测试产物统一进outputs/_scratch/系统状态登录态、发布日志一律用_前缀目录与内容项目严格隔离。规则二泛化目录名会被路径校验直接拒绝光靠文档约定不够Easel 把规约变成了代码级闸门。output_paths.py 提供validate_output_path()任何新脚本写产物前必须先过校验✅outputs/成都文旅/成品.md—— 放行❌outputs/成品.md—— 禁止散落在 outputs 根目录❌outputs/xhs/...、outputs/test/...、outputs/主题名/...—— 泛化名黑名单GENERIC_PROJECT_NAMES❌outputs/主题/../../outside.md—— 路径穿越直接拒绝⚠️_前缀系统路径 —— 必须显式allow_systemTrue且只能使用已注册的目录_login/_publish/_scratch等。对应测试 test_output_paths.py 逐条锁死了这些行为包括泛化名拒绝的参数化用例。规则三manifest 是薄索引不复制内容manifest 只存两样东西一行summary给编排层路由用和outputs[]文件路径指向真实载荷。跨层要传递的内容分成两类都以文件形式落在项目目录里产物脚本/图/视频/文案写文件后登记路径决策与意图基调、受众、钩子写进brief.md再登记。对话里不传大块内容链路可追溯、可重放。manifest 编排.easel.json 的幕后实现每个项目目录下的 .easel.json 由 manifest.py 确定性读写schema 分两部分① 展示头供前端内容库富展示字段作用兜底title人类可读标题缺省 主题名platform/kind平台 / 产物体裁article、cards、video…决定卡片图标与分组status生命周期draft / ready / published生命周期 chipcover封面文件名缺省 首张成品媒体deliverables最终成品清单前端成品区高亮依据② 层间产物契约steps[]每步记录layerdiscover/plan/produce/publish/attribute、skill、outputs[]、upstream[]、summary以及done/failed状态。四个子命令覆盖了全部读写场景细节见 manifest.py CLI 定义# 上游每步产出后登记失败也登记供断点续跑 python skills/shared/scripts/manifest.py record --topic 成都文旅 \ --layer plan --skill video-script --outputs script.md,brief.md \ --summary 3 幕结构钩子在前 3s # 下游步骤前取上游最近一步作为输入 python skills/shared/scripts/manifest.py latest --topic 成都文旅 --layer plan两个值得注意的工程细节原子写入atomic_write()先写临时文件再os.replacemanifest 永远不会处于半写状态manifest.py断点续跑失败步登记--status failed已done的层产物还躺在outputs/里可直接复用重跑时不用从头再来。manifest 自带selftest子命令一条命令验证 record/latest/meta 全链路。前端内容库如何消费这份 manifestWeb 端的内容库列表由 web/app.py 的 get_output_tree() 生成只展示项目目录跳过_前缀系统目录与根目录散文件按最后修改时间倒序。每个目录再读一次展示头_read_project_meta()封面解析带三级兜底展示头声明的cover→ 首个成品媒体 → 目录内首张图/视频这意味着即使 agent 忘了登记cover前端卡片依然有图可显示——规约有硬校验展示有软兜底。存量收敛与残渣清理安全优先的迁移工具链规约落地后存量目录怎么收敛Easel 提供了两个安全优先的脚本migrate_outputs.py默认 dry-run 只打印计划--apply增量回填.easel.json展示头纯新增字段、不覆盖已有值、不动文件加--reorganize才把公认中间件frames/、构建脚本、同名重复 jpg挪进assets/。脚本绝不删除任何文件。cleanup_outputs.sh删除测试残渣的动作固化为带注释的脚本默认 dry-run每条删除都有理由由人审阅后手动--apply——因为仓库安全策略会拦截 AI 直接rmoutputs/。日常产物管理则交给 asset-manager 技能scan/search/archive/tag/report 五个操作全部固化为脚本归档同样 dry-run 先行、冲突绝不覆盖、幂等可重跑。小结Easel 的 outputs 目录设计与 manifest 编排本质上是把多智能体产物管理拆成了四层防线目录规约一主题一目录成品/中间件/元数据三区分离路径闸门validate_output_path()让违规路径在代码层就被拒绝manifest 契约薄索引 原子写入 失败登记链路可追溯、可断点续跑收敛工具链迁移 dry-run 先行、清理脚本人工审阅安全优先。这套设计对任何做多智能体内容生产的团队都有参考价值——先把产物放哪变成确定性契约智能体才能真正被放心地串成流水线。【免费下载链接】EaselAn open-source AI agent for social media — discover trends, create content, publish everywhere, and learn what works across Xiaohongshu, Douyin, Zhihu, Bilibili, and more.一个开源的 AI 社交媒体智能体——发现热点趋势、创作内容、一键发布至各大平台并学习分析哪些内容真正有效覆盖小红书、抖音、知乎、哔哩哔哩等平台。项目地址: https://gitcode.com/gh_mirrors/easel3/Easel创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

正向代理与Nginx反向代理

正向代理与Nginx反向代理

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl一、引言 在 Java Web 开发中,Nginx 经常被描述为“反向代理服务器”。要理解反向代理,首先需要理解什么是代理,以及正向代理与反向代理的区…

2026/10/3 7:31:08 阅读更多 →
AI大模型训练集群液冷散热与能效优化 ——基于GPU功耗动态负载的浸没式液冷热管理建模与PUE优化

AI大模型训练集群液冷散热与能效优化 ——基于GPU功耗动态负载的浸没式液冷热管理建模与PUE优化

一、问题背景 随着大语言模型(LLM)参数规模从百亿迈向万亿,AI训练对算力的需求呈指数增长。一座大型AI训练数据中心的IT设备功率可达数十甚至上百兆瓦,单机柜功率密度从传统数据中心的 6~10 kW/柜飙升至 40~130 kW/柜。传统的风冷…

2026/10/4 7:36:40 阅读更多 →
视频动态目标三维重构在化工事故处置复盘与预案优化中的应用

视频动态目标三维重构在化工事故处置复盘与预案优化中的应用

视频动态目标三维重构在化工事故处置复盘与预案优化中的应用一、方案背景化工园区储罐、管廊、装卸站台一旦发生泄漏、火情、爆炸等突发事件,事故复盘是查明诱因、评估处置得失、迭代应急预案的核心环节。传统事故复盘手段多依靠监控录像二维回放、纸质台账、事后现…

2026/10/4 7:38:38 阅读更多 →

最新新闻

把经典蒸馏成可执行技能:知识蒸馏的实践方法论

把经典蒸馏成可执行技能:知识蒸馏的实践方法论

1. 项目概述:当“知识蒸馏”从AI实验室走进书房书桌最近在几个读书社群里,反复看到有人问:“读完《道德经》八遍,还是说不出它到底教人怎么做事”;也常有产品经理、独立开发者、内容创作者私下聊:“道理都懂…

2026/10/4 9:52:40 阅读更多 →
后端业务系统微服务化改造:拆分、治理与DevOps落地实践

后端业务系统微服务化改造:拆分、治理与DevOps落地实践

简介:这份文档面向后端开发工程师、架构师及技术负责人,聚焦单体架构在扩展性、部署效率与故障隔离上的瓶颈,系统梳理微服务化改造的完整思路。内容从背景痛点切入,依次展开技术选型决策、微服务框架与治理模型、整体架构设计、领…

2026/10/4 9:52:40 阅读更多 →
插件加载失败排查:理解entry did not activate与web boot

插件加载失败排查:理解entry did not activate与web boot

不知道你有没有经历过这种场景:新项目刚部署完,终端里飘过一行很不起眼的日志——failed to load plugins web boot: 2 entries did not activate linxin666/dsh-p。注意它是“failed”开头的,但程序居然没崩,页面照常加载&#x…

2026/10/4 9:52:40 阅读更多 →
EAST文本检测算法全解析:原理、训练与OCR落地实践

EAST文本检测算法全解析:原理、训练与OCR落地实践

场景文本检测这块,我前前后后折腾了不少算法,从最早基于滑动窗口的CTPN,到后来基于分割的PixelLink、PSENet,再到各种Transformer方案,兜兜转转一圈,发现EAST(Efficient and Accurate Scene Text Detector)…

2026/10/4 9:52:40 阅读更多 →
GPT-Image 2.5 假期朋友圈12种玩法:从氛围底图到互动配图

GPT-Image 2.5 假期朋友圈12种玩法:从氛围底图到互动配图

假期朋友圈的图,拼的从来不是设备,是脑子。我见过太多人背着全画幅出门,回来发的九宫格还不如别人手机随手一拍的点赞多。问题不在器材,在于大多数人把"发朋友圈"当成"交作业"——拍完、选一张、加个滤镜、发…

2026/10/4 9:52:40 阅读更多 →
安卓开发中 Cursor Adapter 的适配与优化:TaoToken 统一 Key 接入实践

安卓开发中 Cursor Adapter 的适配与优化:TaoToken 统一 Key 接入实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 9:51:39 阅读更多 →

日新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 10:36:31 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 9:43:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/3 9:42:36 阅读更多 →