[ { "url": "https://api.github.com/repos/ZJU-REAL/Easel/releases/395285731", "assets_url": "https://api.github.com/repos/ZJU-REAL/Easel/releases/395285731/assets", "upload_url": "https://uploads.github.com/repos/ZJU-REAL/Easel/releases/395285731/assets{?name,label}", "html_url": "https://github.com/ZJU-REAL/Easel/releases/tag/v0.2.1", "id": 395285731, "author": { "login": "lidingm", "id": 112814356, "node_id": "U_kgDOBrlpFA", "avatar_url": "https://avatars.githubusercontent.com/u/112814356?v=4", "gravatar_id": "", "url": "https://api.github.com/users/lidingm", "html_url": "https://github.com/lidingm", "followers_url": "https://api.github.com/users/lidingm/followers", "following_url": "https://api.github.com/users/lidingm/following{/other_user}", "gists_url": "https://api.github.com/users/lidingm/gists{/gist_id}", "starred_url": "https://api.github.com/users/lidingm/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/lidingm/subscriptions", "organizations_url": "https://api.github.com/users/lidingm/orgs", "repos_url": "https://api.github.com/users/lidingm/repos", "events_url": "https://api.github.com/users/lidingm/events{/privacy}", "received_events_url": "https://api.github.com/users/lidingm/received_events", "type": "User", "user_view_type": "public", "site_admin": false }, "node_id": "RE_kwDOUGn4eM4Xj5Tj", "tag_name": "v0.2.1", "target_commitish": "main", "name": "Easel v0.2.1 — 设置面板 · 对话直连网关提速 · 安全加固", "draft": false, "immutable": false, "prerelease": false, "created_at": "2026-09-24T03:12:28Z", "updated_at": "2026-09-24T03:18:26Z", "published_at": "2026-09-24T03:18:26Z", "assets": [], "tarball_url": "https://api.github.com/repos/ZJU-REAL/Easel/tarball/v0.2.1", "zipball_url": "https://api.github.com/repos/ZJU-REAL/Easel/zipball/v0.2.1", "body": "## Easel v0.2.1\n\n页面端设置面板(模型配置 · 环境安装 · 更多设置)· 对话直连常驻网关提速 · 一批安全加固与 Windows 修复。技能数仍为 114。\n\n### Added\n\n- **设置面板统一入口**:工作台新增「设置」,竖向三分区 —— 模型配置 / 环境安装 / 更多设置。六个通道(chat / transcribe / image / video / music / speech)的供应商、模型、Base URL、API Key 现在都能在页面上直接改;可添加自定义供应商、切换主备、跑真实自测(回显真实握手耗时)。保存写入 `.env`;读取只回掩码 key,输入框留空=不改该 key。\n- **运行期环境安装引擎** `install_tool.py` + 面板内「环境安装」页:对本地引擎做真实体检,后台执行安装、进度回写状态。\n- **B 站投稿读回对账**:投稿后直连 member 稿件接口读回,对上才算成功。\n- **`vendor/VENDOR.md`**:记清内置 `video-pipeline-sdk` 的来源、版本、本地改动与同步方式。\n\n### Improved\n\n- **对话每轮省掉约 3s**:Web 对话改走常驻网关的 OpenAI 兼容 HTTP 端点,不再每轮 spawn 一个 `openclaw agent` 瘦客户端(Linux 实测整轮 7.6s → 4.5s)。选路按会话钉死、中途不换边,不会静默丢掉对话历史。设 `EASEL_CHAT_TRANSPORT=cli` 可整机回到老路径。\n- `/api/outputs` 移入线程池,全量产物树扫描不再阻塞事件循环。\n- CI 从 `pytest tests/` 改为 `pytest`,技能自带的 38 个用例(`skills/**/tests/`)终于真的在 CI 上跑了。\n\n### Fixed\n\n- 修复 Windows PowerShell 5.1 上 `setup.ps1` 在配置写入阶段直接失败(#41)。\n- 修复 workspace 各写各的:`sync.sh` / `setup.ps1` / `doctor` / 视频产线原本各自硬编码了不同路径,在另一种 OpenClaw 布局下会写到 agent 根本不读的目录,却照样报成功。四处统一改为向 OpenClaw 自己问运行时 `workspaceDir`(#19)。\n- 修复 `.env.example` 里的占位符 key 让 `setup.sh` 整条 OpenAI 兼容分支被静默跳过 —— 写出没有 provider 的配置,而 `doctor` 全绿。`doctor` 新增校验:主模型指向的 provider 必须真的配了认证。\n- 修复内容库 HTML 预览:预览抽屉里自带的「复制到公众号」按钮可用了;预览总是渲染最新版本,不再命中启发式缓存的旧版。\n- 修复粘贴到公众号后图片裂开:预览引用的本地图内联为 base64 data-URI,图片字节随剪贴板走,不再要求公众号回源抓 Easel 本地地址。\n- 修复 `install_tool.py` 在非 UTF-8 locale 的 Windows 上崩溃 —— 它会让安装接口的 id 白名单为空,「环境安装」页装什么都报无效 id。\n- 修复国内平台发布链统一直连兜底(Chromium 级 `--no-proxy-server`),开 VPN 也能用。\n- 修复 `scripts/gateway.ps1` 缺 UTF-8 BOM(全仓唯一一个含中文却没 BOM 的 `.ps1`,PS 5.1 会按系统 ANSI 代码页解析)。\n\n### Security\n\n- 加固设置与安装接口:安装 id 白名单改为从引擎自己的配方表推导,设置写入在服务端校验。\n- **堵死 `.env` 值的命令替换注入**:旧守卫只拦换行,而 `setup.sh` 会 `source .env`,`KEY=$(id)` 这类不含换行的值照样走到 bash 的命令替换。现改为在入口把值的字符集收死。\n- **公众号预览页加 CSP**:预览 iframe 为了复制按钮必须开 `allow-scripts`,而 opaque origin 兜不住 —— Web 接口 CORS 全放开且无鉴权,真浏览器复现下正文里夹带的脚本能调本站接口并读到返回体。`connect-src 'none'` 掐断这条外带通道,复制按钮与图片渲染均不受影响。\n\n**Full Changelog**: https://github.com/ZJU-REAL/Easel/compare/v0.2.0...v0.2.1\n" }, { "url": "https://api.github.com/repos/ZJU-REAL/Easel/releases/390917477", "assets_url": "https://api.github.com/repos/ZJU-REAL/Easel/releases/390917477/assets", "upload_url": "https://uploads.github.com/repos/ZJU-REAL/Easel/releases/390917477/assets{?name,label}", "html_url": "https://github.com/ZJU-REAL/Easel/releases/tag/v0.2.0", "id": 390917477, "author": { "login": "lidingm", "id": 112814356, "node_id": "U_kgDOBrlpFA", "avatar_url": "https://avatars.githubusercontent.com/u/112814356?v=4", "gravatar_id": "", "url": "https://api.github.com/users/lidingm", "html_url": "https://github.com/lidingm", "followers_url": "https://api.github.com/users/lidingm/followers", "following_url": "https://api.github.com/users/lidingm/following{/other_user}", "gists_url": "https://api.github.com/users/lidingm/gists{/gist_id}", "starred_url": "https://api.github.com/users/lidingm/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/lidingm/subscriptions", "organizations_url": "https://api.github.com/users/lidingm/orgs", "repos_url": "https://api.github.com/users/lidingm/repos", "events_url": "https://api.github.com/users/lidingm/events{/privacy}", "received_events_url": "https://api.github.com/users/lidingm/received_events", "type": "User", "user_view_type": "public", "site_admin": false }, "node_id": "RE_kwDOUGn4eM4XTO1l", "tag_name": "v0.2.0", "target_commitish": "main", "name": "Easel v0.2.0 — 视频产线内置 + 三级转录 · 能力菜单 · CoT 流式修复", "draft": false, "immutable": false, "prerelease": false, "created_at": "2026-09-17T17:23:18Z", "updated_at": "2026-09-17T17:24:08Z", "published_at": "2026-09-17T17:24:08Z", "assets": [], "tarball_url": "https://api.github.com/repos/ZJU-REAL/Easel/tarball/v0.2.0", "zipball_url": "https://api.github.com/repos/ZJU-REAL/Easel/zipball/v0.2.0", "body": "## Easel v0.2.0\n\n内置视频产线 + 三级转录 · 「笔」能力菜单 · CoT 思考前端流式修复。技能数 113 → 114。\n\n### Added\n\n- **`video-production` 整片视频产线**:探针 → 转录 → 分场 → 设计表 → 搭建 → 校验 → 抽帧预览 → 渲染 → 交付 的多轮全流程,含两道人工确认门与质量门(五件套 / 响度 / 转场)。上游 `video-pipeline-sdk`(MIT)已内置进仓,产线自包含、可复现、可修改。\n- **三级转录降级**:SRT/VTT 字幕优先 → 硅基流动 ASR API → 本地 whisper 兜底——有字幕或 API key 时不再需要下载 3GB 模型。\n- **「笔」能力菜单**:工作台输入区新增入口,点开浏览 Easel 能做的一切(\"能做的都在这\"),选中即预填提示词。\n- **幻灯片成片渲染器**(ffmpeg):Ken Burns 运镜、差异化转场、libass 动态字幕、极轻 whoosh 音效、loudnorm 响度归一。\n\n### Improved\n\n- 技能库中文展示名(中文大字 + 原名小字,搜索与抽屉同步)。\n- 对话内多选卡(`ask_user` multiSelect 渲染与多值提交)。\n- 超上传上限文件自动转本地素材(复制通道,不改 50MB 配置)。\n- `--thinking` 默认 medium,网关支持时展示推理过程。\n\n### Fixed\n\n- 修复 Web 对话 CoT/token 逐字流式;防呆心跳不再顶真实状态。\n- Gemini 适配器支持 `streamGenerateContent` 流式。\n- Windows UTF-8 持久化(状态读写);关停钩子迁移到 lifespan handler。\n\n**Full Changelog**: https://github.com/ZJU-REAL/Easel/compare/v0.1.1...v0.2.0\n" }, { "url": "https://api.github.com/repos/ZJU-REAL/Easel/releases/388554155", "assets_url": "https://api.github.com/repos/ZJU-REAL/Easel/releases/388554155/assets", "upload_url": "https://uploads.github.com/repos/ZJU-REAL/Easel/releases/388554155/assets{?name,label}", "html_url": "https://github.com/ZJU-REAL/Easel/releases/tag/v0.1.1", "id": 388554155, "author": { "login": "lidingm", "id": 112814356, "node_id": "U_kgDOBrlpFA", "avatar_url": "https://avatars.githubusercontent.com/u/112814356?v=4", "gravatar_id": "", "url": "https://api.github.com/users/lidingm", "html_url": "https://github.com/lidingm", "followers_url": "https://api.github.com/users/lidingm/followers", "following_url": "https://api.github.com/users/lidingm/following{/other_user}", "gists_url": "https://api.github.com/users/lidingm/gists{/gist_id}", "starred_url": "https://api.github.com/users/lidingm/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/lidingm/subscriptions", "organizations_url": "https://api.github.com/users/lidingm/orgs", "repos_url": "https://api.github.com/users/lidingm/repos", "events_url": "https://api.github.com/users/lidingm/events{/privacy}", "received_events_url": "https://api.github.com/users/lidingm/received_events", "type": "User", "user_view_type": "public", "site_admin": false }, "node_id": "RE_kwDOUGn4eM4XKN2r", "tag_name": "v0.1.1", "target_commitish": "main", "name": "Easel v0.1.1", "draft": false, "immutable": false, "prerelease": false, "created_at": "2026-09-14T16:39:56Z", "updated_at": "2026-09-14T16:40:26Z", "published_at": "2026-09-14T16:40:26Z", "assets": [], "tarball_url": "https://api.github.com/repos/ZJU-REAL/Easel/tarball/v0.1.1", "zipball_url": "https://api.github.com/repos/ZJU-REAL/Easel/zipball/v0.1.1", "body": "### Added\n- **WeChat Official Account (公众号)** support: article publishing, Data Center metrics, and account management via a background QR-scan session.\n- Optional vendored typesetting Skill (`gzh-design`, AGPL-3.0) — Skill count is now **113**.\n\n### Improved\n- Workbench **创作数据** panel: Bilibili & Douyin now populate **近 7 日 · 环比** and **最近作品**.\n - Bilibili: creator overview API for play/like/comment/favorite/share/follower deltas + recent uploads (title/link/cover/stats).\n - Douyin: parses real 近 7 日 labels with a section anchor (no more mis-reading the 最新作品 card), handles 较前7日±X deltas, hardened polling, and scrapes recent works.\n\n### Fixed\n- `easel doctor` OpenClaw version detection on Windows (`.cmd` shim).\n- Cross-platform gateway/launcher robustness; Xiaohongshu login navigation races.\n\n**Full Changelog**: https://github.com/ZJU-REAL/Easel/compare/v0.1.0...v0.1.1\n" }, { "url": "https://api.github.com/repos/ZJU-REAL/Easel/releases/379735885", "assets_url": "https://api.github.com/repos/ZJU-REAL/Easel/releases/379735885/assets", "upload_url": "https://uploads.github.com/repos/ZJU-REAL/Easel/releases/379735885/assets{?name,label}", "html_url": "https://github.com/ZJU-REAL/Easel/releases/tag/v0.1.0", "id": 379735885, "author": { "login": "lidingm", "id": 112814356, "node_id": "U_kgDOBrlpFA", "avatar_url": "https://avatars.githubusercontent.com/u/112814356?v=4", "gravatar_id": "", "url": "https://api.github.com/users/lidingm", "html_url": "https://github.com/lidingm", "followers_url": "https://api.github.com/users/lidingm/followers", "following_url": "https://api.github.com/users/lidingm/following{/other_user}", "gists_url": "https://api.github.com/users/lidingm/gists{/gist_id}", "starred_url": "https://api.github.com/users/lidingm/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/lidingm/subscriptions", "organizations_url": "https://api.github.com/users/lidingm/orgs", "repos_url": "https://api.github.com/users/lidingm/repos", "events_url": "https://api.github.com/users/lidingm/events{/privacy}", "received_events_url": "https://api.github.com/users/lidingm/received_events", "type": "User", "user_view_type": "public", "site_admin": false }, "node_id": "RE_kwDOUGn4eM4Wok9N", "tag_name": "v0.1.0", "target_commitish": "main", "name": "Easel v0.1.0", "draft": false, "immutable": false, "prerelease": false, "created_at": "2026-08-31T12:18:17Z", "updated_at": "2026-08-31T12:24:34Z", "published_at": "2026-08-31T12:24:34Z", "assets": [], "tarball_url": "https://api.github.com/repos/ZJU-REAL/Easel/tarball/v0.1.0", "zipball_url": "https://api.github.com/repos/ZJU-REAL/Easel/zipball/v0.1.0", "body": "# Changelog\n\nAll notable changes to Easel are documented in this file.\n\n## [0.1.0] - 2026-08-31\n\nEasel's first public release, jointly developed by REAL Lab and OpenDCAI Lab.\n\n### Highlights\n\n- Added an end-to-end social media operations workflow covering discovery, planning, creation, publishing, and attribution.\n- Added profile-driven account context and persistent operating memory across sessions and platforms.\n- Added 112 executable Skills for research, writing, visual production, audio, video, publishing, and analytics.\n- Added the Web workspace and CLI for running workflows, inspecting outputs, and managing projects locally.\n- Added multimodal production workflows for knowledge cards, stories, lifestyle content, audio, and video.\n- Added publishing workflows for Xiaohongshu, Douyin, Kuaishou, Zhihu, Bilibili, and WeChat Channels.\n- Added output manifests, publishing checks, content calendars, and performance attribution workflows.\n- Added Chinese and English documentation, examples, product showcases, and institutional branding.\n\n[0.1.0]: https://github.com/ZJU-REAL/Easel/releases/tag/v0.1.0\n" } ]